--- 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 - 30 May 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 43 at [eth2.news](https://eth2.news/) ## Phase 0: The beacon chain Spec [version 0.12.0 ](https://github.com/ethereum/eth2.0-specs/releases/tag/v0.12.0) has been released, with the best name yet. This release is mainly about the long-anticipated update to the BLS signature standards. But it also includes a tweak to how the [inactivity penalty](https://benjaminion.xyz/eth2-annotated-spec/phase0/beacon-chain/configuration/#inactivity_penalty_quotient) (the "quadratic leak") is applied. The inactivity penalty begins if four epochs have passed without finalisation of a checkpoint. The idea is to gradually drain away the stakes of non-participating validators until they get kicked out and the remaining active validators can finalise the chain again (this could take a few weeks in practice). If a validator is particpating perfectly, it shouldn't be penalised. Unfortunately, under the previous spec, even perfectly performing validators would lose a small amount of stake. This is now fixed: if you show up for duty, you will not lose stake. The other big chunk of work is updating libp2p Gossipsub to [version 1.1](https://blog.ipfs.io/2020-05-20-gossipsub-v1.1). Client teams are now busy implementing all this. It will soon form the basis for multi-client testnets, and, barring any major issues, is expected to be the version we go live with. In case you missed it, there was a little stealth update to [v0.11.3](https://github.com/ethereum/eth2.0-specs/releases/tag/v0.11.3) in the meantime. This release was actually pushed out retrospectively. A zero-day consensus bug was found by Runtime Verification, and client teams were all notified to [patch](https://github.com/PegaSysEng/teku/pull/1782) their clients on the quiet, before the issue was made public. This was a useful test case for responding to an incident on the real network. Things are so busy for all of us at present that it's easy to bury critical fixes among the massive flow of PRs. This will change in future, and incidents like this will need to be very carefully handled and coordinated. ### Testnets #### Schlesi is dead,... Shortly after sending out last week's [edition](https://hackmd.io/@benjaminion/wnie2_200515) bigging up the Schlesi network and encouraging you all to join, we [broke it](https://twitter.com/etherchain_org/status/1262070083645517835) :scream: Ivan gives some of the detail in the latest update from [Prysmatic Labs](https://medium.com/prysmatic-labs/eth-2-0-dev-update-50-multiclient-testnet-restart-slasher-improvements-f1e9339b1922). Events were something like the following: - For unknown reasons, the chain stopped finalising new checkpoints. - This happens when there is low participation. A contributing factor might have been that Teku was failing to include very many attestations in its blocks. - In any case, this led to the "quadratic leak" kicking in, which is designed to eventually kick out non-participating validators. - Meanwhile, the first slashing occurred. - Immediately, Prysm, Lighthouse and Teku all went out of consensus with each other: a three-way fork. - Both [Prysm](https://github.com/prysmaticlabs/prysm/issues/5897) and [Lighthouse](https://github.com/sigp/lighthouse/pull/1166) incorrectly failed to apply the inactivity penalty to the slashed (but not exited) validator. - In addition, Prysm also [mistakenly](https://github.com/prysmaticlabs/prysm/issues/5901) gave a proposer award in respect of the slashed validator. - Teku behaved as per spec :innocent: Tl;dr - multiclient testnets are hard: [really hard](https://twitter.com/benjaminion_xyz/status/1262092270146392064)! Actually, to find these bugs, the network had to be quite broken: both non-finalising _and_ with a slashed validator. These are really fun challenges. Teku may have ended up the only correct client on the network, but we made it only by the skin of our teeth. Once lack of finality set in, our memory use started growing unboundedly, and eventually knocked most of the Teku nodes off the network. We provisioned a couple with huge memory, and they just about made it through, but wouldn't have lasted much longer. We're [fixing](https://github.com/PegaSysEng/teku/pull/2007) this! #### ...long live Witti! I've stolen the title here from Somer Esat's [nice testnet explainer](https://medium.com/@SomerEsat/schlesi-is-dead-long-live-witti-151178064c3c). In principle, we could have recovered Schlesi, but we're at a stage where testnets should be seen as pretty disposable and iterated rapidly. So, within a few days, Afri began work on the [Witti](https://github.com/goerli/witti) testnet. This one was started with three clients at genesis (Prysm, Lighthouse, Teku) rather than the two for Schlesi. Getting started was a bit bumpy: there were some client disagreements over genesis time and fork versions that needed some swift fixes, but at midnight UTC on May 26th, Witti went live. Afri [livestreamed the event](https://www.twitch.tv/videos/632975432) on Twitch. There is something magical about watching it all come to life - maybe I'll stay up late for it next time. The real thing is going to be quite a party :tada: Speaking of staying up late (midnight UTC is 1am here, and 2am for Afri), there is some current discussion around making network start times [more flexible](https://github.com/ethereum/eth2.0-specs/issues/1849). Anyway, Witti has been running sweetly since, although Afri encouraged everyone to try to [break it](https://hackmd.io/@benjaminion/H1h7zHTiL#Testnets) on the recent devs call. Check on progress at [witti.beaconcha.in](https://witti.beaconcha.in/), and [Eth2Stats](https://eth2stats.io/witti-testnet). If you'd like to spin up a Teku, I've made some [notes](https://docs.google.com/document/d/1CTN_t_0UGRJSpW27yOux1lwxbVz-J4CclGs-tSax4U4/edit#). #### Topaz Meanwhile, the [Topaz](https://medium.com/prysmatic-labs/introducing-topaz-testnet-8e8a4e00a700) network running the Prysm client just [keeps on chugging](https://twitter.com/terencechain/status/1266399332967739396), with an amazing number of validators now. Single client testnets are definitely easier than multi-client; nonetheless, Topaz has been an amazing success. The Prysm team is [gathering feedback](https://docs.google.com/forms/d/e/1FAIpQLSfzAKCgLpN1WxVQX502WezgTXaVS6xb0w0S5kjaMhfd9tgXtQ/viewform) from users of the Prysm client. Hop on over and fill out the survery if you joined Topaz or Sapphire. Somer Esat has been busy, and has also made an impressively comprehensive [Staking Guide](https://github.com/SomerEsat/ethereum-staking-guide) for joining Topaz from an Ubuntu platform. Oh, and check out Etherscan's Topaz [graffiti cloud](https://beacon.etherscan.io/stat/graffiticloud)! #### Other testnet stuff Jonny Rhea has been working on a very interesting [network explorer](https://github.com/txrx-research/prkl) tool that is proving to be quite useful: by their nature, distributed networks are challenging to debug. You can see the pretty picures it generates for [Topaz](https://txrx-research.github.io/prkl/topaz-analysis.html) and [Witti](https://txrx-research.github.io/prkl/witti-analysis.html). There's a little dot missing over London for Metal Albert on Witti, though, so clearly there's some more work to do on this :grinning: Jonny posted [some commentary](https://twitter.com/JonnyRhea/status/1263151048199372801) on what it all means. ## The Great Explainers ConsenSys continues to pump out solid Eth2 content. The latest asks and anwers [What Happens to My ETH on Ethereum 2.0?](https://consensys.net/blog/blockchain-explained/what-happens-to-my-eth-on-ethereum-2/). Here's CoinTelegraph with [Ethereum 2.0 Staking, Explained](https://cointelegraph.com/explained/ethereum-20-staking-explained). And from the CoinCodeCap blog, [Beacon Chain: Heart of Ethereum 2.0](https://blog.coincodecap.com/ethereum-beacon-chain/). Carl Beekhuizen continues his "Validated, staking on eth2" series with [#4 - Keys 🔑](https://blog.ethereum.org/2020/05/21/keys/). Want to know your signing key from your withdrawal key? Curious about how they can be derived from a single mnemonic? Here are [8 Things Every Eth2 Validator Should Know Before Staking](https://medium.com/chainsafe-systems/8-things-every-eth2-validator-should-know-before-staking-94df41701487) from Cayman Nava. Hudson has been putting together some [Eth2 staking hardware](https://hudsonjameson.com/2020-05-18-eth-2-0-staking-and-more-with-topaz-and-dappnode-for-under-750/) and installing DAppnode. As a reminder, there was a load of conversation on Reddit recenly about setting up [suitable hardware](https://hackmd.io/@benjaminion/wnie2_200515#Staking) for staking at home. I'm happy to report that [Metal Albert](https://hackmd.io/@benjaminion/wnie2_200501#And-finally%E2%80%A6) continues to run flawlessly. Also, Rocket Pool wants you to know all about [Tokenised Staking](https://medium.com/rocket-pool/rocket-pool-2-5-tokenised-staking-48601d52d924) and their v2.5 upgrade. Videos I haven't had a chance to watch yet (hey, it's been a busy week!) but definitely plan to catch up with: - [ETH2 Staking Community Call #5](https://www.youtube.com/watch?v=LB1MmF-mEKM) with Jim McDonald of Attestant. I like Jim because (a) he knows his onions, and (b) he and I are the only two Eth2 devs I know of with English accents. - Danny Ryan on [Eth2.0 progress](https://www.youtube.com/watch?v=ikSK8V9yapQ), answering [questions](https://www.reddit.com/r/ethfinance/comments/gsybfz/danny_ryan_on_eth20_progress/) from /r/ethfinance. Available in [MP3](http://files.kobe.show/DannyRyan.mp3) as well. - [Ethereum 2.0 | Staking Overview](https://www.youtube.com/watch?v=GfYU3KL29tE) from [Multi.io](https://www.reddit.com/r/ethereum/comments/gs1yhi/ethereum_20_staking_overview_by_multiio/). - Finally, a short and sweet [Ethereum 2.0 Update!](https://www.youtube.com/watch?v=9y33z7Ncazs) from [VoskCoin](http://voskco.in). ## Research Another [update](https://hackmd.io/@353yQn6WTImF5o12LQXXfQ/BJf1eCAjU) from the PegaSys R&D TX/RX team, including the latest on: - Discovery v5 Advertisement Efficiency Comparison - Eth1 <-> Eth2 Merge - The Eth2 Network Monitor discussed above - Cross-shard Transaction Simulation - The Onotole spec transpiler - Fork choice tests - Clock sync protocol Here's some interesting work on Phase 1. The Eth2 protocol has been designed to be friendly to multi-party compute (MPC) to allow for pooled trustless staking. PlatON has [received a grant](https://medium.com/@PlatON_Network/platon-has-confirmed-to-complete-an-ethereum-foundation-granted-project-poc-in-ethereum-2-0-8270e3953523) to implement and test an MPC proof-of-custody construction. Aside from the work referenced in the TX/RX update, the main development on EthResear.ch recently is a [Counter-proposal](https://ethresear.ch/t/counter-proposal-to-enshrined-price-feeds-dual-token-oracles/7437?u=benjaminion) from Vitalik to Justin's [Enshrined Eth2 price feeds](https://ethresear.ch/t/enshrined-eth2-price-feeds/7391?u=benjaminion) idea. You may recall from [two weeks ago](https://hackmd.io/@benjaminion/wnie2_200515#Research) that this caused a bit of a stir. Vitalik prefers to keep oracle implementations largely at the application layer, but possibly add some functionality within the base protocol to facilitate building them more securely. ## Regular Calls ### Implementers Call #40 took place on the 28th of May. * [Agenda](https://github.com/ethereum/eth2.0-pm/issues/154) * [Video](https://youtu.be/xvIk22HvTVE?t=282) * My [quick notes](https://hackmd.io/@benjaminion/H1h7zHTiL), and [from Mamy](https://gist.github.com/mratsim/813c041b58bfc2f2f34722c3cdcffac2). No big surprises or announcements. A certain amount of getting into the weeds on Discovery&nbsp;v5. ## In other news - Client team updates from [Lighthouse](https://lighthouse.sigmaprime.io/update-25.html), [Lodestar](https://medium.com/chainsafe-systems/lodestar-project-update-c89b15122c57) and [Prysm](https://medium.com/prysmatic-labs/eth-2-0-dev-update-50-multiclient-testnet-restart-slasher-improvements-f1e9339b1922) - Danny [wants to know](https://twitter.com/dannyryan/status/1266026646294806541) who is working on notification services for when validators are down. - The next [Eth2 staking call](https://www.reddit.com/r/ethstaker/comments/gqwwua/ethereum_stakers_community_call_6_features_afri/) is in less than 24 hours (31st May at 2000 UTC) featuring Afri on the Eth2 testnets. I'm going to try and be at this one as it's earlier than normal. - The Ethereum Foundation is [looking for](https://twitter.com/CarlBeek/status/1266388162689073152) auditors for the Python Eth2 deposit CLI. [RFP here](https://notes.ethereum.org/@av80r/Eth2-deposit-CLI-audit_RFP). - Ethhub [wants to know](https://twitter.com/econoar/status/1266166292442038275) what you'd like to see in a new "using Eth2" section. ## And finally... Today I got round at last to pre-ordering my copy of [The Infinite Machine](https://www.amazon.com/Infinite-Machine-Crypto-hackers-Building-Internet/dp/0062886142/ref=sr_1_1?crid=2D48OQ5YQR3LP), the story of Ethereum as told by Camila Russo. I doubt there will be much Eth2 in there, but I'm still looking forward to this very much indeed. * * * [![[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).