Overview
An orphan block (more accurately called a stale block) is a valid block that was successfully mined but ultimately not included in the longest proof-of-work chain. This happens when two miners find valid blocks at approximately the same time, creating a temporary fork. The network resolves this by following the chain that gets extended first, leaving the other block "orphaned."
How Orphan Blocks Occur
Timeline:
┌──────────┐
┌───→│ Block N │──→ Block N+1 ──→ ... (winner)
┌──────────┐ │ │ (Miner A)│
│ Block N-1│──────┤ └──────────┘
└──────────┘ │ ┌──────────┐
└───→│ Block N │ ← Orphaned (stale)
│ (Miner B)│
└──────────┘
Both blocks are valid, but only one can
be part of the longest chain.
- Miner A and Miner B both find a valid block at height N at nearly the same time
- Each broadcasts their block to the network
- Some nodes receive Miner A's block first, others receive Miner B's
- When the next block (N+1) is found, it extends one of the two competing blocks
- The network converges on the longer chain; the other block becomes stale
Consequences
The miner whose block becomes orphaned loses the block reward — both the subsidy and the transaction fees. Transactions that were included in the orphaned block but not in the winning block return to the mempool and are typically included in a subsequent block.
Frequency
Orphan blocks occur naturally but infrequently — roughly 1-2 per week on average, depending on network conditions and block propagation times. Improvements in block relay protocols (like compact blocks) have reduced the frequency of orphan blocks over time by minimizing propagation delays.
Common Misconceptions
The term "orphan block" is technically a misnomer in Bitcoin Core terminology. "Orphan block" originally referred to blocks whose parent was unknown. The correct term for a valid block not on the longest chain is "stale block." However, "orphan block" remains widely used in the broader community to describe this phenomenon.