Ethereum 2.0 Development Update #27 — Prysmatic Labs

Terence Tsao
Prysmatic Labs
Published in
4 min readMay 23, 2019

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

Testnet Updates

🎉 250k Slots Accomplishment 🎉

We have conducted our first test net reset to try out new features for stability and test some breaking features. The first test run exceeded 250k slots, it was an achievement and we quietly celebrated by back to the drawing board to merge more PRs. The subsequent test run will run for a few weeks as we sprint towards new spec compliance! 🚀

Merged Code, Pull Requests, and Issues

Align State Transition to Spec V0.6.1

We have been hard at work on aligning core processing logic to v0.6.1 of the spec. We started out with updating the helper functions and then moved onto updating block processing and epoch processing in parallel. All the individual efforts are tracked in this mega issue. Fun fact: this our 3rd time reconstructing core processing to a new spec version, and we learned a lot while having lots of fun! 🤓

https://github.com/prysmaticlabs/prysm/issues/2307

Align Deposit Contract to Spec V0.6.1

We have also been at work to updating the Deposit Contract to v0.6.1. Our deposit contract previously was only up to date till v0.4. There were some significant changes to the deposit contract. The main ones are 1.) deposit root and proofs no longer being logged in order to save gas 2.) beacon client now having to compute them locally from their local deposit trie

https://github.com/prysmaticlabs/prysm/pull/2648

Upcoming Work

Integrate v0.6.1 to run time

After aligning the essential core processing functions to the latest spec, what we want to do next is to evaluate how they perform at run time environment, aka use them in test net! We’ve had a successful test net launch with v0.4 of the spec but that’s completely outdated with numerous of bugs. In order to successfully transition to v0.6.1 at run time, we are investigating how to incorporate test vectors data from the beacon chain spec into Prysm. That way we can be ensure our state transcition funtions comply to the spec

BLS

ETH 2.0 leverages BLS signatures for validator attestations. We’re focusing on finding a long term solution that meets the performance requirements for aggregating signatures to support millions of validators. Our current implementation for BLS is not up to the latest specification and we aren’t confident in the performance of the golang cryptography of BLS. In the next few weeks, we’ll be benchmarking some alternatives and making a decision on a long term solution for Prysm.

Miscellaneous

🍕NYC Blockchain Week🍕

We had a very fulfilling blockchain week in NYC, met lots of new friends, ideas and inspirations. Some highlights:

  • Thank you to Pegasys team hosting the ETH2 interop workshop in Brooklyn
  • Felix Lange from the foundation led a discussion on discovery V5
  • Our own Terence led a session a beacon node validator client architecture, here are the slides
  • Joseph & Jonny from Pegasys led a discussion on how will the various ETH2 teams work together to deliver the network
  • Vitalik shared his latest thinking about phase 2 execution engine, here are the slides
  • The team also attended ETHNY and has a lot of fun there, thank you ETH Global for hosting an amazing event! 🙏

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

--

--

Terence Tsao
Prysmatic Labs

Building Ethereum 2.0 client at Prysmatic Labs @Prylabs