--- tags: newineth2 description: The latest update on Ethereum 2.0 development image: https://benjaminion.xyz/f/favicon-96x96.png --- <style> a {text-decoration: underline;} a {color: #0000ee;} a:visited {color: #551a8b;} </style> # What's New in Eth2 - 27 June 2020 ![My avatar](https://benjaminion.xyz/f/ms-icon-144x144.png =32x32) Ben Edgington ([PegaSys](https://pegasys.tech/), [ConsenSys](https://consensys.net/) — but views expressed are all my own) Edition 45 at [eth2.news](https://eth2.news/) ## Top picks Danny's back with [eth2 quick update no. 12](https://blog.ethereum.org/2020/06/23/eth2-quick-update-no-12/). ## Phase 0: The beacon chain No spec updates (Yay!), though we are expecting a non-substantive bump next week, with some testing updates, and maybe the new deposit contract (see below). As explained by Danny in his [Eth2 quick update](https://blog.ethereum.org/2020/06/23/eth2-quick-update-no-12/), the deposit contract has been converted from Vyper to Solidity and re-verified, due to concerns about the maturity of the Vyper compiler. The new contract has an identical interface to the old, so it is a transparent change for clients, and there are some nice gas savings as well, thanks to Solidity's better optimisation. The formal verification report is [here](https://github.com/runtimeverification/deposit-contract-verification/blob/master/deposit-contract-verification.pdf). In principle, I like Vyper very much. It takes a thoughtful and conservative approach to the hazards of writing code that lives on blockchains. I very much hope that in years to come it can become a language we can rely on. But this was probably the right thing to do for now. One of the Vyper devs gives a [spicy take](https://twitter.com/fubuloubu/status/1275550047833374725) on this. In BLS crypto-library news, Supranational has open-sourced their new [Blst library](https://github.com/supranational/blst/). We are currently looking at this library for integration with Teku. The Nimbus team is also [evaluating](https://notes.status.im/nim-bls-curve-backends#) a range of BLS libraries. Afri Schoeden performed some [benchmarks](https://github.com/q9f/eth2-bench-2020-06/blob/master/res/2020-06-eth2-bench.pdf) on three of the Eth2 clients: Prysm, Lighthouse and Teku. While the results are interesting, they are only an early snapshot. We are currently making very rapid progress in improving Teku performance, and the Prysm team has also been [hard at work](https://www.reddit.com/r/ethstaker/comments/hfb4sb/preliminary_ethereum_20_client_metrics_for_early/fvxbzdk/). So it's a moving target. Also, some care is needed when interpreting the results. For example, the reason Teku never goes above 30 peers is that thirty is our default limit: it's a command-line parameter. All the same, it's a great bit of work, and one thing is clear: the Lighthouse team has done an incredible job of making their client lightweight and performant. ## Testnets ### Witti Witti started a month ago today and is the second multi-client testnet. On the whole it has been fairly unexciting, which is just the way we like it :sweat_smile: Witti began with Lighthouse, Prysm, and Teku nodes, and Nimbus was also able to jump aboard after a while. A couple of weeks in, there was a long period of non-finality due to low participation. This seems to be a feature of testnets. I don't expect it very often on the real network; people neglect their testnet validators. But that's about it for thrills. I think the plan is to leave Witti running with a few validators to see if the quadratic leak (the finality recovery mechanism) can succeed in booting off enough inactive stake to start finalising again. ### Altona Next stop on the Berlin subway map is Altona! (Though I can't actually find that station - Afri?) Altona is the first joint testnet that has the v0.12.1 specification, which is our release candidate for the real thing. The Altona genesis event is due on Monday, June 29th, at 12:30 UTC (plus 5 seconds) and it is starting with 640 validators from 5 teams (plus a few more who sneaked in early): Teku, Prysm, Nimbus, Lighthouse, and the Ethereum Foundation. I don't think a livestream is planned; Afri is not available. But no doubt there will be plenty of chit-chat on the Altona [Discord](https://discord.gg/zyZXUN7) channel. ### Attack nets On this week's [devs' call](https://hackmd.io/@benjaminion/r1PieQMAU), Danny announced plans to run a variety of ["attack nets"](https://notes.ethereum.org/@djrtwo/Hkth99G3I). This would be largely organised by the Ethereum Foundation in order not to put too much burden on the client teams. The idea is to reward successful attacks of different types, whether against clients, the network, or the protocol. This could be happening within a couple of weeks, so start polishing up those leet skillz. ### Onyx Last, but definitely not least, is Prysm's new testnet, Onyx. This is essentially single-client (almost all Prysm), although in principle other clients can join. We've been syncing up and testing Teku against Onyx, for example. The testnets above, I'd characterise more as "devnets" - they are really a playground for the client teams, and not a lot of work has been put into making them super user-friendly. Onyx has a different goal and encourages the [widest possible](https://prylabs.net/) participation. It's a great way to get a flavour of what running a validator will be like, whether or not you plan to run Prysm long term. Onyx has been running for about two weeks, and currently has over 23000 validators. ## The Great Explainers CoinTelegraph explores [The Choice Between One’s Own Node and a Staking Service](https://cointelegraph.com/news/ethereum-20-the-choice-between-ones-own-node-and-a-staking-service). See more from me on this in the "other news" section below. And another article from CoinTelegraph weighs up the [benefits and risks](https://cointelegraph.com/news/ethereum-20-should-be-secure-and-scalable-but-poses-risks-for-users) of Eth2 for the Ethereum ecosystem. The wonderful ECN (the Ethereum China Network) did an event called [Hello ETH 2.0](https://twitter.com/Ethereum_CN/status/1273627505975603200) in an AMA format. There's a nice [recap article](https://medium.com/@ethereumcn_43714/hello-eth2-0-ama-e28837e7ce11), and [transcript](https://docs.google.com/document/d/1foYGbeRMB9MqrjKQZY1pf15wenPg333k_KP4o636AXg/edit) (both in English). Nick Tomaino discusses [The Economics of Eth2](https://thecontrol.co/the-economics-of-eth2-dbcc78a2f48): how Eth2 brings long-term value to Ethereum. ## Research If you have any interest in Eth2 networking, then be sure to check out Jonny Rhea's "Packetology" posts on Ethresearch. The first looks at what it takes to [de-anonymise validators](https://ethresear.ch/t/packetology-validator-privacy/7547?u=benjaminion). The second is a testnet [block propagation analysis](https://ethresear.ch/t/packetology-eth2-testnet-block-propagation-analysis/7561?u=benjaminion). Hope to see lots more of these. While the current noise is all about the run up to the Phase 0 beacon chain launch, plenty of other critical work continues quietly behind the scenes. For example, Guillaume Ballet of the EF and Mikhail Kalinin of PegaSys among others have been doing a lot of work on what the Eth1--Eth2 merger could look like (so-called Phase 1.5). Here's Guillaume's latest on the [architecture of a geth-based eth1 engine](https://ethresear.ch/t/architecture-of-a-geth-based-eth1-engine/7574). I've stopped tracking everything that's happening in stateless Ethereum here as it's just too much. But the work on statelessness remains a key enabler for the later stages of Eth2. Here are notes from the most recent [Stateless Ethereum call](https://ethresear.ch/t/stateless-ethereum-call-7-digest-june-16-2020/7548?u=benjaminion). Since we're on the subject, my brilliant PegaSys colleagues Alexandre and Olivier published a proposal on how to [speed up hashing](https://ethresear.ch/t/using-gkr-inside-a-snark-to-reduce-the-cost-of-hash-verification-down-to-3-constraints/7550?u=benjaminion) in Snarks by over 200 times. Math is involved, but this has been talked about as a possible game-changer in enabling witness compression for statelessness, not least by Vitalik on the recent Eth2 devs' call. ## Regular Calls ### Implementers Call #42 took place on the 25th of June. * [Agenda](https://github.com/ethereum/eth2.0-pm/issues/162) * [Video](https://youtu.be/P1AEmUt9ltg?t=327) * My [quick notes](https://hackmd.io/@benjaminion/r1PieQMAU), and [full notes](https://github.com/ethereum/eth2.0-pm/blob/555d787a21c372b5cec5d849ebc3ddf1b6f0aa5b/eth2.0-implementers-calls/call_042.md) from the Cat Herders. Aside from the news on "attack nets", other interesting items were in the research section. For example, from Aditya about the weak subjectivity period, which he calculates as being around two weeks. I think this is quite a lot shorter than many had expected. When his work is published I'll revisit this with some explanation and look at the consequences. If you want to do some prep work, here's Vitalik from 5.5 years ago on [weak subjectivity](https://blog.ethereum.org/2014/11/25/proof-stake-learned-love-weak-subjectivity/), and here's a [simple explainer](https://www.symphonious.net/2019/11/27/exploring-ethereum-2-weak-subjectivity-period/) from my colleague Adrian Sutton. If networking is your thing, we discussed a few spec niceties around whether Snappy compression really needs to be optional for some usages, use of _yamux_ in libp2p, incompatibilities in the Noise protocol, and clock disparity parameters. ### Key management There was also a [call](https://github.com/ethereum/eth2.0-pm/issues/161) on June the 18th to discuss best practices for key management for Eth2, and what clients should implement to make key management safer. I wasn't able to attend, but Mamy made [some notes](https://github.com/ethereum/eth2.0-pm/issues/161#issuecomment-646086662). Basically, nothing controversial, and client teams are in good agreement on these things. Note that there are some recent updates to the EIPs around Eth2 key generation and storage: [here](https://github.com/ethereum/EIPs/pull/2743), [here](https://github.com/ethereum/EIPs/pull/2744), [here](https://github.com/ethereum/EIPs/pull/2749), and [here](https://github.com/ethereum/EIPs/pull/2748). There may be more, so keep an eye out. ## In other news ConsenSys announced its [Codefi Staking pilot programme](https://consensys.net/blog/press-release/consensys-codefi-announces-ethereum-2-0-staking-pilot-program-with-six-members/), which is an Eth2 staking as a service platform for institutional clients. This caused a fair positive buzz, but was [not a hit](https://twitter.com/koeppelmann/status/1273013226364698625) with everyone. I need to declare an interest: I am the Product Owner of Teku, the Eth2 client that Codefi Staking is building on. (You might find a Coindesk article around with some quotes from me about this.) We're building Teku as a client designed for institutional stakers, but equally I deeply believe that Eth2 will fall very short of its goals without an army of individual stakers. I might write more about this tension in weeks to come (when it's not nearly midnight here). The short version is that I tend to take a "both/and" worldview, and that's ok. Other things: - Client team updates from [Nimbus](https://our.status.im/nimbus-june-update/), and [Prysm](https://medium.com/prysmatic-labs/eth-2-0-dev-update-52-onyx-testnet-launched-a87a937f292e). - A [fuzz testing](https://blog.sigmaprime.io/beacon-fuzz-05.html) update from Sigma Prime. ## And finally... It is Gitcoin Grants CLR matching season once again! I don't have a specific grant up for What's New in Eth2, but my [Eth2 Annotated Spec](https://gitcoin.co/grants/551/the-ethereum-20-annotated-specification) grant from the last round is still up as a catch-all, if you feel moved to contribute. Thank you so much to all the wonderful people who have already made a donation in this round, even before I shilled it here! :heart: On the subject of the [Annotated Specification](https://benjaminion.xyz/eth2-annotated-spec/) I'm keeping it up to date with the latest spec version, and making progress slowly. I'm planning a big push over the next weeks to finish off the last part of the Beacon Chain state transition. * * * [![[Twitter]](https://benjaminion.xyz/newineth2/img/twitter.svg =40x40)](https://twitter.com/benjaminion_xyz) Follow me on [Twitter](https://twitter.com/benjaminion_xyz) to hear when the next edition is out 🙌. [![[RSS]](https://benjaminion.xyz/newineth2/img/rss.svg =32x32)](https://benjaminion.xyz/newineth2/rss_feed.xml) We also have an [RSS feed](https://benjaminion.xyz/newineth2/rss_feed.xml).