1

When two different miners find the same block number at roughly the same time, the chain is forked, and there is a bit of a race to develop a longer chain, leaving the alternative orphaned.

Why is there this type of race instead of a tie-breaker among the two competing blocks?

A simple tie-breaker would be:

"the block with the smaller nonce wins, and the block with the larger nonce should be orphaned immediately".

Does the competition among competing pools offer some advantage I'm not seeing?

  • 1
    Interestingly a lot of hardware can't mine specific nonces at all due to the way the range allocation happens on the die, you can't assume there's a random distribution as a result. – Anonymous May 23 '17 at 16:35
4

Consensus rules are often a lot more delicate than they might first appear. Having a tie breaker can actually enable attacks.

If I find a block with a really low nonce, I can gamble to keep it secret and then only when a competing block is found, I can simply neutralize it by broadcasting my low-nonce block. This makes other miners waste their time on a block that will never become part of the chain and it gives me a better chance of finding the next block myself.

I'm not sure if this is true for all possible tie breakers. At least not to the same degree.

The answer by @hedgedandlevered looks at the question from another perspective ("What use would a tie breaker have for the system as a whole?") and is probably generally correct (that is: little to nothing).

However: another example of a tie breaker might be where SegWit signaling blocks are treated preferentially during a tie. That would (assuming support is already > 50%) increase the likelihood of SegWit activating a little as well as providing a slight monetary incentive for (all) miners to activate SegWit. This can be seen as an advantage to the system as a whole and as far as I know does enable attacks by miners in the way the nonce example did.

  • Might also force really big reorganisations. – Willtech May 4 '18 at 21:20
3

There isn't really a "race" any more than there is a race normally. Since both chains are valid, miners can choose which block they would like to build off of. There isn't an advantage to mining on one vs the other; whichever chain you build off of, if you find a block, your block is valid.

There doesn't need to be any sort of tie breaking.

  • 6
    + having a tie breaker can actually enable attacks. If I find a block with a really low nonce, I can gamble to keep it secret and then only when a competing block is found, I can simply neutralize it by broadcasting my low-nonce block. – Jannes May 23 '17 at 14:32
  • That'd be a great answer, @Jannes. I didn't see how it opens an attack vector, but you made it clear. – abelenky May 23 '17 at 14:50
  • Jannes, While you could do that, that wouldn't increase your profits any more than the tiny marginal effect you'd have on the difficulty readjustment at the end of the 2016-block difficulty readjustment. The extra orphaned block's value would essentially be distributed to all miners (by hashpower-share) – hedgedandlevered May 23 '17 at 20:42
  • @hedgedandlevered I think you're missing part of the point. I created a separate answer as per request. Please see if that's more clear. – Jannes May 25 '17 at 13:25
  • I'm not sure what you mean by, "whichever chain you build off of, if you find a block, your block is valid.". One of the branches will ultimately be discarded, and anyone who mined on that branch will lose their mining reward and fees. The blocks on the losing chain ultimately become invalid. – abelenky May 25 '17 at 13:26

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.