Compact Blocks

Compact blocks reduce Bitcoin block relay data so miners and nodes can propagate new blocks faster.

3 min read
mining

Definition

Compact blocks are a Bitcoin relay method that lets nodes share newly mined blocks without sending every full transaction again. Instead, a node sends a small block summary that other nodes use to rebuild the block from transactions already in their mempool. This reduces bandwidth and helps new blocks spread faster.

How It Works

When a miner finds a valid block, it must be sent to other nodes so they can verify it and start building on top of it. Without compact blocks, a node may send the full block, including all transaction data. That can be slow when blocks are large or connections are weak.

Compact block relay assumes that most connected nodes have already seen the same unconfirmed transactions before the block is mined. The sender shares the block header, the coinbase transaction, and short transaction identifiers for the rest of the block. The receiver compares those identifiers with its mempool and rebuilds the full block locally.

If the receiver is missing transactions, it asks for only those pieces. Once it has the full block, it checks the block header, validates the transactions, verifies the proof of work, and relays the block onward. This is part of faster block propagation, not a change to Bitcoin’s consensus rules.

Why It Matters

Compact blocks matter to miners because every second of delay can affect revenue. If a miner finds a block but it reaches the network slowly, a competing block may spread first. The slower block can become an orphan block, meaning the miner loses the subsidy and transaction fees.

Faster relay also helps miners stop wasting hash rate on old work. When a new block is accepted, miners switch to a fresh block template at the latest chain tip. Compact blocks make that update faster across pools, nodes, and mining infrastructure.

For smaller miners and independent node operators, compact blocks lower bandwidth requirements. That makes it easier to run a well-connected node, validate blocks directly, and reduce dependence on centralized relay services.