Explainer

What is a Bitcoin compact block?

Compact block relay lets nodes reuse transactions they already have instead of downloading them again. Missing transactions still need fetching and validation.

3 min readGlossary
What is a Bitcoin compact block?

The short answer

Two Bitcoin nodes, computers that check Bitcoin's rules, often already hold many of the same transactions. Sending those transactions again when a block arrives repeats traffic.

A compact block is a message that avoids much of that repetition. It carries a block's header (its summary data), short transaction identifiers and some complete transactions. The receiver uses these clues to rebuild the ordinary full block. BIP 152 specifies this relay method. It does not make the block itself smaller.

How it works

A node keeps unconfirmed transactions in its mempool, a local waiting room before confirmation. Mempools differ between nodes; there is no shared master copy.

The sender replaces most transaction data with short identifiers, each six bytes long under BIP 152. The receiver calculates matching identifiers for transactions it already has, then places the matching transactions in the announced order.

In Bitcoin Core 31.1, checked on 19 October 2026, the sender includes the coinbase transaction in full. This transaction claims the block's mining reward. Other transactions are represented by short identifiers derived from their witness transaction IDs. These also cover witness data, such as signatures and other evidence used to authorize spending. The released implementation shows both choices.

If a transaction is missing, the receiver requests it. Once reconstruction succeeds, normal block validation still applies. A small relay message is not permission to trust the sender.

A paper example

No wallet, node installation or funds are needed for this exercise.

  1. Imagine a block containing a coinbase transaction followed by transactions A, B and C.
  2. Suppose the receiver already has A and C. Place them in their announced positions.
  3. Mark B as missing. Fetching B completes the ordered list.

The expected result is the same four transactions, not a shortened ledger. This example illustrates reuse, not the real identifier calculation. An offline list-matching fixture checked the example; no Bitcoin Core binary or peer connection was exercised.

What people get wrong

A short identifier is not a permanent transaction ID or proof of validity. Different transactions can produce the same short identifier. Ambiguity can require another request or a full-block fallback. Core's reconstruction code explicitly handles collisions.

Compact blocks are also different from compact block filters, which help wallets search for relevant blocks. They solve different problems.

The benefit depends on overlap: the more useful transactions the receiver already has, the less it needs to fetch. A missing transaction is a normal recovery case, not evidence that coins disappeared or that a block is invalid.

Where to go next

The blockchain explainer describes what the reconstructed block commits to. Compact relay changes how that data travels, not what Bitcoin accepts.

Newsletter

Bitcoin, without the noise

What happened in Bitcoin, what it actually changes, and the sources so you can check us. One issue at a time, straight to your inbox.

  • One email per issue, never a drip campaign
  • No tracking pixels and no shared addresses
  • Unsubscribe from any issue in one click

Get the next issue

One email per issue, no tracking pixels, and unsubscribe from any of them. We do not share your address. Privacy policy