As EthHub explains, “Ethereum's ‘Difficulty Bomb’ refers to a mechanism that, at a predefined block number, increases the difficulty level of puzzles in the proof-of-work mining algorithm, resulting in longer-than-normal block times (and thus less ETH rewards for miners). This mechanism increases the difficulty exponentially over time and eventually leads to what is referred to as the 'Ice Age' – that is, the chain becomes so difficult to mine that it grinds to a halt and stops producing blocks (freezes).”
The Difficulty Bomb has historically been used by Etheruem’s developers as an artificial incentive for implementing the Merge. Moving the Difficulty Bomb means issuing an update to the entire network – something that will need to happen anyway with the Merge, but is a bit of a headache for developers if not completely necessary.
As the Bomb gets closer, the network will slow down until it eventually becomes unusable.
On Ethereum’s biweekly “All Core Devs” call on June 10, a developer noticed that the Difficulty Bomb, which isn’t expected to completely freeze the network for another couple of months, had already begun to slow down block issuance down enough that it has become noticable.
As a result, developers agreed to push the Bomb back by 700,000 blocks, or roughly 100 days. This will give them a few more months to run tests and prepare for the Merge without the risk of slowing down the network for no real reason.
But if the Bomb can be pushed back at will, what’s the point?
Is the Bomb pointless?
Ben Edgington, product lead at Ethereum development firm ConsenSys, described the Difficulty Bomb as “one of Ethereum’s oddities.”
“In terms of acting as a forcing function for devs, I don't feel it really serves that purpose very well,” Edgington argued. “Having these Bomb-only forks is an illustration. We're about to do the third one in Ethereum history.”
According to Edgington, that the Bomb has repeatedly been pushed back (without any update to PoS) is evidence that it is not working as intended.
In Edgington’s view, Ethereum developers already have enough motivation to roll out the Merge. “We’re aware that there is a cost to not delivering: There's an environmental cost, there's an issuance cost, there's a not being on the most secure consensus protocol cost. You know, we believe proof-of-stake is better than proof-of-work in many ways. So there are real costs to not merging soon,“ Edgington said.
Not everyone agrees with Edgington that the Bomb is pointless. Tim Beiko, who leads the All Core Devs call on behalf of the Ethereum Foundation, explained to CoinDesk that the “Bomb is extremely useful for many reasons” beyond just being a forcing function for the Merge.
“The first reason that it’s useful is that it forces people to make an active decision about their participation on the network,” Beiko said. Each time the Difficulty Bomb gets pushed back, client teams – which build the software powering the Ethereum network – need to upgrade their code. The most recent Difficulty Bomb pushback will come with the so-called Gray Glacier network upgrade, which is slated for June 29 and will require all client teams to update their software before June 27.
Whenever the network is upgraded, client teams must coordinate to update their software in unison. If the teams don’t work together, they risk fragmenting – or forking – the network into two blockchains. In Beiko’s view, the “active decision” to update and push back the Difficulty Bomb is a good exercise for client teams, because they will eventually need to flex their update muscles again for more consequential changes, like the Merge itself.
“The second reason [for the Difficulty Bomb] – and this is one I think is probably way underrated – is the idea that it makes it a bit harder to create a scam fork of Ethereum,” Beiko said. “Two years or three years ago, there was, like, Bitcoin Diamond, Bitcoin Unlimited, Bitcoin Gold, all these forks of forks of forks. The reason in large part you don't see those on Ethereum is because they require not only a one-line change – like a lot of these Bitcoin forks do – but they also require people to run the updated software.”
Beiko thinks the Difficulty Bomb can help prevent scam forks because it makes spinning up a new version of Ethereum a bit more complicated. Unless the team behind an Ethereum fork has an engineer capable of altering the Ethereum’s code to remove the Difficulty Bomb, the fork will eventually grind to a halt once the Bomb hits – rendering it useless.
Moreover, Beiko said, “beyond doing the technical change, you need to convince people to download it.” You can’t just re-launch Ethereum, remove the Difficulty Bomb and invite people over to your new network. Node operators – the people with computers that keep blockchains up and running – will also need to upgrade their software in order to support an Ethereum fork.
That means launching an Ethereum fork also requires building a community that believes in your project enough that they are willing to put in a bit of extra work in order to upgrade their software.
“I think that's really healthy, both because it limits the amount of low-effort forks, but if you do have a legitimate fork, which I think are very healthy for blockchains … it puts a minimal technical bar on what they need to do,” Beiko said.
What does this mean for the Merge?
Edgington and Beiko both agree that the Bomb’s pushback won’t have much of an impact on the actual Merge timeline.
Bomb or not, they say delays and coordination challenges just come with the business of building open-source software across several different teams and time zones.
“In this distributed development community, there is a tendency for timelines to get elongated – to get prolonged – because often you move at the pace of the slowest, and often decision making is kind of hard, so it's easy to kick stuff for another week or another week and it all adds up over time,” Edgington said.
“As long as we're mindful and we keep a sense of urgency that we need to get this done, then I think we are on a good track to deliver the Merge pretty soon,” he continued.
Ethereum co-founder Vitalik Buterin recently predicted the Merge might be ready in August. Edgington predicts it will happen before Ethereum’s major developer conference, DevCon, which takes place in October.
Beiko, says something “catastrophic” would need to happen to prevent the Merge from taking place before the end of the year.
The Ropsten testnet Merge was a good indicator that a real Merge might finally be nearby, but the wait continues.
- Sam Kessler