In a proof-of-work mining networks like Bitcoin, orphan blocks and stale blocks are technical concepts that tend to cause confusion. For this article, we cover what orphan blocks and stale blocks are, how they happen, and how they affect cryptocurrency mining networks.
Orphan Blocks and Bitcoin Core v.0.10
Back in the day, Bitcoin orphan blocks were blocks that were mined simultaneously with another block but were not yet valid because nodes don't know the block's parent (the previous block header).
Orphan blocks were temporarily stored in the orphan block pool where they remained until miners found a parent block for the orphan. Once the miners found the parent block and linked it to one of the orphan blocks, miners would continue to mine on this block as the true chain with the longest proof of work.
The release of Bitcoin Core v.0.10 made it impossible to create these kind of orphan blocks. This upgrade implemented headers-first synchronization, giving miners the ability to download the header to determine if a block was valid, which meant they could no longer receive any blocks whose parent (header) was unknown.
Orphan Blocks vs. Stale Blocks in Bitcoin Mining
Sometimes referred to as orphaned blocks, stale blocks are valid blocks that are successfully mined yet are no longer included in the longest proof of work chain. This occurs when two blocks are mined more-or-less simultaneously as a result of network latency.
This causes the network to temporarily split off into two competing chains, resulting in two different histories of the Bitcoin blockchain. The split is resolved when miners add new blocks to one of the two version histories. Whichever history grows longer, this version is treated by the rest of the network as the true chain of blocks. The stale block is considered invalid and its rewards are likewise stale, meaning the miner cannot spend the block’s rewards (the coins are rendered inert and unspendable); any transactions mined into the stale block are returned to the mempool and included in future blocks.
These blocks are usually referred to as stale or extinct blocks rather than orphans since they have a parent block (thanks to the Core v.0.10 update) but they are not active on the main chain.
How Do Orphaned Blocks and Stale Blocks Happen?
On a robust proof of work chain network such as Bitcoin, stale blocks are becoming increasingly rare. In 2017, a total of 60 stale blocks were recorded, falling to five in 2018, and only two in 2019. This is typically attributed to mining pools implementing low latency communication channels.
How does latency affect block propagation?
When a miner mines a block, they broadcast this block to the nodes that are closest to them, and these miners pass it on to other nodes in their own peer network, and so on. This data transmission is quick but it is not instantaneous, so if a miner’s internet connection has enough latency and another miner finds a solution to the same block simultaneously, then you open up the possibility for two conflicting blocks.
The scenario would look like this:
- Miner A is in Canada and has a much slower internet connection than miner B, who lives halfway around the world in Malaysia.
- Miner A finds a solution for block 800,000 and begins broadcasting the solution to its peers on the northwestern hemisphere. Meanwhile, right after Miner A finds a solution to Block 800,000, Miner B finds its own solution to block 800,000 and simultaneously broadcasts to its peers in the Southeastern hemisphere.
- As both blocks bounce from node-to-node across the world, the conflict becomes apparent. Miner C from Spain mines block 800,001 and chooses to build on Miner B’s version of the blockchain because Miner B’s block was the first to reach Miner C’s node.
- From here, Miner D mines the next block in this version, and so on, making Miner B’s block part of the true version history. Miner A’s block is sequestered by the network as a stale block and its transactions return to the mempool.
Ethereum Uncle Blocks and Altcoin Stale Blocks
Other proof-of-work networks have stale blocks or their own versions of them. A few factors can influence a cryptocurrency mining network’s stale rate, including network size, network/code upkeep, and block speed.
In the Ethereum mining universe, stale blocks are called uncle blocks, and miners still earn a reward from these blocks (although it’s smaller than a typical block reward).
Other proof-of-work coins can have relatively-high stale block rates based on a variety of factors.
Hashrate Index Newsletter
Join the newsletter to receive the latest updates in your inbox.