eth2 update 016: Ropsten testnet successfully merges
June 23, 2022
Hello everyone! My name’s Bienvenido Rodriguez, but you can call me Ben or b17z. I’m a Protocol Specialist at Coinbase Cloud, and I will be restarting this series as it was previously led by Viktor Bunin. It’s been a very eventful month over in the Ethereum world so let’s get right into it.
The Ropsten testnet merged so we’re getting closer to the highly-anticipated Mainnet Merge…
But it also seems so far because the difficulty bomb is being felt on the network right now (~14 second block times)...
Because of this, a contentiously agreed upon proposal (EIP-5133) pushed back the difficulty bomb to around mid September 2022
The Beacon Chain experienced a 7-block reorg, one of the worst in recent memory.
Beacon Chain Traction
403,978 Active Validators
12,926,944 Staked ETH, or about 10-11% of the total supply, worth roughly $14-15 billion as of Thursday, June 23, 2022
Average Validator Balance of 33.58 ETH
The Great Reorg
What happens when you mix these ingredients together?:
A Proposer Boost update that was released as a soft fork
75% of validators had the updated version of Proposer Boost
25% of validators had the non-updated version Proposer Boost
A late block proposal that one set validators “saw” one thing and another set “saw” another thing (also called “split views”)
On May 25th around 7 AM EST, the Ethereum Beacon Chain experienced a 7-block deep reorg.
Recall: A reorg is when a block that was part of the canonical chain becomes no longer part of it because a competing block beat it out. Reorgs happen when nodes disagree on the order of the most recent block. This can happen for any multitude of reasons such as a bug, lack of client updates, or a malicious attack. The result is there’s a duplicate version (a fork) of the blockchain and the longer a reorg lasts, the more serious the consequences.
The question on your mind: Is this concerning for Proof of Stake Ethereum? The lesson here is to always upgrade your nodes. But the most important conclusion of the reorg is that it did not result in loss of finality or even a delay in finality. This reorg wouldn’t even have happened if all validators were running the same configuration. In addition, this would not happen post Mainnet Merge because all validators must hard fork to the Merge updates or they will be kicked off consensus.
If you want to go further in depth into what happened, check out Barnabé Monnot’s post, Visualising the 7-block reorg on the Ethereum Beacon Chain on Substack.
The Road to the Mainnet Merge
Ropsten testnet merged on June 8th, 2022
This marks a major milestone on the road to the Mainnet Merge. We can call this a “dry-run” for the Mainnet Merge. Danny Ryan said, “If this were mainnet, I’d be jumping for joy.” Sepolia and Goerli are next up to be merged. The logic is that Sepolia is a new testnet and has a permissioned Beacon Chain, which means it will be easier to merge. Goerli is more battle tested and will give more data so it makes sense for it to be merged after Sepolia, and as closely to before the Mainnet Merge as possible.
The Sepolia Beacon Chain is live as of Monday, June 20th, 2022 and it’s scheduled to be merged around July 6th.
Pebbles on the road
There were some small pebbles on the road when the TTD (Total Terminal Difficulty) was hit for the Ropsten testnet Merge, as about 14% of the validators experienced downtime. However, most of the issues were easily fixable and soon after the participation and proposal rates had jumped back up to 99%.
For a full summary of the Ropsten Merge, check out Partihosh’s thread.
Not everything was all rainbows and ponies leading up to the Ropsten testnet Merge
Riddle me this: What happens when you add a significant hash rate to a low-hash rate network right before you’re trying to merge the testnet?
Ropsten testnet reached Terminal Total Difficulty (TTD) about 13 days too early (May 26th) before Ropsten’s Beacon Chain Genesis on May 30th.
What happened: A miner added 20x the hash rate to Ropsten & reduced the gas limit before Beacon Chain was live at the time TTD was chosen.
Now, why, pray tell, would someone do this? Well, why don’t we examine the input data on a transaction? If you click to show more, you’ll have a field called “Input Data.” Then, you can view the input as UTF-8, and it says, “IT’S A STRESS TESTING ROPSTEN NETWORK TO SEE WHAT WOULD HAPPEN IF THE MERGE HAPPENED OUT OF SCHEDULE.”
Now, the question that you may be asking yourself is, “Can this happen on mainnet?” The short answer is, no (the long answer is still, no). If you can add that much hashpower to reach TTD earlier on mainnet, you might as well 51% attack Ethereum – by that point we will have much bigger – catastrophic – problems than reaching TTD too early.
Mainnet Shadow Fork #7 merged successfully. Here’s a convenient Shadow Fork Tracker to check out the details of this and past shadow forks.
Recall: A shadow fork is conceptually similar to a "production parallel" or devnet environment. The idea here is that a chain is forked, but instead of it having its own state, it inherits the state of the canonical network without affecting the canonical network. This shadow forking allows for more realistic stress testing of developer assumptions on syncing and state growth.
We’d like to get on with the Mainnet Merge, right? Right…And nothing is going to happen…
EIP-5133: Delaying Difficulty Bomb to Mid September 2022
If you recall, EIP-4345, created in October 2021, had the difficulty bomb delayed to June 2022, which was the prediction at the time of when the Mainnet Merge was going to happen. Original predictions of the difficulty bomb slowing by around 0.1 seconds by end of June 2022 were optimistic; Block times have actually started to slow by 1 second. So, there is a proposal to delay the difficulty bomb to around mid September 2022, which was contentiously agreed upon during the AllCoreDevs call on Saturday, June 11. You can keep track of the the difficulty bomb using this Difficulty Bomb Tracker.
To put this into play, the Gray Glacier Upgrade will upgrade the Ethereum network at block 15,050,000 (estimated June 29th) to push back the difficulty bomb by about 100 days.
Here we go again. Is the Mainnet Merge actually going to happen? Yes, it will. The more recent forecasts target it between late August to November. Unfortunately, the difficulty bomb appeared much quicker than expected. This is to provide temporary relief since the bomb’s impact goes up exponentially after every 100,000 blocks. Block times are around 14 seconds now – this would push that time back to around late August.
Why do we care about the difficulty bomb again? Ethereum is moving to Proof of Stake. A potential scenario that might pop up is that some miners might reject Proof of Stake. The difficulty bomb was introduced to make it increasingly hard and eventually impossible for miners to try to keep Proof of Work alive after the Mainnet Merge happens. The issue here is that we don’t want that to happen until the Mainnet Merge actually happens.
So, is the Mainnet Merge going to happen? lt wouldn’t make sense for all this prep work, testing, merging testnets, and shadow forking to happen all for it to not actually happen. I am an ex Software Engineer and can tell you from experience that bugs can and will happen. The fact of the matter is that the Merge is a very complex technical problem. Coupled with how much money is in Ethereum, the Ethereum Foundation has to dot their i’s and cross their t’s. We can put stock into dev teams working hard and knowing what they need to do. That being said, and with DevCon right around the corner, it’s understandable that certain folks are wary about this, since it may not produce the urgency to get the Mainnet Merge done and dusted on a quicker time frame.
That’s it for now folks! We’re chugging along on the way to Mainnet Merge. I’ll see you in a few weeks with another update. Signing off.