Skip to main content

UTXO Set | Bitcoin Glossary | Mapping Bitcoin

UTXO Set

Protocolo

Also known as: chainstate

The complete set of all unspent transaction outputs at any given point in time, representing the current state of bitcoin ownership across the entire network. Every full node maintains and validates the UTXO set, which is essential for verifying new transactions.

Overview

The UTXO set (also called the chainstate) is the complete collection of all unspent transaction outputs that exist at a given point in the blockchain. It represents the current state of bitcoin ownership — every spendable bitcoin is accounted for by exactly one UTXO in this set. Every full node maintains its own copy of the UTXO set and updates it with each new block.

Role in Transaction Validation

When a node receives a new transaction, it checks each input against the UTXO set:

New Transaction Input:
  "Spending TXID:abc123, output index 0"
        |
        v
  ┌─────────────────────────────┐
  │        UTXO Set             │
  │                             │
  │  abc123:0 → 0.5 BTC [✓]    │  Found! Valid input.
  │  def456:1 → 0.2 BTC        │
  │  ghi789:0 → 1.0 BTC        │
  │  ...                       │
  │  (millions of entries)      │
  └─────────────────────────────┘

After confirmation:
  - abc123:0 is REMOVED from the set
  - New outputs are ADDED to the set

If the referenced UTXO does not exist in the set, the transaction is invalid (the coins have already been spent or never existed). This is how Bitcoin prevents double-spending without a central authority.

Size and Growth

The UTXO set is stored in memory (or fast storage) for quick access during validation. Its size is a concern for node operators:

  • The UTXO set contained approximately 5-6 GB of data (as of recent years) and continues to grow.
  • Every new output that is not immediately spent adds to the set.
  • Dust UTXOs that are economically unspendable bloat the set permanently.
  • Consolidation (sweep transactions) can reduce the number of UTXOs.

UTXO Set and Consensus

All honest full nodes that have processed the same blocks will arrive at the same UTXO set. This deterministic property is fundamental to Bitcoin's consensus — nodes can independently verify the entire state of the system by replaying transactions from the genesis block forward.

Common Misconceptions

The UTXO set is not the same as the blockchain. The blockchain is the complete historical record of all transactions, while the UTXO set is a derived state representing only the currently spendable outputs. A full node needs the blockchain to build the UTXO set, but once built, the UTXO set alone is sufficient for validating new transactions.