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

<p>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.</p>

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

<p>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).</p>

<p>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.</p>

CC BY-SA 4.0
2018-05-04T21:20:09.940Z
Might also force really big reorganisations.
Willtech
CC BY-SA 3.0
2017-05-25T13:23:11.700Z
2017-05-25T13:23:11.700Z
Jannes
<p>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.</p>

<p>There doesn't need to be any sort of tie breaking. </p>

CC BY-SA 3.0
2017-05-23T14:32:22.847Z
+ 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
CC BY-SA 3.0
2017-05-23T14:50:45.070Z
That'd be a great answer, @Jannes.   I didn't see how it opens an attack vector, but you made it clear.
abelenky
CC BY-SA 3.0
2017-05-23T20:42:32.930Z
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
CC BY-SA 3.0
2017-05-25T13:25:10.470Z
@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
CC BY-SA 3.0
2017-05-25T13:26:06.337Z
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
CC BY-SA 3.0
2017-05-25T13:33:01.770Z
@abelenky Correct. And for the time that the tie is ongoing, the whole network is temporarily partitioned into two parts working on different chains, where each partition temporarily has a lower security (might be a good moment for an attacker to launch his attack) and will roughly (statistically) take twice as long to find the next block (although that gets incorporated into the two weekly difficulty adjustment).
Jannes
CC BY-SA 3.0
2017-05-23T14:29:31.247Z
2017-05-23T14:29:31.247Z
hedgedandlevered
<p>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.</p>

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

<p>A simple tie-breaker would be:</p>

<p><em>"the block with the smaller nonce wins, and the block with the larger nonce should be orphaned immediately"</em>.</p>

<p>Does the competition among competing pools offer some advantage I'm not seeing?</p>

CC BY-SA 3.0
2017-05-23T16:35:22.330Z
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.
Claris
<blockchain><blockchain-fork><best-chain><stale-block>
Tie Breaker to reduce orphaned chains?
abelenky
# Tie Breaker to reduce orphaned chains?

(Asked by: username_0 on 2017-05-23)

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?

**Tags:** blockchain, blockchain-fork, best-chain, stale-block

> **Comments:**
> **username_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.  

---

## 2 answers

### Answer by username_2 on 2017-05-25. Score: 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 @username_4 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.

> **Comments:**
> **username_3**: Might also force really big reorganisations.  

---

### Answer by username_4 on 2017-05-23. Score: 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.

> **Comments:**
> **username_2**: + 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.  
> **username_0**: That'd be a great answer, @username_2.   I didn't see how it opens an attack vector, but you made it clear.  
> **username_4**: username_2, 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)  
> **username_2**: @username_4 I think you're missing part of the point. I created a separate answer as per request. Please see if that's more clear.  
> **username_0**: 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.  
> **username_2**: @username_0 Correct. And for the time that the tie is ongoing, the whole network is temporarily partitioned into two parts working on different chains, where each partition temporarily has a lower security (might be a good moment for an attacker to launch his attack) and will roughly (statistically) take twice as long to find the next block (although that gets incorporated into the two weekly difficulty adjustment).  

---

