Comment by copirate

2 months ago

They are not mining on the wrong head. They are mining on the current head. If they find a block it will be accepted as the new head and the withheld block will be rejected, so it's not wasted mining time at all.

Not an expert, but I have two thoughts:

1. They don't have to wait until another miner finds a block, they can just wait "for some time" and then release their block. All that time gives them the edge for the next block.

2. My understanding is that if two different blocks are found concurrently for the same head, then the network waits for the next block to select which "new head" is accepted. I.e. when there are competing chains, the longer chain wins. So I could imagine that a strategy could be to wait until some other miner announces their block and release yours precisely at that time, hence creating two competing chains. But you presumably have an edge because you have already been mining for a while on top of your block.

  • There's no edge. Having spent time mining in the past doesn't increase your odds of finding a block in the future.

    • The idea is that you can start with the next head earlier than all the others, giving you an edge in being the first to find the next block.

      12 replies →

You can determine statistically whether you have found a block relatively early, and conversely whether other miners are unlikely to find one soon.

So you can get a head start on the next block from the likely new head block you've found.

It only works on average of course, you might be the one wasting resources if someone else published a block while you're withholding yours, but the trick is for you to gain an edge on average.

Now what happens if everyone is doing that calculation? That's where you need to do the game theory analysis (which I haven't and don't claim to understand).

  • > You can determine statistically whether you have found a block relatively early, and conversely whether other miners are unlikely to find one soon.

    Finding a block relatively early doesn't affect the odds of others finding a block soon. The odds are always the same, each hash is an independent event.

    I don't see why withholding would get you an edge on average. If the others find a block while you're withholding, you lose your reward. If you find another block before them, you get the rewards of 2 blocks, exactly like if the same happened but you didn't withhold.

    The only way for you to have an advantage is if you find a 2nd block at the same time as another one finds one on the other chain. You can then publish a height of 2 vs a height of 1, so you win. But to do that you have to first put your first block reward at high risk by withholding it. I don't think the odds are in your favor here.

    • Yeah, I was thinking about this wrong. I don't think it works.

      Edit: I think the strategy does work, but a little differently: if you withhold a block and someone else finds one while you do so, you can still publish yours and win a race with a certain probability, i.e. the expected loss is not as high as one might think.

      Then, if you do that and if you have enough hash power, you can end up mining a private chain ahead of the public one often enough, so that the loss you take is less than the loss others take through the hash power they are wasting because of you doing this.