Last week, seven out of eight Eth2 clients in active development succeeded in achieving a major milestone, moving from single-client to multi-client testnets under “Interop Lock-in”. With the exciting success of Eth2 development, we wanted to think about how we got to this point and what this means for the Ethereum network and ecosystem.
Anyone who has followed Ethereum over the past few years will have become familiar with terms such as “Ethereum 2.0,” “Eth2,” or “Serenity.” Each of these represents a substantial upgrade to the Ethereum protocol, which has been envisioned in some form since before the network went live in 2015.
In the early days of Ethereum, groundbreaking research was conducted in parallel with the launch of the original chain (Eth1), and the resulting massive growth of the Ethereum community helped drive early adoption of decentralized applications. Nonetheless, it has taken a long time from these early innovations to a highly decentralized yet scalable proof-of-stake blockchain. But over the past 18 months, research has finally stabilized into a cohesive and complete vision for the upcoming major upgrade, known as Eth2.
As the study moved to specifications in late 2018, many teams The entire community (client team) stepped up to build the core implementation of the protocol (client). Since then there has been a dynamic play between specification and implementation. biweekly calls and common spec store Although we organize communication and idea sharing, client teams have often worked in relative isolation, building and testing protocol implementations.
While the specification is a moving target, clients can only dig deep into interoperability and optimization, once the Phase 0 specification for Eth2 is considered. “Frozen” On July 1, 2019, the customer made tremendous progress and began taking concrete steps towards production.
interoperability
Joseph Delon pegasis We had a crazy idea to bring together members of each client’s engineering team in a remote location for a week of interoperability work. This event was considered an “Interop Lock-in” or commonly called “Interop”. With specifications frozen, DeVSoon, September’s Interop gave all of these stakeholders an opportunity to directly address early interoperability issues.
that much main purpose The purpose of the event was to enable each participating client to achieve interoperability paired with each other on a small test network. Lighthouse <-> Artemis, load star <-> Lighthouse, load star <-> Artemisetc.
Participating client teams include:
Additional goals include (1) larger networks in both number of nodes and (2) number of validators, (3) networks with three or more clients, (4) improved tools for monitoring and debugging Eth2 networks, (5) Other fun tasks included: I have a Raspberry Pi running and building a fork visualizer.
Ahead of the event, some of the goals seemed daunting, but the team worked diligently until the deadline and made incredible progress. By the end of the week, the client team had far exceeded their original expectations of having a few pairwise networks, and instead had completed full pairwise testing and built a small network. every 7 participating clients and more.
The following is a brief, but not exhaustive, look at the highlights of Customer Success.
Multi-client testnet
- All 7 participating customers achieved Pair-wise interoperabilityAnd although it is the 8th ShasperCouldn’t attend. Started This milestone must also be passed.
- A large testnet was formed with more than 3 clients, 3 nodes, and more than the minimum number of validators.
- All 7 customers It ran successfully on a single network.
- The libp2p implementations of all participating languages are now interoperable after debugging some minor issues.
Network debugging and tools
- part consensus error Identified, debugged, and logged as part of state transitions that required increased testing coverage between clients.
- Command line tools have been built to better debug ssz objects and state transitions (zcli, Pickleyand similar tools built into the client).
- Progress has been made on metrics dashboards, fork visualization tools, and other tools to better understand clients and the network.
- The client was packaged into a container and subjected to large-scale network testing. white block Genesis Platform.
Next few things
- Client teams served as each other’s first alpha users and achieved extensive results. Build/run script and related documents.
- Isolated load testing using Nimbus and Lighthouse handled over 2000 validators on a single machine paired with similar full nodes over a LAN.
- Several clients have been built and tested. small raspberry pi network.
after
Interop marked a major inflection point for Eth2. There’s still a lot of work to be done before launch, but engineering efforts will increasingly be focused on testnets, optimization, and usability – the work of starting to get this software into the hands of users.
So what’s next for the client team and eth2 development?
- Benchmarks and Optimization
- Test synchronization, stress test network, etc.
- Public and Incentivized Testnet
- Third Party Audit
- Refine the validator user experience
Finally, we would like to say a special thank you. Consensis A team that helps configure, host, and provide the resources that enable interop.