UTXO refers to Unspent Transaction Outputs. It is an accounting method aimed to calculate the total balance in one’s wallet. In other words, your account balance is the sum of your UTXOs.
UTXO refers to Unspent Transaction Output (plural: UTXOs). Funds in the Bitcoin network are tracked in the form of individual UTXOs. Your wallet’s balance is the sum of the UTXO amounts it can spend, however, the total amount you can send from your wallet is lower, since you will need to pay fees on the transaction.
It represents the amount of the Bitcoin that is left over after a transaction has been finalised.
It is not clear to me what you mean with that. Each output on a transaction creates one UTXO and each input on a transaction consumes a UTXO. If you have funds left over, you have to send them back to yourself in the form of a change output (your wallet does this automatically unless you are fiddling with raw transactions). Funds that are not explicitly assigned to an output can be collected as the transaction fee by miners. I.e. transaction fees = Σ(input amounts) – Σ(output amounts).
Operating on inputs and outputs, UTXO allows transactions to happen trustlessly.
The UTXO-model (as opposed to e.g. the account-based model used by Ethereum) makes the transaction outcome immutable. While in an account-based model, you still need to check whether the account still has sufficient balance, directly declaring which exact UTXOs you are spending make it possible for transactions from the wallet to be processed in any order. The UTXO model further allows you to spend funds encumbered with many different output scripts (i.e. different addresses) and pay many different recipients in a single transaction. This allows Bitcoin users to use a new address on every invoice (and in fact, use the address as an invoice identifier), while in the account-based model, you usually can only spend from one account to one other account, which causes extreme address-reuse and undermines financial privacy.
Every transaction has a script - which denotes the conditions that must be met in order for a transaction to be validated - attached to it. Three factors are typically considered, namely privacy, computational efficiency and size.
Every transaction output consists of two fields: amount and output script. The output script denotes the conditions that must be satisfied by the input spending the transaction output for a transaction to be valid.
It is important to note that UTXOs are not divisible. This means that you send your entire UTXO to your recipient and receive your change back in the form of a new UTXO.
You’re right that UTXOs have to be spent in full, but your UTXO is not sent to your recipient. A transaction consumes all UTXOs spent by inputs and creates a complete new set of UTXOs per its outputs. You are right, though, that you need to create a change output to yourself if you have leftover funds after paying your recipient, otherwise the funds fall to the miners (see 2. above).
The more UTXOs you have to send, the larger your transaction becomes and the more costly it consequently becomes to send.
Correct! You are bidding for blockspace with your transaction fees, so the fees correspond to the weight of a transaction and are independent to the amount it transfers. Inputs generally weigh more than outputs and more inputs make for a heavier transaction.
If you wish to carry out a CoinJoin so that your Bitcoin becomes untraceable, you have to move each UTXO you end up with individually - without mixing them - to a new unique address from your cold wallet.
Do you mean that you need to make sure that you don’t combine UTXOs you receive from mixing as that might undermine your prior mixing effort?
transaction fees = Σ(input amounts) – Σ(output amounts)
.account-based model
used by Ethereum) makes the transaction outcome immutable. While in an account-based model, you still need to check whether the account still has sufficient balance, directly declaring which exact UTXOs you are spending make it possible for transactions from the wallet to be processed in any order. The UTXO model further allows you to spend funds encumbered with many different output scripts (i.e. different addresses) and pay many different recipients in a single transaction. This allows Bitcoin users to use a new address on every invoice (and in fact, use the address as an invoice identifier), while in the account-based model, you usually can only spend from one account to one other account, which causes extreme address-reuse and undermines financial privacy.