Primitives / UTXO Model
Execution Blockchain Primitive

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

  1. Alice has a 10 BTC UTXO
  2. Alice sends 3 BTC to Bob
  3. Transaction creates:
    • 3 BTC UTXO for Bob
    • 7 BTC UTXO for Alice (change)
  4. Original 10 BTC UTXO is now “spent”

vs Account Model

AspectUTXOAccount
StateSet of outputsAccount balances
PrivacyBetter (new addresses)Worse (reused addresses)
ParallelizationEasierHarder
Smart ContractsLimitedNative
ComplexityHigher for devsLower 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

Related Primitives

Chains Using UTXO Model

8 blockchains implement this primitive