Comment by roenxi
1 month ago
The Eyal & Sirer paper is pretty interesting - they basically point out that there is actually some game theory involved in when miners should reveal that they mined a block to compete most effectively with their fellows. If a pool can set up a situation where they mine a block and wait X seconds to reveal it, they can force other miners to waste X seconds of has power and gain an advantage.
It looks like a result with complex implications - eg, maybe making it impossible for new miners to set up unless they have a meaningful advantage in operating costs instead of just parity with the entrenched players. It is hard to tell because market reality is a mess but if there is a meaningful strategic choice to be made beyond simply announcing a block when it is mined then there is a lot of room for weird equilibriums even if the paper's specific analysis turns out to have flaws.
Take a look at the recently mined blocks. there are some miners that very frequently mine two blocks within quick succession, like just now for example: Block 930256: https://www.blockchain.com/explorer/blocks/btc/930256 Followed by block 930257: https://www.blockchain.com/explorer/blocks/btc/930257 The second block is usually almost empty.
This can have another explanation as well: the moment a block is found, the miner starts building on top of the previous block but hasn't constructed a new full block of transactions yet as that costs a bit of time to calculate and distribute. In this period, a new block could be found.
Blocks are Merkle trees, only the head transaction contains global seed. So, for one to mine block, one needs to walk Merkle tree up from head and then finish work with small amount of data in the block header.
Thus, the time spent mining block is directly dependent on the logarithm of number of transactions in the block.
If one can mine a block with 3000 transactions (11-12 hashes to the header) in 10 minutes, one can mine a block with one transaction (1 hash to header) about ten times as fast.
The construction of the block is negligible if we talk about complete block mining time.
2 replies →
> If a pool can set up a situation where they mine a block and wait X seconds to reveal it, they can force other miners to waste X seconds of has power and gain an advantage.
How is it wasted if they work on the current chain? If they find a block during those X seconds, they'll propagate it before the waiting pool does. The waiting pool will then just lose the revenue from the block they put on hold. They're the ones wasting mining time when that happens, while the others never do.
If you mine a block without revealing it, not only are you the only one that can mine the next block after that, but everyone is mining on the "wrong head". There's of course the risk that someone finds a different head in the meantime, but otherwise, you waste competitors' resources, while you get an advantage on the next block.
What makes it more likely that your first block ends up the next head and you're not wasting your own time on the second one if someone beats you to the first one while you're holding off?
1 reply →
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.
18 replies →
Right, but the odds of this happening is small(ish) - I'm certain there is a sweet spot for witholding time. If they don't find a block within the time interval, then effectively all the work for that time is "wasted" by the other participants since it could not have been put on the chain anyway AND the witholder has a headstart of a couple of seconds searching for a new block.
Wasting time would mean not receiving the rewards if they find a block. But that's not the case here. If they find a block within the time interval, they get the rewards (and the withheld block is discarded).
the odds depend on how much hash power you have. if you're at 5% of the network you can wait longer than if you're at 1%. the other really big problem here is it creates incentives for miners to work together to be able to delay longer
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.
21 replies →
Isn't this the same thing as saying "if everyone just agrees that a dollar bill is actually just a piece of paper, USD becomes worthless"? Albeit at a smaller scale
I don't think it is the same thing. Everyone agrees that mining the next block is valuable.
Unless they didn’t.
There’s nothing inherently valuable about crypto beyond what value people assign to it in their minds.
20 replies →
That's a good question, but it is different. The equivalent would be "if everyone just agrees that a bitcoin is worth nothing, then it is worth nothing".
I don't know if I have a good comparison here, but maybe something like "if the bank keeps your money for a little longer before validating your transaction, they can use your money for a little longer and make more money from it". Of course if your bank says that a transaction takes 1 year, you will go to another bank. But if they say it takes a day...