- Describe what Unspent Transaction Outputs (UTXO) are. The UTXO is a product of the unspent transaction that you have received from a previous transaction
- What would happen if you don’t have any single UTXO that is large enough to cover for your transaction? You would have to use another transaction in combination with a single one to make up the difference.
- How would a bitcoin wallet specify the transaction fee when creating a transaction? The difference between an input and an output would identify the transaction fee.
- How could you use the notion of transaction inputs and outputs to increase privacy in your transaction? The transaction can use many inputs and outputs with one or more of the output addresses being the actual transaction and the privacy key is never revealed.
1. Describe what Unspent Transaction Outputs (UTXO) are.
a. UTXOs are unspent outputs from a previous transaction made on the blockchain and are associated with a wallet address
2. What would happen if you don’t have any single UTXO that is large enough to cover for your transaction?
a. The wallet checks if there are other UTXOs on the blockchain it can spend and adds them together with the other UTXO to match the required amount for the transaction
3. How would a bitcoin wallet specify the transaction fee when creating a transaction?
a. The TX fee is usually generated automatically, based on historical data read from the blockchain on previous TX fees. Some wallets allow the owner to specify the amount for a TX fee
4. How could you use the notion of transaction inputs and outputs to increase privacy in your transaction?
a. Since both transaction inputs and outputs are pseudonymous, there is no easy way to determine the owner of a wallet or address just by looking at a single transaction. One individual can have many wallets and addresses, sending UTXOs back and forth between them to obfuscate his total amount of UTXOs. The only drawback here is that a transaction always links the addresses - or inputs and outputs - together, allowing a forensic investigation to follow the trail back to the source from where you might have acquired your BTC
Describe what Unspent Transaction Outputs (UTXO) are.
BTC in a wallet that can be sent
What would happen if you don’t have any single UTXO that is large enough to cover for your transaction?
You will not be able to send
How would a bitcoin wallet specify the transaction fee when creating a transaction?
By subtracting the the total output from the input(balance)
How could you use the notion of transaction inputs and outputs to increase privacy in your transaction?
I enable my ledger to use a different address when receiving
Yes. You are correct. You set the fee on satoshi per byte. You want to set a competitive fee in order to get you transaction in the next block.
- the incomming amount of bitcoins, to be used for making a transaction, where the output again will be unspent by the recipient.
- a second (or third etc) UTXO will be used for the transaction
- it won’t. it will specify the output to the accounts and leave a portion open as a fee (the output is less than the input. the fee is the difference between spend and received.
- use a different address for the return amount to your own wallet.
Yes, it is possible to generate several private keys from the same seed and most wallets do it like this. Wallets can have one or more private key. It is considered more safe to use several private keys, in case one of them gets compromised. You technically weren’t wrong. But wallets usually have more than one private key. I just wanted to provide additional information for you.
This is the formula which we use to determine the final fee paid to a miner. The wallet needs to set the amount of satoshi per byte as the fee setting. It decides this by looking at previous transactions, in order to determine the best fee setting that will get you transaction confirmed in a reasonable time.
On this transaction, you can see that we have 3 inputs and 2 outputs. Let’s assume we wanted to send 4.35121801 bitcoin to an address. In this transaction, we can see that the address used 3 inputs in order to make the transaction happen.
There is a possibility that the address can have multiple UTXO’s. When we combined them, the amount must be large enough to make the transaction happen. Otherwise just like you guys said, the transaction would be declined/not constructed/not signed/not confirmed.
You can always combine multiple UTXO’s that will be large enough to do the transaction. You don’t need to spend all the UTXO’s to make a transaction, but rather the whole amount of the UTXO. If we have an UTXO of 1btc and we wanted to send 0.2btc to someone, we would have to send that whole UTXO and give ourselves back 0.8btc.
The wallets must set a fee when constructing a transaction. The wallet will usually check the latest fees or some other metric in order to determine the fee it wants to give to a miner. Fee is specified by satoshi per byte.
Yes. You combine multiple UTXO’s if you can.
I think you accidentally deleted this question. Feel free to answer it again.
Nice observation. The wallet does decide the input and output structure depending on how much you are sending. Pretty good answer Marcus. Keep up the great work.
Yes. All modern wallets are pretty much automated. They figure out the best way to set how many inputs and outputs are needed in order to do the transaction.
Exactly. Most wallets allow you to set a custom fee. Sometimes you might not care if the transaction goes in the next 10 minutes or in the next few hours. You don’t have to compete if you don’t wish to.
Additional Info:
While that’s how we calculate the total fee given to a miner, the wallet actually sets the fee based on satoshi per byte. The wallets needs to say how much satoshi we are willing to pay per byte taken in a block.This is important, since blocks are limited in size.
- What happens if you share your public key? I can assume you own that following address. Is there anything you can do to make me more confused, and make you more private again? Hint: Transaction Outputs
They are incoming transactions to your wallet
A wallet does not need to use a private key in order to see how much your address can spend. The wallet can simply look at the history of a public address and see what UTXO’s it has available. I assume most wallet simply look at the ledger, as there is no reason to add an additional risk of exposing your private key. Let’s take a hardware wallet for an example. Ledger Nano S has the private keys stored on the device itself, however you can always see your balance using the Ledger Live interface.
Edit: Don’t worry too much about this. Its just good to know. Keep up the great work.
Most wallet do send the “change” back to a whole new different address that the wallet just generated for you. Also, you provided a great real life example of how we increase privacy in bitcoin. Well done.
I am bit confused by your answer. Transactions are made out of inputs and outputs. You can use multiple inputs (UTXO’s) in order to create a large enough transaction.