“Multi-Client” Approach Slowing Down ETH2.0
Speaking at the ongoing Consensus: Distributed 2020 conference on May 13, Ryan notes following a multi-client approach is hampering the swift launch of Ethereum 2.0, also called “Serenity.”
The update, headed by a dev team from Parity Technologies, is a multi-client addon that allows different open-source projects to share code, work, and tackle security issues collaboratively.
Seven open-source projects, including Ethereum’s Trinity, Parity, Prysm, and Nimbus, are implementing their native testnet versions.
Prysm has opened over 400 nodes on its single-client testnet. Ryan adds another tester, Sigma Prime’s Lighthouse, is the most “performant” client the project has seen in terms of speed, scalability, and security.
However, Ryan says the massive amount of work on invested in following the multi-client approach is adding to ETH 2.0’s delay.
“The multi-client paradigm brings in the additional complexity to get things to the mainnet. If we had one client, maybe we would be in mainnet already.”
Having a multi-client tool is important for ETH 2.0, and even a significant feature. But to make that possible, thr team has reportedly taken a “specification-first” approach towards the framework – meaning first the entire protocol will be designed, and then individual implementations shall be tested.
Ryan states a multi-client approach helps the network operate as normal in times of critical events. This means if a critical bug is present in a single client and it “goes down,” other clients – representing a majority – will continue to secure and process transactions through would presumably not be affected.
The above is a valid concern. Parity and Geth, both working on the testnet, have experienced severe bugs and downtime previously, but the mainnet was “able to stay” up due to Ethereum’s unique protocol.
Such an amount of work and implementation, however, takes a lot of time.
Meanwhile, the ETH 2.0 team continues to push back launch. The update was earlier rumored for a July date, but Afri Shroeden shot down any such possibilities.
Yeah I did not say July. Perhaps the question contained the word July but I did not hear July when it was asked.
— vitalik.eth (@VitalikButerin) May 12, 2020