Eth2 dev talks about challenges and lessons learned ahead of mainnet launch

Published at: Nov. 30, 2020

After years of delays and changes in plans, Ethereum 2.0 is finally approaching release on Dec. 1.

Ethereum 2.0 Phase 0 is introducing the long-awaited mechanism of staking to the smart contract platform, in addition to launching the skeleton of a future Eth2 blockchain, the Beacon Chain.

Progress in 2020 steadily picked up pace as more and more testnets were introduced and iterated on. While they were successful in aggregate, they were not exempt from problems related to synchronization and block production.

Part of those issues came from the challenge of keeping the same pace between seven different clients, or Ethereum 2.0 node software, working with different programming languages and technology stacks.

Cointelegraph spoke with Zahary Karadjov, research developer at Nimbus — one of those clients — to learn more about both the road Ethereum 2.0 has traveled so far and the next legs of the journey.

The interview has been lightly edited for length and context.

Cointelegraph: Nimbus seems to have had a few more issues catching up to the shared Ethereum 2.0 specifications. Why do you think that is?

Zahary Karadjov: We were very busy preparing Nimbus for mainnet. It’s fair to say that it has been a little bit more challenging for us because it took us a while to develop some of the components that the other teams already had available — more specifically, the Libp2p networking layer.

This is something that we had to build from scratch, and it took us quite a lot of time to stabilize it. There were a few months where we were struggling with performance. It was only recently that we published our initial stable release. But right now, we feel confident for mainnet: We are working on the last of the small issues, and our audit has also been completed.

CT: Prysm and Lighthouse — which similar to existing Ethereum 1.0 clients were built in Go and Rust, respectively — seem to have been ahead of the others so far. Is that because they were able to build on the work done for Ethereum 1.0?

ZK: My explanation will be a simplification, as there are many factors involved. But I would say that developing Libp2p has been the most significant source of delays for us. And the logic is easy to see here: Teku, which is developed in Java, also didn’t have a Libp2p implementation, and it also became ready at a slightly later stage.

The Prysm team had the luxury of having Libp2p developed a very long time ago, as it was originally developed in Go, while Lighthouse was able to take advantage of the implementation created, again, quite some time ago by the Parity team for its work on Polkadot.

Libp2p is the networking layer of Ethereum 2.0 — you can say it’s a completely different technology from the one that’s used in Ethereum 1.0. In very practical terms, it’s a publish-subscribe technology called Gossipsub, which is an optimized way to broadcast information in the network.

CT: Let’s talk about the Medalla testnet. What lessons did Nimbus and the Eth2 community learn, especially considering the periods where the blockchain wasn’t providing block finality guarantees?

ZK: Well, the struggles with finality started with a technical issue. There’s the famous Cloudflare Roughtime incident, which demonstrated exactly what we were discussing in our previous conversation. If everybody on the network is using the same client, a technical issue in this particular client could put a lot of validators offline, which may immediately render the network into a non-finalizing state.

We had this issue with the Prysm client, and it also taught an important lesson in the importance of communication. The Prysm team was able to provide a fix for this issue in a very short amount of time — just a couple of hours. But it took quite a while for the community to realize there was a problem and to deploy the fix.

This was the initial incident that created a long period of non-finalization for Medalla. But this was actually very helpful for the clients because when the network is not finalizing, the clients have to consider many different possible forks and alternative histories, and this puts a lot of stress on the clients. So, these long periods of non-finalization allowed us to see and to optimize the clients for these stressful moments in the network where everything is not running as expected.

CT: During the testnet and the non-finality period, some users complained that their stake was reduced even if they were online. Is that a bug or a feature of the system?

ZK: You could describe it as an unanticipated consequence. Basically, the problem is that the client gets rewarded for the attestations broadcast on the network. But these attestations are supposed to be included in blocks. If there is nobody to produce blocks, your attestations don’t end up on the chain. So, it looks like you’re not active.

I think this issue is well recognized and acknowledged by the implementation team and the research team. It should be addressed in the future of Ethereum — in Phase 1, or even Phase 0.5, one of the very first upgrades of the network. But we should not forget that it would be quite unexpected if we see low participation rates on the mainnet, as when there’s real stake involved, the incentives for validators to be online are much stronger.

CT: Do you think these complexities and the requirement of being constantly online could turn people away from staking with their own devices?

ZK: Well, this is a very common misconception that I think we should do a much better job at communicating. Actually, the risks of not being online all the time are not that great. You will make a profit if you are online more than 50% of the time. Think about it: You can be offline for half of the year, and you’ll still be at zero. You won’t be making any money, but you also won’t be losing any money. The protocol is quite forgiving in this regard.

CT: What comes after the mainnet launch of Phase 0? Is sharding the next upgrade on the list or do you expect more work required for this initial Beacon Chain?

ZK: There will certainly be upgrades coming with the integration of Phase 1, and it would require breaking changes — or let’s just call it a hard fork — where the client teams will release new software as more functionality is brought online. We expect the rollout of the finality gadget at some point, which will finalize the Ethereum 1.0 chain through the consensus mechanism of Ethereum 2.0. All of these ongoing releases are going to happen in parallel. They’re a little bit independent from each other and are part of the Ethereum roadmap for the next few years.

Tags
Related Posts
Ripple co-founder thinks Bitcoin should move away from proof-of-work
Bitcoin code contributors need to consider a move away from the cryptocurrency’s proof-of-work consensus mechanism, Ripple co-founder Chris Larsen argued. In a Wednesday blog post, Larsen outlined major PoW-related vulnerabilities, noting growing concerns over Bitcoin’s carbon footprint. According to the executive, PoW-based coins like Bitcoin (BTC) should consider a code change to carbon-neutral validation methods like proof-of-stake or federated consensus, or something yet to be developed. “I would argue that such a change is critically important for Bitcoin to remain the world’s dominant cryptocurrency. PoW’s current energy demands and carbon footprint are already unsustainably high, with Bitcoin alone consuming an …
Technology / April 22, 2021
Ethereum 2.0 Final Testnet Set to Launch on August 4
The long awaited Ethereum 2.0 network upgrade has taken one step closer to launch with a preliminary date announced for the final planned public testnet. The platform’s launch coordinator, Danny Ryan (@djrtwo) shared the news on the testnet’s discussion board on Discord. “After discussions with client teams, the next multi-client testnet (mainnet config including min validator numbers) will have a min genesis time of August 4th,” Further details would be made public in a couple of days, the Ethereum developer added. Phase 0 of ETH 2.0 has been running on various testnets since the genesis block was created for Beacon …
Technology / July 22, 2020
Bitcoin Will Follow Ethereum And Move to Proof-of-Stake, Says Bitcoin Suisse Founder
Niklas Nikolajsen, the founder of Swiss crypto broker Bitcoin Suisse, predicts that Bitcoin (BTC) will move to Proof-of-Stake (PoS) once the Ethereum (ETH) network has proved the algorithm’s success. Bitcoin’s current Proof-of-Work (PoW) consensus algorithm — the pioneering concept which in fact pre-existed Bitcoin, but has since come to be indissociable from the cryptocurrency — “will probably change in the future,” Nikolajsen argued. In outtakes from an interview conducted for a German TV documentary — recorded back in October 2019, but uploaded on April 6 — Nikolajsen said: “[Bitcoin’s move to Proof-of-Stake] is not planned, but the second-largest cryptocurrency, Ether, …
Technology / April 14, 2020
Apples and oranges? How the Ethereum Merge could affect Bitcoin
It’s been a month since Ethereum said goodbye to an essential feature its blockchain shared with Bitcoin (BTC). Called the Ethereum Merge, the long-hyped upgrade was widely celebrated, with the blockchain ecosystem. However, for the mainstream audience or even for the average trader, it felt more like a Star Wars Day celebrated by sci-fi geeks than an early Christmas. As the Ethereum Merge occurred on Sept. 15, the most extensive blockchain ecosystem parted ways with the proof-of-work (PoW), the energy-hungry consensus mechanism that makes Bitcoin tick. The Ethereum blockchain now works on a more eco-friendly proof-of-stake (PoS) mechanism that doesn’t …
Technology / Oct. 18, 2022
Ethereum at the center of centralization debate as SEC lays claim
Ethereum went through a key network upgrade on Sept. 15, shifting from its proof-of-work (PoW) mining consensus to a proof-of-stake (PoS) one. The key upgrade is dubbed the Merge. The Merge was slated as a critical change for the Ethereum network that would make it more energy efficient, with later improvements to scalability and decentralization to come. A little over a month later, however, some industry observers fear the PoS transition has pushed Ethereum toward more centralization and higher regulatory scrutiny. The Merge replaced the way transactions were verified on the Ethereum network. Instead of miners putting in their computational …
Technology / Oct. 24, 2022