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?
1 Answer
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.
-
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? Commented Sep 28, 2018 at 4: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 Commented Sep 28, 2018 at 4: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 ♦Commented Sep 28, 2018 at 23:11