I understand that forks are resolved by largest proof-of-work etc. but when do the miners decide to resolve a fork? Is it a question of network consensus or does each individual miner resolve at their own pace?
Asked
Active
Viewed 387 times
1 Answers
2
Each node will usually resolve and reorganize their local chain as soon as they are made aware of a chain with more work.
If two blocks are mined at block height N
, there is a fork. As soon as a single block at height N+1
is mined and broadcasted, any nodes that receive it will keep the block N
that the new block builds upon, and orphan the other block as there is now one chain with more work.
This is what makes block withholding attacks possible, as an attack could broadcast several blocks at once, which suddenly present a new, longer, valid chain.

Murch
- 75,206
- 34
- 186
- 622

Raghav Sood
- 17,027
- 3
- 22
- 43
-
That is assuming that the miners are honest right? If let's say a group of miners are colluding, can they withhold from resolving until they are sure that their chain is longer? – Larrrrrrrrrry Sep 28 '18 at 04:35
-
Yes, that's exactly what a block withholding attack is - One or more miners don't broadcast their blocks until they want to, and broadcast entire sections at once – Raghav Sood Sep 28 '18 at 04:36
-
2It really shouldn't be called an "orphan" block, because the block's parent is present and doing fine. ;) It's the transactions in the extinct block or stale chain-tip that are orphaned by the block no longer being part of the most-work chain. – Murch Sep 28 '18 at 23:11