--- tags: newineth2 description: The latest update on Ethereum 2.0 development image: https://benjaminion.xyz/f/favicon-96x96.png GA: UA-129359374-2 --- <style> a {text-decoration: underline;} a {color: #0000ee;} a:visited {color: #551a8b;} </style> # What's New in Eth2 - 7 February 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 35 at [eth2.news](https://eth2.news/) ## Top picks As ever, top pick is Danny Ryan, with his latest [Eth2 Quick update](https://blog.ethereum.org/2020/02/04/eth2-quick-update-no-8/). Read that before you read this. Also, **Eth222** is almost upon us. If you will be around Stanford in two weeks' time then [sign up here](https://www.eventbrite.com/e/eth-222-tickets-90667602239). ## Eth2 AMA The Ethereum Foundation research team did their third [Eth2 Reddit AMA](https://www.reddit.com/r/ethereum/comments/ez972u/ama_we_are_the_eth_20_research_team_pt_3/) this week. The part that's gained the most attention is discussion of the [beacon chain launch timing](https://www.reddit.com/r/ethereum/comments/ez972u/ama_we_are_the_eth_20_research_team_pt_3/fglqao2/). Tl;dr maybe July; very strong confidence that it will be this year. As product owner of one of the clients expecting to be on that testnet (Teku! Teku! Teku!), I agree with the general picture described, with the usual caveat that it's ready when it's ready, not at some arbitrarily decided date. ## Phase 0: The Beacon Chain implementation The security audit of the specification is being being conducted by Least Authority, and an initial report is expected in the next days. This will be published after review by the Ethereum Foundation. The v0.10 spec release is proving stable so far, with no substantial updates. If anything needs addressing as a result of the security audit then there will be an update as soon as possible. ### Networking Whiteblock has been running some [detailed benchmarks](https://whiteblock.io/testing-gossipsub-with-genesis/) of libp2p _gossipsub_ protocol: > the first two phases of this testing effort shows that the Libp2p Gossipsub protocol performs sufficiently well for Ethereum 2.0 specifications. But they recommend following up with some larger scale testing and a few implementation improvements. The full details are [here](https://github.com/whiteblock/gossipsub-testing). A certain tweet from last year may have been [fake news](https://twitter.com/DeanEigenmann/status/1137032627230089216). ### Testnet news Prysm's testnet is well past slot number 200,000 and currently has 35,281 validators - over twice as many as we plan to start the real beacon chain with. [Word is](https://twitter.com/terencechain/status/1225862506117156864) that they are about to give a further boost to the number of validators. The testnet recently saw its first [voluntary exits](https://beacon.etherscan.io/validators#exited) of validators, which is a nice test of an important part of the protocol. (Here's the block containing the [first voluntary exit](https://beaconcha.in/block/124256).) Lighthouse is currently relaunching their testnet, aiming to run it with 100,000 validators :muscle:. The beacon chain explorers are outdoing themselves in providing views of the testnets: here's [beaconcha.in](https://beaconcha.in/) (checkout dark mode, bottom-right!) and [EtherScan](https://beacon.etherscan.io/) both showing Prysm's network. Alethio is doing their thing with a nice beacon node-centric view of the network status, [eth2stats](https://eth2stats.io/sapphire-testnet). Bitfly (the outfit behind both EtherChain and beaconcha.in, and also, [interestingly](https://twitter.com/trent_vanepps/status/1225925911310151680), Ethermine) are really pushing forward. They've added functionality to estimate when your validator [will be activated](https://twitter.com/etherchain_org/status/1221122130877779969), and are working on a service to alert you if your [validator is down](https://twitter.com/etherchain_org/status/1224965122017370114). Not only that, but they have started an [Eth2 knowledge base](https://kb.beaconcha.in/). There's only a nice glossary there for now, but it's a good start. I get the sense that EtherChain is often second choice on Eth1, but perhaps they are aiming to be #1 on Eth2. Meanwhile, the Nimbus team put together the first [Eth2 testnet installed on mobile phones](https://twitter.com/m_ratsim/status/1224769743892230151). They've [documented](https://our.status.im/building-nimbus-on-android-2/) how to build the Nimbus client for Android, so you can do this too. But never mind mobile phones, [this](https://inversepath.com/usbarmory.html) is where Jacek would really [like to be](https://twitter.com/jcksie/status/1222915245750063104) running his Eth2 validators. ### BLS signatures With v0.10.0 of the spec, the new, standardised approach to generating digital signatures was adopted. A note on standardisation. Back in the day, Eth1 adopted the winning SHA3 hash standard candidate, keccak256. Unfortunately, between Ethereum adopting Keccak and the final standard being published, a very [minor change](https://crypto.stackexchange.com/questions/15727/what-are-the-key-differences-between-the-draft-sha-3-standard-and-the-keccak-sub) was made, meaning that Eth1's hashes no longer match the SHA3 standard. This is not a huge issue, but is a bit annoying, especially as it may affect interoperability. There is a chance that history might repeat itself for Eth2. The hash-to-curve standard remains a [work in progress](https://github.com/cfrg/draft-irtf-cfrg-hash-to-curve/). Although we believed that it was stable, it [may yet change a little](https://github.com/cfrg/draft-irtf-cfrg-hash-to-curve/issues/202). This won't break Eth2 in any way, but might affect interoperability with other chains if the standard ends up diverging from what we are doing. That aside, Shigeo Mitsunari has [made a release](https://twitter.com/herumi/status/1225322677902049281) of his [Herumi library](https://github.com/herumi/mcl), which is the first high-performance implementation of the emerging standard in a general library. ## Phase 1: Sharding implementation There's been a minor update to the [Phase 1 specification](https://github.com/ethereum/eth2.0-specs/tree/dev/specs/phase1), namely the [removal](https://github.com/ethereum/eth2.0-specs/pull/1560) of shard block chunking. Minor updates notwithstanding, Phase 1 is now ready for review: so what are you waiting for? ## Phase 2: Execution environments There's still a lot of research and discussion going on about exactly what Phase&nbsp;2 will look like. The broad approach is pretty much agreed, but there remains quite a large design space to explore before execution environments can be precisely specified. Meanwhile, here is [a write up](https://hackmd.io/@villanuevawill/H1E1LT_z8) by the Quilt team on cross-shard Ether transfers, arising from [an ethresear.ch post](https://ethresear.ch/t/an-even-simpler-meta-execution-environment-for-eth/6704?u=benjaminion) by Vitalik. Vitalik has a proposal for [delayed block inclusion](https://ethresear.ch/t/stateless-ees-and-delayed-block-inclusion/6839?u=benjaminion) for EEs as a censorship-resistance mechanism. ## Regular Calls ### Implementers Call #33 took place on the 6th of February. * [Agenda](https://github.com/ethereum/eth2.0-pm/issues/126) * [Video](https://youtu.be/c8BhhPfdy0A?t=117) * My [quick notes](https://hackmd.io/@benjaminion/SyDfdcFGL), and [from Mamy](https://gist.github.com/mratsim/1e9feaafd81a2dfa5e7106d08fc2848d). Apart from all the usual client updates and spec latest, we talked about creating reference tests for the fork choice rule. Six months ago, [I forecast](https://notes.ethereum.org/@ChihChengLiang/Sk8Zs--CQ/https%3A%2F%2Fbenjaminion.xyz%2Fnewineth2%2F20190802.html?type=book) that, "a cottage industry in writing explainers will no doubt spring up". Well, it's happening! I link out to quite a few in [eth2.info](https://eth2.info), but a couple of more substantial efforts were brought up on the call. First, the Quilt team announced the Eth2 book effort being led by Kelvin Fichter. This is an ambitious attempt to document all of Ethereum&nbsp;2.0. We are aiming to get the first five chapters out in the next three months. Another effort underway is Protolambda's write-up on [how to build a beacon chain client](https://hackmd.io/@protolambda/BkfhKHxzI) from scratch. Several people are involved, including Leo who mentioned it on the call - he's hoping the first draft will be done by [EthBarcelona](http://ethbarcelona.io/) in May. ### Networking The third networking call (call #2 - yeah, I know) was on the 29th of January. I took some [notes](https://hackmd.io/@benjaminion/HJTHyWyf8). It included a [monster update](https://github.com/ethereum/eth2.0-pm/issues/124#issuecomment-579740557) from Protocol Labs, discussion of the _discv5_ node discovery protocol, a review of the testnets so far, some work on clock synchronisation, and more. ### Eth 1.x This is a really nice explainer on the state of play of [making Ethereum 1.0 stateless](https://blog.ethereum.org/2020/01/28/eth1x-files-the-stateless-ethereum-tech-tree/) by Griffin Ichiba Hotchkiss. As we've noted many times before, a practical implementation of statelessness is critical to the success of Eth2, and also a pre-requisite for bringing Eth1 into Eth2 at some future time. Word is that the next Stateless Ethereum call will be on Tuesday the 25th of February at 16:00 UTC. ## Research Alex Vlasov is continuing to think about making Eth2's time protocol byzantine fault tolerant. He's recently written about [Time as a Public Service in Byzantine context](https://hackmd.io/@ericsson49/SybaHTcMI). ## In other news - Development updates from [Prysmatic Labs](https://medium.com/prysmatic-labs/eth-2-0-dev-update-42-rapid-iteration-7abdd62109e3) and [Lighthouse](https://lighthouse.sigmaprime.io/update-21.html). Everybody is working crazily on optimisations (yep, us as well!). - Among this week's great explainers: - Alex Tudorache of Alethio with [A Validator’s Journey Through the Beacon Chain](https://medium.com/alethio/ethereum-2-a-validators-journey-through-the-beacon-chain-843f70aaab2e) - Jim McDonald has some suggestions for [network health metrics](https://www.attestant.io/posts/defining-ethereum-2-network-metrics/) for Eth2 - For my French-speaking readers, here's an [Eth2 video "complete guide"](https://twitter.com/Ethereum_France/status/1221529725354438661) delivered by a panda :panda_face: :fr: - Rocketpool has made a video tutorial on [how to run a beacon chain validator](https://www.youtube.com/watch?v=SGSlbEZLk-I), based on their [write-up](https://medium.com/rocket-pool/rocket-pool-beta-v2-node-operators-guide-d2b691822c61). (This was part of the Trust-Less conference, below.) - There were a couple of Eth2 presentations at the Trust-Less virtual conference (login required) last week. Terence from Prysmatic Labs gave an [overview](https://www.crowdcast.io/e/trust-less-2020-validator-conf/23) of the beacon chain and the Prysm client, followed by Collin Myers on [Eth2 Validator Economics](https://www.crowdcast.io/e/trust-less-2020-validator-conf/24). ## And finally... To mark Vitalik's birthday last week :tada:, I introduced my family to [Vitalik Clapping](https://www.youtube.com/watch?v=7lmNpMSPu0k). Big mistake - they've all been humming it all week now... I can't make it stop.... Just wait until they find the [10 hour version](https://www.youtube.com/watch?v=rlM7gsUY9Gw) :scream: Anyway, you should definitely see this. But you have been warned. * * * [![[Twitter]](https://benjaminion.xyz/newineth2/img/twitter.svg =40x40)](https://twitter.com/benjaminion_xyz)[![[Peepeth]](https://benjaminion.xyz/newineth2/img/peepeth.svg =40x40)](https://peepeth.com/benjaminion_xyz) Follow me on [Twitter](https://twitter.com/benjaminion_xyz) and/or [Peepeth](https://peepeth.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).