Hello Fabrice, i didn’t understand the question I think. Thanks for your reply
Thank you, got it. Wallet sifts through the smallest utxo’s first. Transaction wouldn’t propagate to begin with if the amount wasn’t covered.
- UTXO’s are transaction outputs sent to the user plus the fees that verify the wallet balance.
- Transaction declined.
- UTXO=InputTX-Fee
- Vary muliple address Inputs and Outputs
Hi Fabrice, thanks for clarifying!
Utxo’s are unspent transaction outputs, meaning every bitcoin that was sent to your addresses. Transactions fees are only used if you use your utxo’s to send a new transaction.
If someone pays you 1btc, you will have an UTXO of 1btc. The sender had to pay slightly more with a transaction fee. But this fee is collected by a miner.
If you don’t have a single utxo to cover the amount, your Wallet will try to combine more smaller utxo’s you own.
For a transaction you use 1 or more utxo’s as input, and in the outputs you can specify wich addresses receives certain amounts.
You need to use more bitcoin in your input than in the outputs. This difference is the fee for the miner who will add this transaction into the blockchain.
Watch this example:
Making a transaction to pay 0.08btc when owning 12 utxo’s of 0.01btc
So the key word was single. At first I understood that if You do not have enough total utxo’s to cover the tx and fees
UTXOs are outputs from previous transactions that the holder of a private key is able to use for future transactions.
In this case, the user’s wallet would check the blockchain for ALL UTXOs associated with this private key and combine however many are necessary to execute the transaction including paying for the fee. If the sum of all UTXOs is lower than the desired transaction, than this transaction will be rejected by the nodes.
The wallet will look at the most recent fees spent in the blockchain and determine a fee for the current transaction that will allow for it to be executed in a reasonable amount of time. Some wallets allow adjustments to the fee by the user, most don’t. It then calculates the input that is necessary to execute the transaction according to I = O + fee.
A transaction can have more than one recipient and it is possible for a user to send parts or all the UTXOs to a private key / private keys that he / she controls.
-
Describe what Unspent Transaction Outputs (UTXO) are.
UTXOs are transactions of Bitcoins received in your wallet but not yet spent. -
What would happen if you don’t have any single UTXO that is large enough to cover for your transaction?
The transaction will not be validated if you don’t have enough Bitcoins in your wallet to cover it. -
How would a bitcoin wallet specify the transaction fee when creating a transaction?
The transaction fee will be calculated by subtracting the outputs from the inputs (fee = inputs less outputs). Most of the time the transaction will be added into the blockchain quicker if you accept to pay a higher fee. -
How could you use the notion of transaction inputs and outputs to increase privacy in your transaction?
Privacy can be increased by multiplying the transactions to different addresses owned by you.
- UTXOs, are essentially the outputs from a transaction that form the inputs of the next transaction.
- Like the two $5 dollar bill example from Ivan, the transaction would combine two or more UTXOs to cover the price, it would also need to be large enough to cover the fee and if there is anything left over this bit of the UTXO would need to be returned or more accurately transacted to the originators wallet.
- The fee will be INPUTS minus UTXOs. (inputs-UTXOs).
- The addresses used are anonymous therefore anyone looking at the transactions cannot know who sent or received the bitcoin (or other)
- UTXOs are all the unspent outputs from the previous transaction. Basically how much bitcoin you can spend
- The transaction wouldn’t be valid
- The transaction fee is proposed by the wallet at what it thinks is the most appropriate speed.
- Probably generate a new address for each transaction.
Using the UTXO, I believe your wallet does that correct?
- Funds I received from someone, but haven’t spent so far.
- It is not possible to make a transaction, because the Input = Output + Fees
- In some wallets you can set it manually, but normally it selects a fee that the transaction gets approved within a reasonable time.
- Use a different receiving address for every transaction.
Homework on Bitcoin Transactions and UTXO - Questions
-
Describe what Unspent Transaction Outputs (UTXO) are.
Ans: You receive some Bitcoin, but haven’t sent it to anyone or yourself so it is therefore unspent. -
What would happen if you don’t have any single UTXO that is large enough to cover for your transaction?
Ans: If that were to happen, then you wouldn’t be able to have a transaction. It would be declined. -
How would a bitcoin wallet specify the transaction fee when creating a transaction?
Ans: Using this formula: Inputs = Outputs + Tx fess. -
How could you use the notion of transaction inputs and outputs to increase privacy in your transaction?
Ans: When you have multiple inputs and then a Transaction is made to several outputs, nobody knows who those outputs are by the design and nature of transacting with BTC on the blockchain.
Answers
-
Unspent Transaction Outputs are the max total amount that an address will be able to spend, so for building new transactions.
-
You can’t build new transaction if the balance on your wallet (the sum of all your UTXO) is less than you want to spend. The network simply refuses this transaction.
-
Tx Fee = Inputs - Outputs
-
I could use many inputs and outputs. In this way tracking transactions on the blockchain is more difficult.