The UTXO Model
Bitcoin tracks spendable outputs, not account balances.
The UTXO model explains change outputs, fees, coin selection, privacy leaks, and why Bitcoin scripts attach to outputs.
The Intuition
A wallet is more like a collection of cash bills than a bank balance. To pay someone, your wallet spends one or more whole bills and sends any leftover value back to you as change.
See it concretely
If you owe someone $37 but only have a $50 bill, you hand over the $50 and receive $13 back. Bitcoin transactions work similarly: old outputs are consumed and new outputs are created.
Tempting — but wrong
The precise version
A Bitcoin transaction consumes previous unspent transaction outputs as inputs and creates new outputs. Each output contains a value and a locking condition. A UTXO is an output that has not yet been spent by a valid transaction input. Full nodes maintain the UTXO set and reject attempts to double-spend, overspend, or violate script conditions.
\sum inputs = \sum outputs + feeCheck your understanding
Why does a payment often create a change output?
Click to reveal answer
What does a full node track?
Click to reveal answer
- Explain why Bitcoin is not an account-balance ledger.
- Identify inputs, outputs, fees, and change.
- Explain why coin selection affects privacy and fees.
- Define the UTXO set.
Which statement best describes a Bitcoin UTXO?