Welcome to this week fast eth2 update!
tldr;
Shasper joins the Prysmatic testnet
Parity’s eth2 client, Shapersuccessfully joined Prysmatic’s Sapphire Testnet marks the first public multi-client eth2 testnet. This is the exciting start of a lot multi-client test networks coming next month.
You can now extract the Shasper codebase and, with a few commands, connect to the Sapphire testnet. If you want to try, follow the instructions here.
Launch of Eth2 Block Explorers
Not A but two (!) eth2 block explorers were recently launched. These two block explorers are currently monitoring Prysmatic Labs Sapphire Testnetproviding location-by-location information as validators build the beacon chain.
Bitfly launched its beaconcha.in block explorer a few weeks ago and keep adding cool features per day. Etherscan has just launched its block explorer yesterday, and it too seems packed with interesting features and data. Both will be great options for monitoring Prysmatic testnets and others as they go live.
We’re excited to see more and more user/developer tools built around eth2 clients and testnets 🙂
First eth2 network call
So far, we’ve relied on github issues/pull-requests, ad hoc discussions, the eth2 main call, and in-person meetings to organize the networking components of the eth2 spec. It largely worked pretty goodbut the research and architecture of a network supporting a sparse blockchain protocol is an issue that increasingly deserves more specific attention and resources.
To this end, we had our first eth2 network specific call this week. Although this call is not live streamed like the general eth2 call, it is public and open to all contributors. Thank you to the p2p network experts from the different eth2 teams who pushed for this call. I was initially reluctant due to the additional coordination costs, but the first call proved very successful and I am looking forward to the next one.
As always Ben Edgington (call notes) and Mamy Ratsimbazafy (call notes) took excellent notes. We still have a lot to explore and our next call will be in about 2 weeks.
Thank you Will Villanueva from the Quilt Team for organizing the first eth2 phase2 community call. Similar to new networking and light customer calls, Phase 2 has enough going on to warrant a regular call to keep research and development more organized.
This first call served as a general update and investigation into the various ongoing discussion threads within the many teams and individuals involved. You can read the notes here. Subsequent calls are intended to be more in-depth working sessions on specific technical issues.
One of the main goals of Phase 2 is to overcome the first wave of research on stateless protocols and use the results to refine the scope into a more concrete plan to execute in 2020. These calls are an excellent step forward towards this goal.
Fixing Forkchoice status
Researchers at San Jose State University, led by Yan GHOST). Before publishing their work, they found a special case in the interworking of FFG+GHOST in which a branch of the block tree could include the last justified/finalized blocks but not actually show these blocks as justified/finalized in on-chain state. Leaving such “non-viable” branches in the fork choice can lead to situations where a validator’s vote might not be consistent with local finality information and could, in some scenarios, lead to liveness failures. . You can read more about this particular scenario and the proposed solution here.
To deal with this scenario, we have a patch under review in the specifications submission. We expect this hotfix to be released within the week.
Specification and implementation of new BLS standards
The long-awaited BLS standards were recently presented for public comment at the IETF 106 Meeting. You can consult the presentation And slides for yourself. The presentation went as planned and the standard is expected to be adopted by a number of blockchain projects and (Ultimately) in the IETF. To more semi-officially enshrine this standard before the lengthy IETF process ends, I expect EF and many other projects to more officially announce intended use soon.
There are two draft pull requests ((1) (2)) under review in the specifications filing, as well as an implementation of the new standard under examination in py_ecc. Once the review is complete, we will generate the new BLS test vectors for general consumption by eth2 clients. The intention is to switch the testnets to the modified BLS scheme in January.
The BLS standards also remove one of the last blockers to the launch of the eth2 deposit contract. Runtime Verification is currently completing its report on the formal verification and analysis of the deposit contract bytecode. This report is expected to be released by the end of the month for public review, after which we can Finally run this thing 🚀.