TeachMeBitcoin

Outpoints: TXID + VOUT

From TeachMeBitcoin, the free encyclopedia Reading time: 2 min

Outpoints: TXID + VOUT

Every UTXO in the global set needs a unique identifier so it can be referenced as an input in a future transaction. This identifier is called an Outpoint.

1. The Anatomy of an Outpoint

An outpoint is a pair of two values:

  1. TXID (Transaction ID): The 32-byte hash of the transaction that created the output.

  2. VOUT (Output Index): A 4-byte integer representing which output in that transaction we are referring to (starting at 0).

2. Uniqueness Guaranteed

Because every TXID is a cryptographic hash of unique data (including a unique coinbase), no two transactions will have the same TXID. Therefore, every TXID:VOUT pair is a globally unique primary key.

3. Serialization in Inputs

When you create a transaction, the "Input" section contains the raw outpoint of the coin you are spending.

4. Spending is Deleting

In technical terms, "spending" a bitcoin is actually an instruction to delete an outpoint from the active database.

Component Size Format
TXID 32 Bytes Hex (Internal)
VOUT 4 Bytes Uint32
Total 36 Bytes The Outpoint Key

In the next section, we will discuss the problem of Dust and UTXO Bloat.

☕ Help support TeachMeBitcoin

TeachMeBitcoin is an ad-free, open-source educational repository curated by a passionate team of Bitcoin researchers and educators for public benefit. If you found our articles helpful, please consider supporting our hosting and ongoing content updates with a clean donation:

Ethereum: 0x578417C51783663D8A6A811B3544E1f779D39A85
Bitcoin: bc1q77k9e95rn669kpzyjr8ke9w95zhk7pa5s63qzz
Solana: 4ycT2ayqeMucixj3wS8Ay8Tq9NRDYRPKYbj3UGESyQ4J
Address copied to clipboard!