--- 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 - 19 September 2020 ![My avatar](https://benjaminion.xyz/f/ms-icon-144x144.png =32x32) Ben Edgington (Eth2 at [ConsenSys](https://consensys.net/) — all views expressed are my own) Edition 52 at [eth2.news](https://eth2.news/) ## Top picks Latest update from Danny Ryan: [eth2 quick update no. 16](https://blog.ethereum.org/2020/09/14/eth2-quick-update-no-16/). There's a haiku. Also from Danny, with Vitalik, [EIP-2982](https://github.com/ethereum/EIPs/blob/5dc1b8ddd645af01c81da8817b6bcc8ff883b9d6/EIPS/eip-2982.md). ## Phase 0: The beacon chain ### EIP-2982 Probably this week's hottest news is that "Serenity" is back, in the form of an EIP (Ethereum Improvement Proposal) describing the Eth2 beacon chain: [EIP-2982 Serenity Phase 0](https://github.com/ethereum/EIPs/blob/5dc1b8ddd645af01c81da8817b6bcc8ff883b9d6/EIPS/eip-2982.md), created by Danny and Vitalik on September 17th. This is fine news and a nice milestone, but has led to a degree of controversy. And I'm not even talking about the [Serenity](https://twitter.com/evan_van_ness/status/1306101572900999171) bit. The disagreement is procedural: [ought this](https://github.com/ethereum/EIPs/pull/2982#pullrequestreview-489698517) really be an EIP? I can understand the desire to bring the beacon chain within the ambit of the current Ethereum governance process. There's a clear thread through the document emphasising that Eth2 is an upgrade to Eth1, and tying the two more closely together. Hence reviving the Serenity moniker. (From the [very beginning](https://blog.ethereum.org/2015/03/03/ethereum-launch-process/) Serenity was to be stage four of delivery of Ethereum, after Frontier, Homestead, and Metropolis. Eth2 is undoubtedly the evolution of Eth1.) However, on this one, I'm with those who say that it does not really have a place among the EIPs, except perhaps as Informational. The reality is that Eth2 is technically completely detached from the Eth1 protocol during Phases&nbsp;0 and&nbsp;1. The EIP itself confirms this, "early phases of eth2 are to be executed without any breaking consensus changes on current Ethereum mainnet". Eth2 is not going to be discussed in Eth1 core devs meetings, and it is not going to be subject to Eth1 governance processes for the time-being. (What Eth2 governance will look like meanwhile is a whole other topic, but this EIP would set a precedent whereby we'd have to bring every single Eth2 protocol decision into the current EIP process. I'm not sure we're ready for that.) Phase 1.5 is where Eth1 and Eth2 will finally connect, and there will be a flood of EIPs around that, and that will be entirely right. Nonetheless, some interesting gleanings from the EIP that haven't been previously discussed. The penalties and slashing amounts will initially be reduced from the values defined in the current spec: - The inactivity leak that occurs while the network is not finalising and affects inactive validators is reduced to one quarter of its current value. - The slashing penalty associated with mass-slashing events is reduced to one third of its current value. - The base amount a validator is slashed for misbehaviour will be 0.25 ETH rather than 1.0 ETH. These measures are intended to reduce the risks associated with being an early validator. The intention is to reset them back to the spec parameters after 5 months of running the beacon chain. EIP-2982 is the subject of this week's [Ethstaker Studymaster quiz](https://www.reddit.com/r/ethstaker/comments/ivu26u/quiz_5_for_the_eth2_studymaster_is_live_its_based/) ### Spec v0.12.3 In other news, spec [version 0.12.3](https://github.com/ethereum/eth2.0-specs/releases/tag/v0.12.3) is out, named [Sindhudurg](https://twitter.com/adiasg/status/1306981249752289281). No breaking changes, the main things being adding a guide to handling [weak subjectivity](https://github.com/ethereum/eth2.0-specs/blob/v0.12.3/specs/phase0/weak-subjectivity.md), and the re-adoption of the deposit contract into the specs, the [Solidity version](https://github.com/ethereum/eth2.0-specs/tree/v0.12.3/solidity_deposit_contract) this time. Phase&nbsp;1 continues to develop, and now includes test vectors. Very soon ("weeks not months"), there will be a v1.0 spec that will include the changes to penalties described above, and a minor change to the BLS standard. And then we are good to go :rocket:. ### The Spadina testnet Spadina is a [metro station in Toronto](https://www.google.com/maps/place/Spadina/@43.6673526,-79.4060234,17z/data=!3m1!4b1!4m5!3m4!1s0x882b349630bf698b:0xe2dff45d0c512e39!8m2!3d43.6673526!4d-79.4038347) not too far from the [Chainsafe](https://www.google.com/maps/place/ChainSafe+Systems/@43.65177,-79.3994715,17z/data=!3m1!4b1!4m5!3m4!1s0x882b34c3600861ff:0xf3b7658559d0f3b5!8m2!3d43.65177!4d-79.3972828) offices. It is also the name of an [ephemeral testnet](https://github.com/goerli/medalla/blob/master/spadina/README.md) that we will be spinning up in the next couple of weeks to test the whole deposit/genesis workflow again. Target genesis date is the 29th of September at noon UTC, with the Launchpad portal for it going live this week. Don't register hundreds of validators, but it would be useful if people could contribute one or two from the different clients in order to test out the Launchpad and check the teams' processes around preparing for genesis. See [Danny's update](https://blog.ethereum.org/2020/09/14/eth2-quick-update-no-16/) for more info. The plan is to run Spadina for only a day or two. Beaconcha.in's explorer is [ready to go](https://spadina.beaconcha.in/). ### BLS spec update The [BLS signature specification](https://datatracker.ietf.org/doc/draft-irtf-cfrg-bls-signature/) has been updated to v04. The breaking change for us is that it is no longer permitted for the secret key to be zero. This change was prompted by a [lively discussion](https://github.com/supranational/blst/issues/11) about the Blst library. See [here](https://hackmd.io/@benjaminion/wnie2_200808#BLS-news) for more background. Anyway, we are committed to being standards conforming, and this is a minor change, so we plan to adopt it. [Blst](https://github.com/supranational/blst) is a specialised, high performance library for BLS operations with curve BLS12-381. A few client teams have adopted Blst, including us at Teku. It's very good news that the Blst library will be [undergoing formal verification](https://galois.com/blog/2020/09/announcing-the-blst-bls-verification-project/) over the next nine months. In addition to the above, the EF is commissioning [an audit](https://notes.ethereum.org/@djrtwo/blst-rfp) of the Blst codebase with a shorter timescale. The closing date for replies was yesterday, with award due in a week. ### Tooling Aditya has a consensus algorithm, [Kofta](https://github.com/adiasg/kofta), that can be used when implementing [secret shared validators](https://medium.com/coinmonks/secret-shared-validators-on-ethereum-2-0-ea29ab380016). A reminder that several teams are working on remote signers, sometimes including slashing protection: - A new one, [ETHPOS Remote Signer](https://github.com/ethpos/remote-signer-ts), that runs with Prysm. - [Dirk](https://www.attestant.io/posts/introducing-dirk/) from Attestant - [Key vault](https://github.com/bloxapp/key-vault) from Blox Staking. - [Web3Signer](https://github.com/PegaSysEng/web3signer) from our team at ConsenSys (slashing protection is on the way!) Here's an Android app that has potential: [Ethereum 2.0 Validator Monitor](https://www.reddit.com/r/ethstaker/comments/iosnky/ive_published_a_free_app_on_android_which/). I'm giving it a try - my validators have been rock-solid for two weeks, so not sure if it works or not yet! It does seem to stop quite often, but definitely keeping an eye on this. ## Competition corner There are a couple of not-totally-technical Eth2 bounties running right now. First is the [The Eth2 Medalla Data Challenge](https://ethereum.org/en/eth2/get-involved/medalla-data-challenge/) which runs until 20 October 2020. Multiple prizes of up to $15,000 are available for the best analyses or visualisations of the Medalla testnet data. A good place to get started is the [Ethstaker Discord](https://invite.gg/ethstaker) where there is a `#medalla-data-challenge` channel. You can find links there to various data dumps of the network to get you started. The other is the [Ethereum 2.0 POAP design contest](https://medium.com/@poap/ethereum-2-0-poap-design-contest-ca2d42ce69c5). There's 1000 DAI on offer for the winning design. While we're doing POAPs, here's a breakdown of the [POAPs awarded](https://www.reddit.com/r/ethstaker/comments/ith0h1/medalla_client_poap_awards_broken_down_by_fair/) for participation in the Medalla testnet. You can [claim yours](https://poap.delivery/medalla/) now. This was simply a brilliant initiative to increase exposure to the different clients. When my kids were small, they would do _anything_ for a sticker. Well, turns out adults will as well (even to the extent of cheating!). Gameifying this thing was genius. ## Articles, Explainers and Miscellania Jim McDonald of Attestant has made a careful [comparative evaluation](https://www.attestant.io/posts/evaluating-beacon-nodes/) of the performance of three beacon node clients on a couple of metrics. I won't reveal which of A, B, and C is Teku; suffice it to say that I was very happy when Jim told me :wink: Somer Esat continues his outstanding series of guides with [a guide for Nimbus](https://medium.com/@SomerEsat/guide-to-staking-on-ethereum-2-0-ubuntu-medalla-nimbus-5f4b2b0f2d7c). These guides have pretty much become the authority on how to set things up properly on Linux for the various clients. Anett has written a [non tech guide](https://hackernoon.com/how-to-run-an-eth-20-beacon-node-using-the-lighthouse-macos-client-7t2u3wtv) for running Lighthouse on MacOS. The Lighthouse crew did a [Reddit AMA](https://www.reddit.com/r/ethfinance/comments/is9kt9/ethfinance_ama_series_with_sigma_prime_lighthouse/) last week. A typically quality overview article from the good folk at MyCrypto, [ETH2.0: Everything You Need to Know](https://medium.com/mycrypto/eth2-0-everything-you-need-to-know-eb32fbfe0bd). Also [in Chinese](https://news.ethereum.cn/eth2-0-everything-you-need-to-know/) thanks to the splendid [Ethereum CN](https://twitter.com/Ethereum_CN). ECN has been busy, also translating the [Bankless Eth2 guide](https://news.ethereum.cn/guide-becoming-a-validator/) on becoming a validator, and my own little article on [shuffling](https://news.ethereum.cn/shuffling/). Eth2 explainers are also good marketing material for exchanges and staking operations. I've seen a few lately. Here's [Stakefish](https://medium.com/stakefish/deeper-dive-into-ethereum-2-0-part-1-93c475a18735) and [Luno](https://www.luno.com/blog/en/post/ethereum-2-0-what-we-know-so-far). And Andreas, by [popular demand](https://twitter.com/aantonop/status/1306302847722631169), is getting in on the act! This was today, but I missed it and haven't had a chance to watch yet. I definitely shall, though: [Bonus Livestream Session - ETH2.0](https://www.youtube.com/watch?v=dCzNaD29s8s). Over 3,500 views already, incredible. ## Research Just one thing Eth2 related caught my attention this week: [Provable Single Secret Leader Election](https://ethresear.ch/t/provable-single-secret-leader-election/7971?u=benjaminion). Single secret leader election is a field in which there has been huge progress in the last 18 months - as recently as March 2019 nobody had a practical way to do this, but there has been steady progress since, and now it looks realistic. Single secret leader election solves an important challenge for Eth2. Currently, block proposers are known to the network up to 2 epochs (13 minutes) before their time comes. This gives an attacker the ability to selectively and cheaply DoS proposers, if by some means they can link validator IDs to IP addresses. If blocks can't be created, the network cannot progress. SSLE is a way for a unique proposer to be randomly selected for a slot, without the network knowing in advance who it will be. It's frankly amazing that this is even possible, but here it is. ## Regular Calls ### Implementers Call #48 took place on the 17th of September. * [Agenda](https://github.com/ethereum/eth2.0-pm/issues/181) * [Video](https://www.youtube.com/watch?v=5GYF6gCIbGE&t=136) * My [quick notes](https://hackmd.io/@benjaminion/BJIQuJZSD), and [from Mamy](https://gist.github.com/mratsim/0bafb17499e6a33b69085ec21de7cd91). ### Networking After a bit of a hiatus we had another call dedicated to the networking protocols, call #6 (the agenda says #5, but it's definitely 6). - [Agenda](https://github.com/ethereum/eth2.0-pm/issues/180) - [My notes](https://hackmd.io/@benjaminion/HJjKsILED) A few updates are underway: removing some unnecessary parameters from gossipsub, tuning peer scoring, and upgrading to discovery v5.1. ## In other news Client team updates from [Nimbus](https://our.status.im/nimbus-update-september-11th/), [Prysm](https://medium.com/prysmatic-labs/eth-2-0-dev-update-56-road-to-mainnet-3fbd50dde484), [Lighthouse](https://lighthouse.sigmaprime.io/update-29.html), and [Lodestar](https://medium.com/chainsafe-systems/lodestar-update-38f58c14a39d). As for Teku, our [release notes](https://github.com/PegaSysEng/teku/releases/tag/0.12.6) and the linked issues there serve as our update. Beaconcha.in has started a [directory of staking services](https://beaconcha.in/stakingServices). If you are running a staking pool, Evan Van Ness wants to [hear from you](https://twitter.com/evan_van_ness/status/1303419933976670215); link to his survey [here](https://twitter.com/evan_van_ness/status/1306773373209501702). Protolambda was the special guest for [ETH2 Staking Community Call #9](https://www.youtube.com/watch?v=C5YfUqg69p8) this week. Tons of insight and good advice. Oh, and alongside my colleague Vijay, I did [a podcast](https://www.coindesk.com/ethereum-2-0-staking-need-to-know) for Coindesk, hosted by Christine Kim. I haven't dared listen to it yet. ## And finally... What's old in Eth2. I was reminded this week (by Google photos) that it is one year since our famous lakeside retreat in Ontario where we first [demonstrated interoperability](https://twitter.com/JonnyRhea/status/1172233598109442049) between the nascent Eth2 clients - seven of them at the time. Relive the memories [here](https://media.consensys.net/how-30-eth-2-0-devs-locked-themselves-in-to-achieve-interoperability-175e4a807d92). That was such a huge milestone in the journey; the moment of sudden realisation, "whoa, this thing is actually going to work!" It's amazing what's stayed the same and what's changed over that time. The Harmony team merged with the PegaSys (Teku) team, and the Trinity team called a halt to development only a couple of weeks ago, but otherwise things have been very stable. It's been a huge journey from a promising prototype to being on the cusp of launch - perhaps a little longer than we anticipated. But looking back it's hard to see where it could have gone much faster. What an incredible project this is - I am daily humbled to be part of it, and to be working with such amazing people across all the teams. Unrelated: it's that [Gitcoin Grants](https://gitcoin.co/grants/551/the-ethereum-20-annotated-specification) time again! * * * [![[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).