State of Ropsten
If you take a look at Ropsten, you'll see that every block has a single transaction, with metadata saying "WILL RECOVER ASAP".
Some miner (0xd197) decided to troll a bit. The issue is that TTD would be hit ~15h from now, while the beacon chain genesis is on Monday. Nothing that could happen on mainnet (no one can 2x mainnet hash rate).
So, what happened?
If you've been following along with the state of the Merge, you'll know that Ropsten is the first testnet to get switched over, followed by Goerli and Sepolia. The Merge is scheduled to hit Ropsten around June 8th. A couple of things need to happen for that to occur though:
The Beacon (PoS) chain needs to be launched for that particular chain.
The Bellatrix hardfork needs to be activated on that Beacon chain (which starts the process of monitoring for a Terminal Total Difficulty (TTD).
The TTD needs to be hit
Once the TTD (Terminal Total Difficulty) is hit in a certain block, the Bellatrix hardfork kicks in, handing control over to the Beacon chain and triggering the shift from PoW to PoS. There are some details elided here about which layer is listening to what. That's the gist!
TTD is something you're going to see more and more of as we get closer to the Merge, and loads of people still don't know what it means. It stands for Terminal Total Difficulty. It is the figure being used, rather than blockheight per usual forks - to trigger the shift. 'Terminal' here simply refers to it being the last difficulty figure that will ever matter.
The Total Difficulty of a block is just the sum of the difficulty of all blocks that comprise the chain it is part of. You can monitor this figure in Etherscan, it's literally called 'Total Difficulty'. Here's one from a recent block on mainnet:
Why is this figure being used rather than a specific block?
It might be true that we’ve never done it like that in the past but this gives a bit more confidence on mainnet - where it really counts - that the chain that hits the Merge is canonical. EIP-3675: Upgrade consensus to Proof-of-Stake.
Ropsten's had a bit of a nightmare today - the Beacon chain for it hasn’t been launched yet (so there's no Bellatrix hardfork telling the consensus layer to start monitoring for a TTD). Meanwhile, the “execution layer” has had a TTD set for a little while now: a number at which miners services are no longer required: The Merge Mainnet Readiness Checklist.
The Ropsten Beacon chain is scheduled to be launched three days from now, and Bellatrix should be activated five days after that. i.e. everything prepared on June 3rd, waiting for the TTD that was set to be hit a few days later on/around June 8th. What's happened here is that someone has purchased a significant chunk of hashpower for Ropsten (20x the usual hashrate) and has been running it for a few days. This doesn't cost them much - it's a testnet. Few hundred bucks a day.
As you should hopefully know, more hashpower on a chain leads to an increase in difficulty per block, in order to keep the time between blocks consistent. You can guess what ended up happening. This increase in hashpower led to the preset TTD on Ropsten being met earlier today: over a week in advance of when it should have been done. With no Beacon chain to hand over control to, and given that once the TTD is met, the current execution layer ceases broadcasting blocks.
So, Ropsten just... stopped.
Given that the gas limit had been dropped to effectively nothing (50,000), and given the timing, this looks like either malicious intent, or - more charitably - a bit of test-in-prod chaos engineering. They've cut it out now, though:
This is in the process of getting fixed - Ropsten miners are being asked to manually adjust their TTD rates to a much larger number, with the intent of changing it again once Bellatrix is active on the newly launched Beacon chain. They're currently in the process of doing so. Ropsten will continue as normal soon: this is an irritation (a slightly funny/frustrating one), but no death-knell. The Beacon chain has been active since December 2020, and given the immense hashrate on the mainnet, we can be pretty confident that no one will spend the amount needed to do this.
In fact, the opposite is likely to happen. Miners will start shutting off their devices. If anything, we're more likely to see the Merge happen on mainnet “later” than we expect. It's not an issue that could affect the mainnet and has to do with PoW testnets having very low hashrates. If you've already downloaded a Ropsten Merge client release, you will, unfortunately, need to upgrade again.
If you want to read more about Ropsten Merge, you can check out @timbeiko’s HackMD post.
N/B: It is worth adding that this is "malicious" in that the Ropsten miner isn't just adding hashrate (which could happen by accident/someone not knowing), but also driving down the gas limit as low as possible. Again, this isn't something we'd see on the mainnet, but worth noting.
Credits to Laurence and Tim Beiko.
If you’d like to read more content like this, consider following me on Medium and Twitter. I’d appreciate it!