I vaguely understand the questions you asked. And I like the way you think. I’ve had 40 years of hard miles. It’s refreshing to see that the search for intelligent life has not been in vain. I’ve got a sense that you will do very well if you continue to proceed in the same way. My compliments.
NEED CLARITY: I want to understand better how to bring more privacy to a transaction. Is it by having several outputs that return to you? An example that I can think of is for example:
4 inputs = 8 outputs (UTXO) and have 2 of the 8 UTXO return to me (my private key). Am I understanding well? If there are other ways to bringing more privacy to a transaction - I open to learn. Another thing I think of is have multiple private keys versus the same private key.
Thanks in advance for any replies.
Most modern wallets actually do this behind the scenes, where they send the funds back to a so called change address. Each address actually has its own corresponding private key that are derived from a master key (a fancy name for the root private key). These types of wallets are so called HD (hierarchical deterministic) wallets.
However this is the most basic way to ensure privacy on a blockchain like Bitcoin. There are of course other methods like CoinJoin, where you construct a transaction with the same denominations with multiple people. In that case it is harder to determine who send some bitcoins to whom. Wallets like Samurai wallet and Wasabi utilize these methods.
You can learn more about how these methods work in the Privacy course in the academy.
Thanks for taking the time to share on this topic.
Bitcoin Basics Discussion
I’ll make sure to use this thread when I have questions. Great class.
Than you!
Do you have to generate a private and public key for every transaction?
How would you use a new private key if there are no funds to be spent on it? Of course you can reuse addresses.
I have a question about a private key. What is the difference between a private key and the seed phrase? In the various hot and cold wallets that are provided, can you find/see your private key? If you lose your hot or cold wallet and all you have is the private key, can you use it to retrieve your funds?
Seed phrase basically is a private key that is mapped to words so its easier to remember. Described in bip39
For example if you have a word set:
word | key |
---|---|
cat | 001 |
dog | 010 |
mouse | 100 |
and you have a mnemonic key dog mouse cat
that would mean your private key is 010 100 001
.
Most of these wallets are also so called HD (hierarchical deterministic) wallets (bip32), which means they use a master key (fancy name for the root private key) to derive new private key so you can generate addresses but only have to remember the master key
Here is a nice tool to play with, I wouldn’t recommend using your actual mnemonic:
https://iancoleman.io/bip39/
Thanks alot, Alko! I will definitely check it out!
Question regarding txs with high Inputs
Up until this section everything has been going very smoothly but now I’m a little hung up on this concept. Here’s where my confusion stems. Hopefully I can articulate my thought process well.
Scenario #1: (this is clear to me)
- Wallet A has 2 inputs.
- Wallet A: received 0.5 btc from mom and 0.2 from dad
- These are the only Inputs Wallet A has ever received, thus it’s UTXOs equate to 0.7 btc.
- Wallet A: Sends Wallet B 0.1 btc.
- Wallet A’s tx to Wallet B will have two Outputs. 0.1 btc and 0.6 btc (minus whatever the tx fee is. Which is calculated based on sats/bit) which will be sent back to Wallet A.
The data space required for this tx is small which will result in a low tx fee.
Scenario #2: (this is where I’m confused)
- Wallet C has 11 Inputs. Each Input was 0.1 btc. This leaves wallet C with UTXOs equating to 1.1 btc.
- Wallets C send 0.1 btc to Wallet D.
- In this scenario the Outputs will be much greater than in the first scenario due to the 11 Inputs.
So my questions are as follows…
- How many Outputs will this tx have?
- Will it have 11 Outputs since Wallet C has 11 Inputs?
- If so, the 10 other Outputs should all be going back to the sender. If thats the case, why or how does it show all the other Outputs going to Public Keys which aren’t the same and not the Public Key of Wallet C?
(note: the confusion is not regarding tx fees. I understand the tx fee will be higher in Scenario #2 due to the bit size required of the block.)
I very much appreciate anyone who can facilitate with guidance.
Thank you
In both of your scenarios you don’t need to spend all UTXOs, just as many to cover the tx taking place.
In the first scenario you could only use the UTXO with 0.2 BTC to send 0.1 BTC and get 0.1 back as change (or 0.09 if you count a 0.01 fee).
In the second scenario you also don’t need to use 11 UTXOs, you can use 1 UTXO of 0.1 BTC to send the funds to someone else and leave the rest of UTXOs unspent.
Or in case if you are counting fees, you must spend 2 UTXOs of 0.1 BTC to send 0.1 BTC and send 0.09 back to yourself and leave 0.01 BTC as fee.
In any case you only need to spend as much UTXOs as you require to make the transaction.
Thank you for the help.
I rewatched Ivan’s explanation in “Transactions, UTXOs & Fees” again. I became confused when he said all Inputs must be = to Outputs and his analogy with getting change / having 2 $5 bills. I see how I complicated it.
He was saying, since his Inputs were 0.04 btc and 0.05 btc the Output couldn’t just be 0.07 btc because those two Inputs become UTXOs so they would have to be output as 0.09 btc (0.04 btc and 0.05 btc) and then the remaining balance would be sent back to the wallet, minus the tx fee, as a new Input.
Much simpler than I made it out to be.
Is this correct?
Thank you!
Yes, this is correct
Maybe one of you can help me out by understanding why exactly you should get a wallet (not a SPV) on your computer. If I got it right, there’s no incentive to do so. You store hundreds of GB of data on your computer for really no good reason.
And if so, wouldn’t the Bitcoin network be in danger when nobody runs a full wallet anymore?
Edit: Didn’t watch the whole “Bitcoin basics” category yet, so please don’t blame me if this will be tought later on
There are a bunch of reasons why you would want to run a full node (a node can also run without a wallet). One would be increased privacy, SPV providers could track your transactions and some SPV nodes have an option to select to what node they connect to, so you can have a mobile wallet that connects to your full node at home.
I for example am also running a Lightning node and my own Explorer where I can check address balances. There have been stories in the past that block explorers track what addresses people are searching. Since in most cases they are searching their own addresses, they can make connections to what addresses you potentially own.
These are just a few examples why you would want to run your own full node, there are obviously other reasons to do so.
That’s a very good explanation - Thank you
Questions about Mining
We have Miner A, Miner B, and Miner C.
Every miner is playing by the rules. They are all trying to mine a new block.
If Miner B mines the block first, did Miner A and Miner C waste all this energy for nothing ? It seems like a winner takes all scenario. Can someone help reconcile this for me please ?
Thanks!
Jp at least on Bitcoin when a miner finds a block it collects the all the rewards and the hunt for the next block starts.
I’ve just finished bitcoin basics and got a question regarding the topic.
We have discussed that every 10 minutes a block is created. After this is done, the miner will broadcast it to the nodes so that they can check, verify and save it. So this would mean that the UTXOs that have been used to make a transaction, will also update every 10 minutes. However, when you sent or receive a transaction and use a relatively high gas price, most of the time after 30 seconds the balance of your wallet it already updated. How does this work? because to my knowledge it is very hard for a transaction to be in the blockchain after 30 seconds
Edit: I just realised that I have only been using Ethereum for the past couple of years and that transaction times are different for sending Bitcoin, if that is the awnser to my question I am sorry for asking.