If you’ve been using Ethereum (ETH) over the past few weeks, you might have noticed the network is getting slower.
Since the Istanbul hard fork went live two weeks ago with a bunch of new updates, the block processing time has increased from three minutes to around 20 minutes.
The reason for this is because the Ethereum developers seemingly forgot to update the difficulty bomb following the upgrade, slowing the network down substantially.
What is a difficulty bomb?
1/ You’ve heard that ETH went through a disruptive hard fork just over a week ago. This was a painful process that left broken contracts and nodes in its wake.
The next hard fork? It’s in TWO WEEKS. Why? Because otherwise the Ethereum blockchain would slow to a crawl. THREAD
— Udi Wertheimer (@udiWertheimer) December 16, 2019
According to Investopedia:
“Ethereum’s ‘difficulty bomb’ refers to the increasing difficulty level of puzzles in the mining algorithm used to reward miners with Ether on its blockchain. As the puzzles become more complex (and miners find it more difficult to earn Ether), there will be a substantial lag between production of blocks on Ethereum’s blockchain.
“This will slow it down in exponential terms and its economics will become less attractive to miners. The onset of this scenario is referred to as ‘Ethereum’s Ice Age’.
“During this time, Ethereum will transition from Proof of Work (PoW) to Proof of Stake (PoS). The difficulty bomb will prevent forking of Ethereum’s blockchain during that time.”
Essentially, what this means is that blocks will take longer to be produced due to the increasing level of difficulty in the PoW algorithm. The goal of the ice age is to force nodes (miners) into making a move towards PoS.
Of course, this means the rate at which difficulty increases needs to be tweaked from hard fork to hard fork. If not, the network can become clogged fairly quickly.
Which is exactly what’s happening at the moment.
Difficulty bomb problems
Looking at the screenshot above, we can see an example of what’s going on.
The screenshot is of MetaMask and it shows an attempt to send 0.1 ETH to a random smart contract. What do you immediately notice? The waiting times and high fees.
Let me break it down for you:
- If I choose the standard fee, close to $0.08, it will take (on average) 18 minutes for my transaction to process.
- If I choose a higher fee, let’s say $0.10, I’ll have to wait about three minutes.
- However, if I choose a much higher fee, say $0.13, I’ll have to wait just over 30 seconds.
I should underline, however, the above example applies only to smart contract interactions. If you’re sending ETH to an exchange, or in-between addresses waiting times are fairly normal, around 3 minutes and fees quite cheap (~ $0.01).
Looking at the next image, courtesy of Electrum, we can quickly see it may be cheaper to send BTC than ETH.
If I choose to send 0.1 BTC, I would have to pay 719 sats. In US dollars, that’s about $0.05.
Ethereum block times increasing
Looking at the historical Ethereum block time chart, courtesy of Bitinfocharts, we can immediately see the impact of the hard fork.
Istanbul went live on December 4, meaning previous tests were done during November. Interestingly, the biggest spikes took place after November 24.
Essentially, over the past couple of months, block times grew over 20% on average.
According to the Ethereum Improvement Proposals (EIPs) roadmap, a new hard fork, Muir Glacier, is taking place during January 4. It should fix the difficulty adjustment.
Hopefully, within a few weeks, the network should be back to business as usual.
Still, I hope we can take this lesson and learn something from it.