Bitcoin

doublespend – Minimum requirements for proof-of-work

First, to clear up some misunderstandings:

  • A nonce is part of a block, along with all transactions (including miner payment addresses), timestamps, previous block hashes, etc. Changing either of these will completely change the block hash.

  • Difficulty level ~ no Number of 0 bits required for the hash. Rather, the entire block hash is interpreted as a 256-bit number and compared to a number called the “destination”. If the hash is lower than the target, the proof of work is valid. Difficulty scaling should really be called goal scaling. For each 2016 block, the goal is increased or decreased to maintain an average block rate of 1 per 10 minutes. Difficulty is the ratio of the highest possible (=easiest) goal divided by the actual goal.

  • The acceptable chain is not necessarily the longest chain. Rather, it is the chain that has accumulated the most work. Here, the task is (roughly) defined as the sum of the difficulties of the blocks in the entire chain. This means that block generation rate is not important in determining who creates the winning chain. This is because the faster the block, the lower the difficulty level.


So the real question is: What are the detrimental effects of short inter-block times?

The purpose of the time between blocks is to ensure that all nodes and miners are on the same page by giving the network time to propagate newly discovered blocks.

Imagine that it takes one second for a block to propagate through the network and for miners to start building on it (so this number includes not only network latency, but also verification time, the time it takes to build a new set of candidate transactions). Include it in the next block and distribute this information to the hash).

Miner A finds the block and starts propagating it, so miners B, C, and D all know about this block after 1 second. During that one second, B, C, and D are wasting time as they try to build on top of the previous blocks. But A doesn’t waste time. You can immediately switch to working on the new block. This creates a small advantage for A proportional to the probability that another block will be found within this 1 second propagation time.

Using an average inter-block time of 10 minutes, this advantage is small (about 0.17% chance of finding a block in 1 second), but it becomes very large as the inter-block time and propagation time get closer to each other.

  • 600 units to 1 unit: 0.17%
  • People in their 60s vs. 1: 1.7%
  • 10 seconds vs. 1 second: 9.5%
  • 1 second to 1 second: 63%

This has several effects:

  • Even without malicious intent, shorter block times are more beneficial to larger miners. This goes against the purpose of fair mining, which is that anyone can enter the mining space and receive profits equivalent to their investment.
  • This can be intentionally exploited more easily through so-called “selfish mining” attacks, which is always possible, but the propagation time makes the situation worse.
  • A potential 51% attacker (someone who ignores blocks produced by honest miners and only builds on top of his own blocks) ignores these propagation costs. Therefore, the probability of a block being discovered while the previous block continues to propagate translates to a 51% advantage for the attacker.

Related Articles

Back to top button