Comment by yellow_lead

2 months ago

I might be wrong but I think it's like this..

A finds a block after 1 minute, then powers off and waits for another minute. They reveal the block after 2 minutes.

B searches for the block for 2 minutes.

After 2 minutes, A has used 1 minute of their compute, and B has used 2.

In this case A would be at an advantage to spend the 2 minutes looking for the next block. If they happen to find another block quickly they could release then in quick succession.

The benefit there is that if another miner released a block before that 3 minutes this miner still can release their first block and has already spent 2 minutes working on a block that could better validate their first block now that there are competing chains.

But the time spent by B is not wasted. If they find a block between minute 1 and 2, their block will be accepted, and A just lose the reward of the block they found.

  • When you reveal a block, it's not accepted instantaneously. When two competing blocks are revealed "roughly at the same time", it ends up in two competing chains.

    If B finds a block between minute 1 and 2, they start working on their competing chain, but A is already working on theirs. And A had a headstart because it started working on it somewhere between minute 1. So it's more likely that A's fork wins the race in the end.

    • But the head start doesn't change anything. At this point A is mining on their block, B is mining on theirs. There's no advantage.

      I'd even say that B is slightly more likely to keep their reward because they started propagating their block earlier, so it's more likely other miners are mining on this block.

      If A finds a second block between minute 1 and 2, then they win, but it would be the same if the didn't withhold their block.

      When A is mining on their hidden block, they mine for a potential height of 2 that would win against a miner only able to push a height of 1. But by doing that they put the block they found at risk of being abandoned because another miner found a block in the meantime.

      So if you find a block, you get almost 100% chance it'll stay if you publish it immediately. If you withhold it and find another one you get 100% chance of keeping your 2 blocks. If you don't find that 2nd one, you get <50% chance of your block to be the main chain (depending on time of reaction of another block being published, and connectivity). On the other hand, if you don't withhold it and find 2 blocks in a row, you also get almost 100% chance of keeping your 2 blocks. I fail to see how withholding is profitable.

      19 replies →