📰NewsEarlier this month, members of seven different teams developing Ethereum 2.0 clients met for a week-long event, to code and debug together, and succeeded in getting all seven clients talking to each other. There were other important milestones as well, such as improved test coverage around newly identified consensus failures. The teams are aiming to launch the first phase of Ethereum 2.0 in the first quarter of 2020. That's an ambitious timeline, but this is a big step in the right direction. Link.
The Prysmatic Labs team published their own recap of interop week that also delves into what is ahead. Prysmatic Labs is building the Prysm client in the Go programming language. They were the first team to launch an ETH 2.0 testnet earlier this year. The writeup points out that while the "happy path" is now working fairly well, there is still important work to do on security and optimization. The clients need to be hardened against potential attacks, such as DDoS or network spam. Additionally, they are looking at ways to speed up client performance. One interesting data point: the Prysm client currently spends 99% of its runtime calculating and verifying cryptographic signatures. Link.
While the progress being reported on is great, it's also important to remember that this all for Phase 0 of the Ethereum 2.0 network. It will allow users to migrate funds from ETH 1.0 and use them to stake. It may also be used to finalize blocks on the legacy network. But it won't even include the ability to transfer Ether, let alone any sharding or smart contract features. Those will come later, in Phase 1 and Phase 2 of the network. For a succinct but informative explanation of ETH 2.0 roadmap, check out this writeup on EthHub. Link.
Longtime readers of this newsletter know that I'm a self-described "hopeful skeptic" about Ethereum 2.0. I want it to work, and I'm impressed by the effort being put forth by researchers and implementors alike. At the same time, I'm keenly aware of the steep technical challenges the new network will face, so I think a cautious posture is warranted.
The hopeful side of me is impressed and excited by the progress being reported, but the skeptical side of me knows there is still an enormous amount of risk left to be retired. Even after ETH 2.0 launches its mainnet, and even after the final two phases go live, we'll still need to see the network operate successfully for years before we can feel totally confident in its security and sustainability.
All that said, the news coming out "interop week" is a great sign. From an engineering perspective, it's shockingly difficult to get two implementations of anything to match the same spec. To get seven separate clients, built by distributed teams around the globe, to communicate with each other via a shared peer-to-peer networking protocol is truly a feat. The teams involved all deserve to be commended.
It's also looking likely to me that we'll see Phase 0 of Ethereum 2.0 launch sometime in 2020, even if I'm still not sure it will land in the first quarter. This will be a big milestone, as all the specs and tests in the world don't compare to a network running in the wild, securing real value in an adversarial public environment. We'll learn a lot about just how robust things are when the mainnet launches.
While I'm not letting myself get my hopes up too high, I am really rooting for Ethereum 2.0 to succeed. A decentralized, trust minimized, yet reasonably scaleable smart contract platform would be a huge boon for the future of crypto. The experimentation happening on Ethereum 1.0 shows the demand for such a platform exists, and that creative developers and entrepreneurs will find amazing things to do with it. Next year will be a critical and exciting one on the road to making ETH 2.0 a reality. Stay tuned!