8

Let's say there is a fork and there are two valid blocks. How do the miners choose which block to work on if they receive both the valid blocks at the same time(Is this possible?)? After this decision, one block becomes the ommer block and won't be placed on the main chain. What parameters are considered during this decision?

Also, how long does it take (how many blocks) for a fork to generally get resolved in the Ethereum public blockchain network?

4

Yes, it is possible because the miner's won't necessarily know the other has found a solution. The news of these discoveries spreads via gossip, so there is always latency.

A very short summary of the way this is resolved is that nodes favor the longer of the two chains. It has more proof of more work. It's a little counter-intuitive so it bears mentioning that there is no loss of transaction data when a block doesn't make it into the consensus chain.

2

Any way they want.

While miners have a good reason to build on the longest chain (because other miners will build on the longest chain (because other miners will build on the longest chain (...))) there's nothing stopping them from using some alternate method. For example, if a miner mines a block, and hears of a block someone else made, the first miner has a very good reason to still mine on their own block. Similarly, there is nothing stopping a miner from just ignoring some other miner's block in the first place.

What's most likely to happen is that a miner will start mining on the first block they hear about, since that's also likely to be the first block other people heard about as well. But there's no way to force anyone to do this.

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.