Ethereum 2.0 Development Update #30 — Prysmatic Labs

Raul Jordan
Prysmatic Labs
Published in
3 min readJul 11, 2019

Our biweekly updates written by the entire Prysmatic Labs team on the Ethereum 2.0 roadmap.

Merged Code, Pull Requests, and Issues

Post Spec Freeze Code Updates

The phase 0 spec freeze happened just 10 days ago! The team was pumped to jump right to begin aligning code with the latest spec and fixing bugs. We started this tracking issue and now it’s all done except for 1 remaining item! We are happy about the freeze of the phase 0 beacon chain spec, it’s an amazing milestone that we all should be proud of.

Go-SSZ Passing all v0.8 Tests — Updated to Bitwise Merkleization

Our Go-SSZ (Simple Serialize) implementation is fully caught up to the latest v0.8 implementation, including bitvector and bitlist support, as well as virtual Merkleization of dynamic lists for greater efficiency. We are able to run the entire suite of SSZ tests in less than 15 seconds, both for mainnet and minimal configuration options. We still have a while to go in terms of optimizing the library as much as we can, but now we have full confidence in its correctness and its decent efficiency to use throughout our Prysm Eth2 repository. Protolambda put out a great set of visuals explaining the different parts of Eth2, including how hash tree roots work in SSZ.

Wrapping Up v0.8 Spec Conformity Tests

With the new spec freeze that means a new release was tagged, the team has been hard at work to get the previous passing yaml tests to pass again for v0.8. After much struggle we have 95% there!

You can track the progress here. This is a major change from our previous v0.4 release, making our client more robust and giving us confidence in being aligned with the expectations of the protocol. Having our code aligned with the spec, assuming good test coverage, would mean any future bugs that arise in Prysm can be likely attributed to our runtime instead of the core protocol helper functions specified by the researchers.

Miscellaneous

Mytchmatic

We welcome Mitch Kosowski in building a web based tool to understand the system status of Ethereum 2.0. This feature work includes a UI similar to the Parity browser in ETH1, a very light block explorer, proof of stake finality visualizations, and some historical performance on individual validators as well as the entire system of validators. If you have any ideas or would like to get involved in the design and development of this feature work, send a tweet out to @Mitch_Kosowski.

Ethereum 2.0 Implementers Call #21

We recently completed our first Ethereum 2.0 implementers call after the spec freeze — which had a much different tone than the previous calls! Things are finally quite compact on the research side for Ethereum 2.0, and now our calls serve to talk more about potential lack of test coverage for the spec as well as implementation improvements. In terms of Ethereum 2.0 phase 1, there is now a lot more clarity on its research and there are fewer unexpected challenges from the research team.

Interested in Contributing?

We are always looking for devs interested in helping us out. If you know Go or Solidity and want to contribute to the forefront of research on Ethereum, please drop us a line and we’d be more than happy to help onboard you :).

Check out our contributing guidelines and our open projects on Github. Each task and issue is grouped into the Phase 0 milestone along with a specific project it belongs to.

As always, follow us on Twitter or join our Discord server and let us know what you want to help with.

Official, Prysmatic Labs Ether Donation Address

0x9B984D5a03980D8dc0a24506c968465424c81DbE

Official, Prysmatic Labs ENS Name

prysmatic.eth

--

--