0

When resolving a naturally occurring fork in Bitcoin, do the miners who were working on the orphaned fork download previous blocks from the miner who won the block reward that resolved the fork until they find a common block?

My understanding is that miners accept a new block as long as it is valid. As long as it's one block, they can just add it to their local version and start on the next block. However, if they receive a new block that is the head of a different fork that split off from their fork 10 blocks previously, how do the miners of the orphaned fork get the blocks from the other fork? How do they know to?

1

As soon as miners find a solution to the block header, they relay the block to the full nodes in their network. These full nodes will validate the block and will add the block that reaches to them first on top of the existing blockchain. Later, when they receive the other block at the same height, they will not discard it but maintain a copy of it. However, the nodes do not relay the block that was received later. Although the nodes assume that the block they received later must have lost the 'race', it keeps the “losing” block so that it has the information needed to reconverge if the “losing” chain ends up “winning.” So here you have a blockchain fork, where around half the nodes have a different version of the blockchain at the best height. When the fork is ultimately resolved when the next block is mined, the nodes can converge back because of the copy or the other block that they keep.

Chain reorganization with more than two blocks is rare unless there is a bug in the software like the one that caused one of the major fork back in March, 2013 that lasted 31 blocks.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.