Detailed Explanation of the Ethereum Difficulty Bomb: The fifth delay means that the end of POW may be delayed again
Editor of this issue | Colin Wu
Editor of this issue | Colin Wu
On August 20, Tim Beiko, the core developer of Ethereum, said in a review of the content of the development team conference call that the difficulty bomb in December may be postponed, but there will be no new EIP before the merger. Counting down, this may be the fifth time that the difficulty bomb has been delayed. Why is the difficulty bomb delayed again and again? What is the meaning of its existence? How does it relate to the merger of ETH2.0?
1 The meaning of the difficulty bomb
picture
Specifically, the difficulty factor includes the target block height of the difficulty bomb. When the block height does not reach the target value, the mining difficulty is only affected by the block generation time of the previous block; and once the block height reaches the predetermined value , the block generation time will increase exponentially, and then the difficulty will be adjusted every time 100,000 blocks are dug out.
On August 4, 2015, former Ethereum chief business officer Stephan Tual first mentioned the difficulty bomb.
“A lot of people have been wondering how we can achieve the switch from PoW to PoS during the Serenity phase. This will be handled through the newly introduced difficulty adjustment plan, which will smoothly guarantee the hard fork point for the next 16 months...it The working principle is as follows: starting from the block height of 200,000 (about late August 2015), the mining difficulty will begin to experience exponential growth, and after about a year, the difficulty will increase significantly. By that time (probably When the Tranquility milestone is released), a large increase in mining difficulty will result in longer block times.”
articlearticleIt has also been analyzed in , and the completion of the ETH2.0 merger phase is the end of the PoW mining method.
In this regard, there is a voice in the huge miner community, which attempts to implement a fork after the merger of Ethereum 1.0 and 2.0 is completed. This will undoubtedly be a lose-lose situation for the entire Ethereum community, so the development team needs to find ways to prevent such incidents from happening. We know that due to the existence of Vitalik, the Ethereum development team is relatively easy to unite the front; but the miner team is not. Decentralization prevents all miners from forming a community of interests. In other words, as long as the miners can distrust each other, the miners will not have enough computing power to achieve a 51% attack.
The difficulty bomb is an overt conspiracy to distrust miners. According to Stephan Tual's estimate, it will take about one year for Ethereum to rise to a level that is almost impossible to dig The difficulty of the block. This means that there will be at least a few months between the opening and the miners making ends meet, and this period is the time to disintegrate the miners' camp.
Considering that the higher the block height, the more difficult it is to achieve a fork. Miners cannot wait until there is no output at all before starting to fork, but should start acting as soon as the difficulty bomb is turned on. But just imagine, as a rational individual miner, would you try to fork the main chain when the difficulty bomb is turned on? In fact, you will be worried: if individual miners do not work together to fork, but continue to dig on the original longest chain, then their output will increase significantly, even exceeding the loss caused by the difficulty bomb. Once the fork fails, These "betrayed" miners will make a lot of money, while the "unity" miners will get nothing. Therefore, rational miners will choose to continue digging along the main chain (or choose to leave at a reasonable exit price), even if they know that the final result is zero output, no one is willing to take the lead in taking risks.
After understanding the meaning of the difficulty bomb, we can naturally understand the sequence of its opening time and the merger time of ETH2.0. As mentioned above, the existence of the difficulty bomb is to prevent the miners from collectively forking when Ethereum 1.0 and 2.0 are merged. Therefore, if the merger of Ethereum has been successfully completed, then the difficulty bomb has no meaning. The reason why the final opening time of the difficulty bomb is regarded as a leading indicator of the end of PoW is based on this logic.
After the difficulty bomb is activated, the merger of Ethereum must be completed within two or three months. If it cannot be completed, the team can only choose to suspend and postpone it. This has happened three times in history.
2 The EIPs of the difficulty bomb have been delayed
picture
The picture above shows the changes in the block generation time of Ethereum in history. It can be seen that the block generation time is maintained at 13-14 seconds under normal circumstances, but there have been three sharp rises, and these three times are when the difficulty bomb is activated. Every time it is turned on, the block generation time will rise in a zigzag pattern, because the difficulty will be adjusted every time 100,000 blocks are dug out. Taking the first 13 seconds as an example, it took about 15 days for 100,000 blocks, and the last time increased to 25 seconds. At this time, it took nearly a month for 100,000 blocks, so the sawtooth gradually widened. . The three difficulty bombs were eventually suspended and postponed because the Ethereum development team was not yet ready to fully switch to PoS, and the increase in block difficulty in PoW mode would lead to increased transaction waiting time and uncle block probability, thereby reducing Ethereum The practicality and safety of the workshop.
Difficulty bomb delayed for the first time
In March 2017, the block height reached 3.7 million, the difficulty bomb was activated for the first time, and the block generation time increased rapidly. During this period, the difficulty was adjusted 6 times until it was extended to 30 seconds in October. At this time, if the difficulty bomb is not stopped as soon as possible, it will seriously affect the ecology of Ethereum. After discussion by the development team, Ethereum launched a hard fork at a block height of 4.37 million—Byzantine upgrade, which includes the EIP-649 proposal in the upgraded version, which uses the current block height minus 3 million as a formula The fake block height used in , in order to delay the activation time of the difficulty bomb.
The real block height at this time is 4.37 million, but the fake block height used to start the difficulty bomb is 1.37 million (437-300). Simple calculations show that when the fake block height reaches 3.7 million again, that is, after 2.33 million (3.70-137) blocks—that is, the real block height reaches 6.7 million (437+233), the difficulty bomb will be turned on again .
Difficulty bomb delayed for the second time
On January 15, 2019, Afri Schodeon, the upgrade coordinator of Ethereum Constantinople, found that the difficulty bomb of Ethereum had started as scheduled at the block height of 6.7 million, and "exploded" at the block height of about 7 million . On the second day, Eric Conner, a core developer of Ethereum (that is, the developer who launched EIP-1559), pointed out on Twitter that after the difficulty bomb exploded, the average block generation time has risen from 14 seconds to 15.5 seconds, and the increase will be accelerated.
In mid-February, the block generation time of Ethereum rose to 20 seconds, and the problem once again faced the developers of Ethereum. The only way is to fork and upgrade to deal with the impact of the difficulty bomb. On February 28, the Constantinople upgrade completed a fork at a block height of 7.28 million, and the difficulty bomb crisis was once again temporarily lifted. EIP-1234 included in the Constantinople upgrade not only postpones the difficulty bomb, but also reduces the block reward to 2 ETH. The method of delaying the explosion this time is the same as the Byzantine upgrade, that is, simply reducing the fake block height in the difficulty factor by 5 million. After adjustment, the real height is 7.28 million, and the false height is 2.28 million (7.28-500). When the false height returns to 3.7 million, that is, the real height reaches 8.7 million (370-228+728), the difficulty bomb will be turned on again. Only 1.42 million more blocks have to pass this time, so the time is shorter than the previous one.
3rd Postponed Difficulty Bomb
On October 5, 2019, the difficulty bomb was launched early at the block height of 8.6 million. In mid-December, the block generation time rose to 17 seconds. Ethereum developers had to perform another hard fork at altitude 9.2 million shortly after the Istanbul upgrade. This is the Muir Glacier upgrade. This upgrade has only one improvement proposal (the reason why the upgrade is named after the glacier is that the upgrade is only for the difficulty bomb. After the bomb is completely exploded, the block reward will be "frozen". The fifth postponement of the recent consideration may also be named that way), or EIP-2384, which aims to delay the difficulty bomb by another 4 million blocks, or 13.2 million heights, or roughly 611 days back.
And there is another sentence in the proposal that attracts attention: it is best to postpone the difficulty bomb again until the expected release time of the final version of ETH2.0 tools (finality gadget).
Fourth Delayed Difficulty Bomb
This time, the Ethereum development team did not wait for the difficulty bomb to explode. On August 5, 2021, Ethereum launched the London upgrade at a height of 12.965 million, and the difficulty bomb was postponed again. This upgrade includes EIP-3554, which reduces the height of the fake block in the difficulty factor by 9.7 million, or 2.77 million, from about 12.47 million (this height is not the current actual height, but an estimated height established when the agreement was proposed). Therefore, after about 930,000 (370-277) blocks, the difficulty bomb will be activated again. Based on the block generation time of 13 seconds, it will take about 4.7 months (the official estimate is to start in the first week of December).
EIP proposed for the fifth time to delay the difficulty bomb?
In July, Tim Beiko, the core developer of Ethereum, once said: Suppose we have a non-merge upgrade (Author's Note: Assume that the Shanghai upgrade in December cannot complete the 2.0 merge, in fact, this assumption has a high probability of happening), we need to decide whether To include anything other than another difficulty bomb delay (author's note: if other escalation protocols are included then keep the "Shanghai" name, otherwise consider "glacial themed" naming for the same reasons as the Muir Glacier escalation).
On August 20th, Tim Beiko said in a content review of the Ethereum core developer conference call that basically all teams agreed that in addition to the consensus changes for the merger of Eth1 and Eth2, there are other important things that need to be resolved in the next few days. Completed within a month, most of which are client-side needs for performance optimization for merging, better separation of consensus engines, etc. In light of this, participants agreed not to do a feature fork in December, meaning that the difficulty bomb might be delayed, adding other one line changes, but not resulting in a new EIP until merged.
Now it seems that the difficulty bomb will be postponed again, which is almost certain, which is also consistent with the correlation between it and the merger of Ethereum that we have analyzed before. In short, the merger means the end of PoW, and the complete explosion of the difficulty bomb means the completion of the merger. In previous articles, we have analyzed that the end of PoW will not be until the second quarter of 2022 at the earliest, and it only takes two or three months for the difficulty bomb to explode completely. Therefore, if the difficulty bomb is launched in December, Ethereum must It is a difficult task to complete the merger in the first quarter of next year.
The last question is, will the Ethereum development team propose a new EIP to delay the difficulty bomb? In the past four times, developers have achieved it by reducing the pseudo-block height in the difficulty factor, while modifying the code must propose an EIP. How to achieve the postponement of the difficulty bomb without proposing the EIP requires further explanation from the development team (the author guesses that Tim Beiko means that the December upgrade only includes the postponement of the difficulty bomb’s EIP and no other new proposals, so consider changing "Shanghai" for other "glacier themes").
Image from U.today


