The testnet for ETH 2.0, the imminent upgrade to Ethereum, has split into multiple forks due to software errors. The bug, although fixable, is concerning given that the software will soon be deployed on the world’s largest smart contract network, when a similar glitch could cost millions of dollars and cause activity to grind to a halt. Over-centralization was a contributory factor in the fork according to NXT developer Lior Yaffe, who blames overreliance on cloud servers supplied by major tech companies.
Ethereum Faces Its Latest Crisis
Ethereum is at a critical point in its evolution. On the other side of the Red Sea lies the promised land of higher throughout, greater security, and lower fees. But to get there, it’s got to successfully launch ETH 2.0, a highly experimental upgrade with a lot of moving parts. On August 16, those parts collided when a bug stopped multiple nodes and prevented the chain from syncing. In a tweetstorm explaining the cause of the incident, and why it’s so problematic, Lior Yaffe, whose company supports the development of the Ardor and Ignis chains, wrote:
“It turned out that this critical bug occurred in a component using the Roughtime protocol. The network of servers supporting Roughtime is operated by the likes of Google and Cloudflare thus unveiling a huge centralization problem in the ETH 2.0 PoS design and implementation.”
Ethereum’s new implementation, which includes a transition to Proof of Stake, is designed to solve the “Nothing at Stake” (NoS) problem. This is a situation that arises when malevolent entities are incentivized to attack the network because, unlike Bitcoin, they do not have to commit intensive computing power to do so. The bug that occurred on the Ethereum testnet triggered its NoS protection, causing stakers to have their holdings “slashed” in the mistaken belief that they were not upholding the network rules. If replicated in a live environment, such a mistake would be extremely costly.
Yaffe makes no bones about the fact that he is bearish on Ethereum’s Proof of Stake implementation, noting how ETH devs dismissed NXT’s own PoS model in 2017, only for Ethereum’s “superior” solution to fail when put to the test. The NXT lead developer believes there is only a slender chance of ETH 2.0 launching on time with its current PoS model, and there is even the prospect that Proof of Stake may never be ready for mainnet in its current incarnation.
Even explaining how Ethereum’s Casper ELI5 will work is impossible, insists Yaffe, since “it’s composed of layers over layers of complexities.” He believes that newer PoS algorithms do not improve much over NXT’s implementation; rather they merely add a lot more moving parts, making it impossible to establish whether these algorithms actually work as designed.
Not All Proof of Stake Chains Are Created Equal
Proof of Stake can be traced back to 2016, when the proposal for Peercoin, a hybrid PoS+PoW chain, was published. It was NXT that implemented the first pure Proof of Stake system, however, and thus the topic is close to Lior Yaffe’s heart. He recently took Algorand to task for having the temerity to claim this first. Naturally, Yaffe seized on ETH 2.0’s testnet failure as an opportunity to highlight NXT’s own strengths in this domain, noting:
“When faced with a similar design decision when implementing the Nxt pure PoS algorithm used by Ardor, devs decided to avoid centralization by relying only on a network intrinsic clock. Nodes that are ahead of time are blacklisted, nodes that are too late miss their turn.”
The debate over which consensus mechanism is more secure, and better suited to preventing chain splits, is a contentious one. Yaffe, for his part, is in no doubt as to which is best, venturing that a simple PoS algorithm is more secure than PoW in the vast majority of cases. The complexity of Ethereum’s PoS mechanism, in comparison, means that when things go wrong, they can take a lot of effort to right. Developers have suggested a number of solutions for fixing ETH’s testnet fork and getting node operators back to the chain-tip head. They’re now frantically working to implement these and get the testnet back in sync.