9. On the Orphan Blocks

9

On the Orphan Blocks

AN “ORPHAN BLOCK” occurs when two miners satisfy the proof-of-work at approximately the same time. The two blocks created by the two miners are different since they may not contain all of the same Bitcoin transactions, in which case the transactions wherein the two “winning” miners transfer the block’s transaction fees to their accounts are also different. But only one of those two blocks will ultimately be added to the block chain, while the other will become an “orphan block”. Any transactions present in the orphan block but not included in the accepted block will be included in the next block for which miners are competing. For more details, see the explanation of orphan blocks in Chapter 2.

Re: Bitcoin P2P e-cash paper

Satoshi Nakamoto Sun, 09 Nov 2008 11:17:240800

James A. Donald wrote:

OK, suppose one node incorporates a bunch of transactions in its proof of work, all of them honest legitimate single spends and another node incorporates a different bunch of transactions in its proof of work, all of them equally honest legitimate single spends, and both proofs are generated at about the same time.

What happens then?

They both broadcast their blocks. All nodes receive them and keep both, but only work on the one they received first. We’ll suppose exactly half received one first, half the other.

In a short time, all the transactions will finish propagating so that everyone has the full set. The nodes working on each side willbe trying to add the transactions that are missing from their side. When the next proof-of-work is found, whichever previous block that node was working on, that branch becomes longer and the tie is broken. Whichever side it is, the new block will contain the other half of the transactions, so in either case, the branch will containall transactions. Even in the unlikely event that a split happened twice in a row, both sides of the second split would contain the full set of transactions anyway.

It’s not a problem if transactions have to wait one or a few extra cycles to get into a block.

Satoshi Nakamoto

The Cryptography Mailing List

Last updated