--- 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 - 12 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 44 at [eth2.news](https://eth2.news/) ## Top picks There's no contest for this week's top billing. Danny Ryan's [The State of Eth2, June 2020](https://blog.ethereum.org/2020/06/02/the-state-of-eth2-june-2020/) is an absolute must read. _Vous pouvez également le lire [en français](https://banklessfr.substack.com/p/hors-srie-ethereum-20)_. ## Phase 0: The beacon chain There was a minor spec bump to [v0.12.1](https://github.com/ethereum/eth2.0-specs/releases/tag/v0.12.1). This was, in fact, a breaking change, but we agreed it would be fine since the change was simple and came before anyone had fully implemented v0.12.0. The change concerns the timing of beacon chain genesis, primarily so that Afri doesn't have to supervise testnet starts at 2am local time. Meanwhile [Version 08](https://tools.ietf.org/html/draft-irtf-cfrg-hash-to-curve-08) of BLS hash to curve caught me by surprise, since we had all decided to settle on version 07. But on a closer look there are no substantive changes over v07 that affect Eth2, just cosmetic and explanatory, and an update to the test vectors. This one seems to be moving to the next stage of IETF standardisation. So :crossed_fingers: we are good. See the whole history on the [IETF tracker](https://datatracker.ietf.org/doc/draft-irtf-cfrg-hash-to-curve/). Over in Eth1 land, work continues around how to fully verify deposits before they are committed to the deposit contract. The concern is that we we have seen quite a few deposit failures on the testnets, and it's a pretty severe failure mode to lose 32 Ether into a black hole forever. Part of the solution is for Eth1 to implement [EIP-2537](https://eips.ethereum.org/EIPS/eip-2537), which provides the necessary cryptographic tooling for Eth1 contracts to verify Eth2 signatures (it will also be useful well beyond Phase&nbsp;0 of Eth2). However, no-one really wants to rework the [deposit contract](https://github.com/ethereum/eth2.0-specs/blob/dev/deposit_contract/contracts/validator_registration.vy) itself now that it has been [formally verified](https://runtimeverification.com/blog/end-to-end-formal-verification-of-ethereum-2-0-deposit-smart-contract/). In view of this, Alex Stokes has been working on a [proxy-contract](https://github.com/ralexstokes/deposit-contract-verifying-proxy) that can take a deposit, check it, and only forward the deposit to the deposit contract if all is good. There's now an effort underway to check and gas-optimise this. Note that this proxy still depends on the pre-compiles from EIP-2537 being implemented on Eth1, which I believe is not yet a done-deal. In the worst case, we could have a standalone deposit checker, but that depends on people having the good sense to use it :face_with_rolling_eyes: ## Testnets Anthony Sassano in his new The Daily Gwei newsletter devoted issue #5 to [Eth2 Testnets Aplenty](https://thedailygwei.substack.com/p/eth2-testnets-aplenty-the-daily-gwei). Solid info about where we are and where we're going. And things are going places in the beacon chain testnet world. ### Witti -> Altona The multiclient Witti testnet set up just over two weeks ago has been pleasingly dull. Nothing very interesting has gone wrong yet, which is just the way we like it. Teku, Lighthouse and Prysm all continue to play nicely, and Nimbus sometimes pops up on the [dashboard](https://eth2stats.io/witti-testnet). There was a period of non-finalisation while some validators were off-line, and there have been some [slashings](https://witti.beaconcha.in/validator/74) - this is the combination that killed the Schlesi network, but all's fine on Witti after the clients were fixed. One interesting thing is that someone managed to create a validator with the ["infinity" public key](https://witti.beaconcha.in/validator/c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000). This is what happens when the private key is zero. It's perfectly valid, but it means that anyone can forge messages from you and get you slashed - I'm kind of surprised that nobody has done this yet; it would be quite easy. As the next step, a new multiclient testnet, Altona, is under construction. This one will run spec version 0.12, rather than Witti's 0.11, and is expected to closely resemble the final go-live specification. Kick-off will take place after client teams have updated their codebases to v0.12.1: you can follow the [Altona progress tracker](https://github.com/goerli/witti/issues/17) for updates. While we wait, Witti remains up and running, so jump in and get some staking practice! Somer Esat is back with a guide to staking on Witti with [Prysm](https://medium.com/@SomerEsat/guide-to-staking-on-ethereum-2-0-ubuntu-prysm-witti-2b972e697918), my guide for [Teku](https://docs.google.com/document/d/1CTN_t_0UGRJSpW27yOux1lwxbVz-J4CclGs-tSax4U4/edit#) still applies, and here are some instructions for getting [Lighthouse](https://medium.com/nethermind-eth/using-nethermind-to-run-a-validator-in-eth2-5c227653e197) running, using the Nethermind client for the Eth1 chain. ### Topaz -> Onyx After a terrific run, Prysmatic Labs' single-client Topaz network is being wound-down, to be replaced by [Onyx](https://medium.com/prysmatic-labs/introducing-the-onyx-testnet-6dadbd95d873). Latest news is that the [Onyx contract](https://goerli.etherscan.io/address/0x0f0f0fc0530007361933eab5db97d09acdd6c1c8) has received the necessary 16384 testnet Ether validator deposits and is due for genesis to take place at [2020-06-14 05:17:24 UTC](https://twitter.com/prylabs/status/1271436918220156929) :tada: Onyx will run spec version 0.12.1, and is technically no longer single-client, though it is expected to be dominated by Prysm while the multi-client efforts focus on Altona. The joining page for Onyx is [here](https://prylabs.net/). Attestant has made some [step-by-step instructions](https://medium.com/@steve.berryman/installing-and-running-an-ethereum-2-prysm-validator-on-the-testnet-c004dd7eece8) on getting up and running, here's one from CoinCashew on doing all this on [Windows](https://www.coincashew.com/coins/overview-eth/guide-how-to-stake-on-eth-2.0-onyx-testnet-with-prysm-on-windows), and Terence has put together a nice FAQ and [troubleshooting guide](https://hackmd.io/@tchain/BkFDGtAn8). ### Tooling and analysis Not content with running beaconcha.in, Bitfly is also offering [Eth2 Testnet Statistics](https://eth2.ethernodes.org/) showing testnet node types and locations. Need to teach it to recognise Teku nodes :wink: Protolambda has been making pretty pictures of [Witti validator behaviour](https://twitter.com/protolambda/status/1270357785352581122). Speaking of pictures, Jonny Rhea is continuing his deep-dive into the peer-to-peer behaviour on the Witti testnet. Here's a [tweet-storm](https://twitter.com/JonnyRhea/status/1269050893577736192) showing some early analysis. (And [dark mode friendly](https://twitter.com/JonnyRhea/status/1269148762401890304)) I happen to know that Jonny is just completing up a write-up of his findings: keep an eye on Ethresear.ch in the next few days; it's an eye-opening read. You want more pics? Here's the cherry on top: Bitfly has visualised all the [attempted connections](https://twitter.com/etherchain_org/status/1268814397742473216) on their Topaz network beacon node. Well-distributed it is. Finally, there's a [new explorer](https://witti.blockaction.io/) on the block! This one from BlockAction. ### What's next? As mentioned above, Witti has been quiet. On the one hand this is nice: in the happy-flow everything is working smoothly. However, it is not representative of operating in real-world adversarial conditions. To that end, Danny is drafting up a proposal for [attack nets](https://notes.ethereum.org/@djrtwo/Hkth99G3I), with incentives for attacks that succeed in breaking things. This is daunting, but an essential step in progress towards launch. ## The Great Explainers Validator and withdrawal key management is the topic of the week. It was one of the things we talked about on the [Eth2 devs call](https://hackmd.io/5hSJ4418R6ih8ogAwiDi7Q#Validator-key-hygiene), and we have committed to having a dedicated follow-up call to agree some common best-practices. Here are some recent articles: - Bitfly's Beaconcha.in continues to build up their [knowledge base](https://kb.beaconcha.in/). Here's what they have on [Ethereum 2.0 Keys](https://kb.beaconcha.in/ethereum-2-keys). - Another great explainer from Attestant, this one specifically on [Protecting Withdrawal Keys](https://www.attestant.io/posts/protecting-withdrawal-keys/). - And previously reported, but still pretty fresh, Carl B with [Validated, staking on eth2: #4 - Keys 🔑](https://blog.ethereum.org/2020/05/21/keys/) Regarding the current state of play for Eth2, in addition to [Danny's article](https://blog.ethereum.org/2020/06/02/the-state-of-eth2-june-2020/), Quantstamp wrote a helpful overview of [where we are with Phase&nbsp;0](https://quantstamp.com/blog/understanding-phase-0-the-current-stage-of-eth-2-0-development), which the excellent folk at ECN (:wave:) have translated into [Chinese](https://news.ethereum.cn/understanding-phase-0-the-current-stage-of-eth-2-0-development/). Ivan on Tech is [Breaking Down ETH 2.0](https://academy.ivanontech.com/blog/breaking-down-eth-2-0-the-next-generation-of-ethereum) - The Next Generation of Ethereum - with a decent overview of the proof of stake and scalability aspects. ## Research Barnabé Monnot of the Ethereum Foundation's Robust Incentives Group (RIG) has published the third installment of his work on modelling the cryptoeconomics of beacon chain behaviour using the [cadCAD](https://github.com/BlockScience/cadCAD) simulation environment, [Beacon Runner 2050: An agent-based model of eth2](https://github.com/ethereum/rig/blob/master/eth2economics/code/beaconrunner2050/br2050.ipynb). This stage adds a simulated asynchronous p2p network between the validators. In his words, with this, "we are getting close to a full-fledged _agent-based model_". It's been fairly quiet on the Eth2 front on [ethresear.ch](https://ethresear.ch/) this past couple of weeks. But if you want to get your teeth into something, and are not afraid of a bit of mathematics, then take a look at Vitalik's design for a more efficient [alternative to Merkle trees](https://ethresear.ch/t/updating-and-generating-kate-witnesses-in-amortized-sqrt-n-time/7520?u=benjaminion) for state representation. This proposes a way to generate and update Kate witnesses in amortized sqrt(n) time. It remains infeasible in practice, but could be a step in the right direction. ## Regular Calls ### Implementers Call #41 took place on the 11th of June. * [Agenda](https://github.com/ethereum/eth2.0-pm/issues/158) * [Video](https://youtu.be/WmU3k2v4UA8?t=56) * My [quick notes](https://hackmd.io/@benjaminion/SkfYVnJ68), draft [full notes](https://github.com/ethereum/eth2.0-pm/blob/0daf992a7576c35ae22027131a927c26f47b6766/eth2.0-implementers-calls/call_041.md) As mentioned above, we spent some time discussing [validator key hygiene](https://hackmd.io/@benjaminion/SkfYVnJ68#Validator-key-hygiene). ## In other news - Cient team updates from [Prysm](https://medium.com/prysmatic-labs/eth-2-0-dev-update-51-v0-12-testnet-on-the-horizon-85e93de00f94), and [Lighthouse](https://lighthouse.sigmaprime.io/update-26.html). - Infura is offering [access to Eth2 API](https://twitter.com/infura_io/status/1270796084810375168) endpoints (powered by Teku). See their [tutorial](https://blog.infura.io/checking-your-eth-2-0-validator-balance/) about programmatically querying the beacon chain for more info. - Mystery person heyheeyheeey [dropped](https://www.reddit.com/r/ethereum/comments/gx6b9k/mystery_pseudonymous_person_submits_prototyped/) an [Eth2 staking interface](https://medium.com/@heyheeyheeey/eth2-staking-on-argent-99f6e4d62e09) for the Argent wallet out of the blue. - Afri was guest on [ETH2 Staking Community Call #6](https://www.youtube.com/watch?v=C838NYaU77Q) talking about his work on the Eth2 multiclient testnets. ## And finally... [Happy birthday to me](https://www.youtube.com/watch?v=A0YyFqydPl8) :birthday: (Volume up; boogie shoes on!) * * * [![[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).