UTXO Model
Unspent Transaction Output model for tracking blockchain balances
What is UTXO?
UTXO (Unspent Transaction Output) is a transaction model used by Bitcoin and other blockchains. Instead of account balances, the system tracks individual transaction outputs that haven’t been spent.
How It Works
Transaction Structure
Each transaction has:
- Inputs: References to previous UTXOs being spent
- Outputs: New UTXOs created for recipients
- Signatures: Proof of ownership for inputs
Example Flow
- Alice has a 10 BTC UTXO
- Alice sends 3 BTC to Bob
- Transaction creates:
- 3 BTC UTXO for Bob
- 7 BTC UTXO for Alice (change)
- Original 10 BTC UTXO is now “spent”
vs Account Model
| Aspect | UTXO | Account |
|---|---|---|
| State | Set of outputs | Account balances |
| Privacy | Better (new addresses) | Worse (reused addresses) |
| Parallelization | Easier | Harder |
| Smart Contracts | Limited | Native |
| Complexity | Higher for devs | Lower for devs |
Advantages
- Privacy: Easy to use new addresses
- Parallelization: Independent transactions can process concurrently
- Auditability: Clear transaction trail
- Double-Spend Prevention: Simple verification
Disadvantages
- Complexity: Harder to program against
- Smart Contracts: Limited expressiveness
- State Size: Can grow large
Blockchains Using UTXO
- Bitcoin
- Litecoin
- Cardano (Extended UTXO)
- Ergo
- Zcash