Definition
A compact block is a bandwidth-efficient way of relaying a newly mined block, defined in BIP152 and active in Bitcoin Core since 2016. It exploits the fact that well-connected nodes already hold most of a block's transactions in their mempools, so retransmitting those transactions in full is wasteful. Instead of resending everything, a peer sends a small sketch that lets the receiver reconstruct the block from data it already has.
How the sketch works
The relaying node sends a HeaderAndShortIDs structure containing the full 80-byte block header, a short 6-byte non-cryptographic ID for each transaction, and a handful of full transactions it predicts the receiver is missing (such as the coinbase). The receiver matches each short ID against its mempool and slots the corresponding transactions into place. If a few are genuinely missing, it requests just those with a follow-up message.
Why it matters
The savings are dramatic. A multi-megabyte block carrying thousands of transactions can be relayed in roughly 15 kilobytes, a reduction of around 98%. Smaller messages also propagate faster over TCP, lowering latency, which reduces orphaned blocks and gives miners less incentive to centralise around fast relay networks. BIP152 defines two versions: version 1 keys short IDs on legacy txids, version 2 on witness txids (wtxids) for SegWit compatibility.
Compact blocks complement other propagation work and rely on the same hashing that produces a transaction's merkle proof. Lower latency directly benefits anyone running mining hardware; see our coinbase commitment entry for related block-structure detail.
In Simple Terms
A compact block is a bandwidth-efficient way of relaying a newly mined block, defined in BIP152 and active in Bitcoin Core since 2016. It exploits…
