After years of delays and changes in plans, Ethereum 2.0 is finally close to its December 1 release.
Phase 0 Ethereum 2.0 introduces the much-anticipated business mechanism on the smart contract platform as well as the launch of the future blockchain skeleton Eth2, the Beacon.
Progress in 2020 has grown steadily with more and more test networks being introduced and repeated. While they were generally successful, they were not exempt from the problems associated with synchronization and mass production.
Some of these issues arose from the need to maintain the same pace between seven different clients or Ethereum 2.0 node software and work with different programming languages and stacks of technology.
Cointelegraph spoke with Zachary Karadgov, research developer at Nimbus – one of those clients – to learn more about the journey Ethereum 2.0 has taken so far and next steps along the way.
The interview is easily edited for length and context.
Cointelegraph: Nimbus appears to have some other issues getting into the Ethereum 2.0 public specification. Why do you think this is the case?
Zachary Karaghov: We’ve been very busy setting up Nimbus for the main network. It’s fair to say that it was more difficult for us because it took us a while to develop some components that were already available to other teams, particularly the Libp2p Networking Team.
It was something we had to build from scratch, and it took a long time to stabilize. These were many months when we struggled to achieve. We just published our first stable release recently. But now we feel confident in the main network: We are working on the last minor issues, and our review is complete as well.
CT: Prysm and Lighthouse – similar to existing Ethereum 1.0 customers built on Go and Rust, respectively – seem to have outdone the others so far. Is it because they were able to continue the work done for Ethereum 1.0?
ZK: My illustration would be oversimplified because there are so many factors involved. But I can say that the development of Libp2p has been a major source of cumin for us. And it’s easy to see the logic here: Teku, which was developed in Java, didn’t have Libp2p implementation, and was also ready for later.
The Prysm team was able to afford the luxury of developing Libp2p a long time ago, as it was originally developed in Go, while Lighthouse was able to take advantage of an app created, again, a long time ago, by the Parity team working with Polkadot.
Libp2p is the network layer of Ethereum 2.0 – arguably a completely different technology from that used in Ethereum 1.0. In practice, there is a subscription technology for publishing called Gossipsub, which is an improved method for broadcasting information across the network.
CT: Let’s talk about the Medalla Test Network. What lessons have the Nimbus and the Eth2 community learned, especially in light of periods when the blockchain did not provide ultimate block guarantees?
ZC: Well, the fights eventually started with a technical problem. This is the popular Cloudflare Roughtime event that featured exactly what we discussed in the previous conversation. If everyone on the network was using the same client, a technical issue with that particular client could cause multiple validators to hang, which could instantly put the network in an unfinished state.
We had this issue with the Prysm client and it taught an important lesson about the importance of communication. The Prysm team was able to solve this problem in a very short time – in just 2 hours. But it took the community a long time to realize that this was a problem and to publish the solution.
This was the first event that led to a long period of unfinished business for Medalla. But it was very beneficial to clients, because when the network is not complete, the customers have to think of as many different possible branches and alternate dates, and this puts a lot of pressure on the customers. So these long periods of unfinished business allowed us to see customers and improve them for these stressful moments on the web when things didn’t work as expected.
CT: During testing of the network and open period, some users have complained that their efforts have diminished despite their internet connection. Is there a malfunction or defect in the system?
ZK: You could describe that as an unexpected result. The problem is mainly that the customer gets rewarded for certificates sent over the network. But these certificates must be included in blocks. If no one can produce blocks, your certificates won’t end up in the chain. You seem inactive.
I believe this issue is well known and acknowledged by both the development team and the research team. It should be eaten in Foo