Medalla Bug Overview
Ethereum’s Medalla testnet nearly suffered a crash this past weekend from a bug found in the Prysm client which caused validators to fail and those running the client to lose as much as 75% of their testnet ether. Luckily, it was not actual ether on the Ethereum blockchain.
Medalla was launched on August 4th, 2020. The plan was for it to be the final testing environment before Proof of Stake was run alongside Proof of Work (mining) in a live environment on the main Ethereum blockchain.
While Medalla was largely considered a success by the developers and those participating in the test, there were a few issues encountered during the test cited by those involved. Most were minor, but one, in particular, a cause for concern that seems to have far-reaching implications.
- Low initial participation
- Missed slots by validators
- The deadline for the test was exceeded
- and, the subject of today’s article, the bug which desyncronized nodes on the platform.
Cause for Pause
The bug and the reactions downplaying the implications are concerning. Outlined below are some of the responses to the bug & my reasons Ethereum should proceed with caution when implementing Eth2.0.
The Testnet Caught the Bug
Although this particular time-stamp bug will have a fix implemented soon, the nature & outsized impact of the bug should give us pause before proceeding to confidently. It isn’t a stretch to say that real ETH could be irrevocably lost, or a hard fork would have to be discussed if something resembling this bug were to happen in the mainnet trial. Given this possibility, investors and other stakeholders will be very tempted to pull out until a track record is established.
There have been bugs in proof of work chains, including BTC
True, but the consequences have not been a breakdown of the entire system. Bugs in the early days of BTC are not equivalent in impact as a system-wide crash would be at this stage in Ethereum’s game. Imagine that the entire banking system crashed and then when it opened back up as much as 75% of your money evaporated from existence.
An Enticing Target
For those who were not using the Prysm client, the value of their holdings substantially increased due to the slashing of ETH on Prysm. This would present an enticing target to a hacker if they were able to maliciously cause a similar crash.
Beacon Chain w/PoW will be secure
ETH 2.0 will have plenty of time to work out any additional bugs while on the beacon chain. This will provide a safety buffer to patch the bugs that we know about, but an exploit may go undiscovered by well- meaning people and a patient attacker could wait until PoW is out of the picture to strike.
Asymmetry of impact on miners vs stakers
When Prysm nodes were desynched from the Medalla chain, they lost up to 75% of their investment. In order to accomplish a similar reduction in value in a mining scenario, you would have to cause major damage to their physical hardware. Staking occurs completely within the Ethereum environment. Mining involves hardware investment which has independent value that cannot be reduced by a bug in the system.
Ethereum’s path to change has been a story of overcoming setbacks on what seems to be a long, yet steady path to hit the various milestones outlined in their white paper. The progress, setbacks, and suggested changes have always been the subject of lively debates within the community. These debates are uniquely impactful because in order for Ethereum to function as a cryptocurrency it needs to remain decentralized, without the possibility of one stakeholder having enough control to eliminate any other. In a decentralized ecosystem, the ideas that hold sway will naturally have more material outcomes, as there is no single power in control.
Decentralization has meant that the planned changes have moved slower than anticipated. In cases like this, where system-critical operations could potentially be compromised, decentralization will keep Ethereum from moving too fast, headlong off its currently successful path.
Would love to know your thoughts on this subject, as it would seem “proceeding with caution” implementing proof of stake is a rather unpopular position within the Ethereum community.