--- 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 - 10 January 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 33 at [eth2.news](https://eth2.news/) ## Top picks Happy New Year everybody. Welcome to the year of delivery! :rocket: Here are my start of year highlights: - A couple of good state-of-play reviews of Ethereum 2.0. Both of these are pretty accurate, I'd say, and I agree with _most_ things: - One from Grant Hummer of Chromatic Capital, [ETH2 for Dummies](https://medium.com/@chromaticcapital/eth2-for-dummies-11ff9b11509f), - And another from Jim McDonald of Attestant [Anticipating Ethereum 2 in 2020](https://www.attestant.io/posts/anticipating-ethereum-2-in-2020/). - I always enjoy hearing from Paul Hauner of the Sigma Prime team. You can hear him too, on the [Into the Ether podcast](https://podcast.ethhub.io/paul-hauner-ethereum-20-is-on-the-horizon). - A special mention for [ethsear.ch](https://ethsear.ch), an Ethereum-specific search engine put together by [@JonnyRhea](https://twitter.com/JonnyRhea/status/1215291699959926785). Check out the CLR matched [Gitcoin Grant](https://gitcoin.co/grants/240/ethsearch): needed to fund some UI work :smile: ## The Future of Ethereum 1 Perhaps the most potentially impactful proposal of the last couple of weeks was Vitalik's suggestion for [accelerating the transition](https://ethresear.ch/t/alternative-proposal-for-early-eth1-eth2-merge/6666) of the Eth1 chain into the Eth2 chain. This would allow Proof of Work to be switched off on an earlier schedule :raised_hands: The basic idea is super-simple. The whole of current Ethereum 1 would be treated as a special shard in the Eth2 system (shard 0). Any Eth2 validator node can register to also be an Eth1 block producer/miner. The miner for the next Eth1 block would be chosen randomly (we have in-protocol randomness in Eth2) from among those registered. Then, both the correctness and the availability of that block would be checked by _all_ the validators that happen to be assigned to shard 0 at that point (whether or not they are Eth1 block producers). In this way, Eth1 can remain almost unchanged, yet move swiftly to Proof of Stake. The registered Eth1 block producers would need to maintain the whole Eth1 state (so they would need to run Eth1 full nodes), but the rest of the validators just need to be able to validate the blocks statelessly. The design of the stateless validation mechanism is the main prerequisite to getting this done. (The launch of Phase 1 is also a prerequisite :joy:) The proposal seems to have been pretty well received. Nobody registered any concerns or objections on this week's implementers' call. So it might become the new plan, though some news organisations are getting a bit [over excited](https://etherworld.co/2020/01/09/early-eth1-eth2-switch-is-official/). ## Phase 0: The Beacon Chain implementation We are eagerly anticipating release v0.10.0, which is due any time now. This is intended to be another frozen release, as the basis for both testnets and an audit. The major, breaking, change in v0.10.0 is the long-anticipated update the BLS signature implementation that's now being standardised. The main change this entails is a rip-and-replace of the hash-to-curve method. You can read about the background in my [Java implementation](https://github.com/PegaSysEng/artemis/pull/898) of this (we'll probably swap this out for a specialised library when one's available, but it will do for now). Other things, like the point serialisation, remain the same as we have now. If you are curious about BLS signatures, and the BLS12-381 elliptic curve, I've just written a fairly thorough [explainer for non-cryptographers](https://hackmd.io/@benjaminion/bls12-381). Other changes in v0.10.0 are small modifications to the network specification, configuration parameters, and some minor non-breaking changes. ### Testing Sigma Prime has a thorough update on their [Beacon Fuzz](https://blog.sigmaprime.io/beacon-fuzz-01.html) work. ### Networking The Harmony team has done some [simulations of _gossipsub_ performance](https://hackmd.io/ZMBsjqdqSAK026iFFu_2JQ). The main recommendation is to decrease the default heartbeat interval from one second to 200 or 300 milliseconds. ### Testnets Both the Prysmatic Labs Prysm testnet and the Sigma Prime Lighthouse testnets have been relaunched, both running the Mainnet configuration :muscle: (see our [previous edition](https://hackmd.io/@benjaminion/wnie2_191220) for info on Mainnet vs Interop configuration). The Lighthouse testnet was running before Christmas, but had to be [shut down](https://lighthouse.sigmaprime.io/update-20.html) after a couple of weeks due to some issues. They relaunched it quietly over the holidays and it has been running stably for a couple of weeks now. The plan is to re-open it to public participation very soon. Meanwhile, the [Prysm testnet is back](https://medium.com/prysmatic-labs/prysm-testnet-v0-9-3-release-info-fa0b77161a41), bigger and bolder than before since it's now running [mainnet configuration](https://twitter.com/terencechain/status/1214662313719943168). [From Preston](https://twitter.com/preston_vanloon/status/1215471676017610753): "testnet launch had a bit of a bumpy start but is running very smoothly now!". Apparently, there's a 13,000 long queue of validators waiting to enter. New validators are onboarded at a maximum rate of 4 per epoch at the start, so that's two weeks of backlog by my calculations! Someone has written a quick start for getting set up on [Windows 10](https://github.com/msc82/Eth-2.0-Staking-For-Dummies) for the Prysm network. ## Phase 1: Sharding implementation From this week's implementers' call, Vitalik and colleagues have been working on improvements to data availability constructions. Although there are some interesting novel constructions (e.g. [this](https://ethresear.ch/t/fri-as-erasure-code-fraud-proof/6610?u=benjaminion) and [this](https://ethresear.ch/t/an-alternative-low-degreeness-proof-using-polynomial-commitment-schemes/6649?u=benjaminion)) out there, they are not ready for prime-time yet. So we will be starting conservatively with 2D erasure coding and possibly adopting something more sophisticated later. Dankrad wrote a nice [explainer on data availability checks](https://dankradfeist.de/ethereum/2019/12/20/data-availability-checks.html) that just missed the last edition. ## Phase 2: Execution environments The ConsenSys Quilt team has published an excellent explainer and analysis of three options for implementing [state providers in Eth2](https://ethresear.ch/t/state-provider-models-in-ethereum-2-0/6750?u=benjaminion). One of the challenges for Ethereum&nbsp;1 is that it relies on nodes being able to store the state of the blockchain (all accounts, data storage and contracts). In contrast, Ethereum&nbsp;2.0 is planned to be stateless. This is a bit of a misnomer. What it actually means is that storing state becomes "somebody else's problem". This post explores who that somebody else might be, and how we might interact with them. Meanwhile, Jonny Rhea has been pushing the boundaries of execution environment design with [Anomlee](https://github.com/jrhea/anomlee), an initial implementation of a trained ML random forest classifier. He's working next on a classifier for handwritten digits. The main goal is to explore the limits of what can be accomplished within Ethereum&nbsp;2.0 execution environments. Also, Vitalik is working on how [Ether might be handled](https://ethresear.ch/t/an-even-simpler-meta-execution-environment-for-eth/6704) in EEs and transferred around. It's one of a number of possible models that need to be evaluated. ## Research Dan Boneh and collaborators have just published a paper on [Single Secret Leader Election](https://eprint.iacr.org/2020/025.pdf). This is potentially an important mechanism for preserving the anonymity and security of validators. ## Regular Calls ### Implementers Call #31 took place on the 9th of January. * [Agenda](https://github.com/ethereum/eth2.0-pm/issues/118) * [Video](https://youtu.be/u2w4EO9YepI?t=81) * My [quick notes](https://hackmd.io/@benjaminion/ByYThFEgI), and [from Mamy](https://gist.github.com/mratsim/0f742236da1e5dbb6ca97b8fb55f061b). ### Networking Next call in one or two weeks, tbd. ### Phase 2 The next Phase 2 community call will be on [Tuesday, January 14th](https://github.com/ethereum/eth2.0-pm/issues/119) at 15:00 UTC. ### Eth 1.x The next Eth 1.x call will be on [Tuesday, January 14th](https://ethresear.ch/t/eth1-x-call-3-tuesday-jan-14th-witness-format/6715). This will be about stateless Ethereum, which is super relevant, especially given the proposal for an early transition of Eth1 into Eth2. There's a nice article on the EF blog on the [The State of Stateless Ethereum](https://blog.ethereum.org/2019/12/30/eth1x-files-state-of-stateless-ethereum/) if you want to get up to speed. Also see [this article](https://medium.com/@mandrigin/stateless-ethereum-binary-tries-experiment-b2c035497768) from Igor Mandrigin which compares Eth1's current hexary tries with binary tries for the performance of stateless clients, based on real transactions. Spoiler: binary tries win by a significant margin. Related article from Vitalik: [Protocol changes to bound witness size](https://ethereum-magicians.org/t/protocol-changes-to-bound-witness-size/3885). The [Telegram group](https://ethresear.ch/t/telegram-group-for-eth1x-stateless-client/6470) is busy. I'm currently 240 messages behind :sweat_smile: ## In other news - [Mikerah](https://twitter.com/badcryptobitch/status/1212532236609830912) (:wave:) has put out an Eth2 ["office hours" doc](https://docs.google.com/document/d/1OhGjgj_eUOjG-XvLAhYT0iYR_SCGCAbmPwTZ6JUkW-E/edit) that anyone can ask a question in and anyone can answer. This is a really cool idea, but it could do with some more attention: I'm sure there are plenty of questions out there! - Another good explainer from Jim McDonald, this one on modelling the [costs of being an Eth2 validator](https://www.attestant.io/posts/exploring-ethereum-2-validator-costs/). - Remember I mentioned last time that Protolambda is experimenting with [visualising](https://twitter.com/protolambda/status/1205287760367685632) large collections of validators? Here's some [work in progress](https://twitter.com/protolambda/status/1209487327434809344) on that. - Proto again, with the Python [remerkleable](https://github.com/protolambda/remerkleable) library: Typed mutable SSZ views over cached and immutable binary Merkle trees. It takes advantage of the SSZ design to optimise dealing with large data structures (such as the Eth2 beacon state). - John Adler on [Security and Scalability in Committee-Based Blockchain Sharding](https://medium.com/@adlerjohn/security-and-scalability-in-committee-based-blockchain-sharding-58fab3901193). - If you are interested in the possible legal status of Ethereum&nbsp;2.0 Ether (in the US), then [this article](https://gulovsen.io/proof-of-security/) may be of interest. Myself, I think the contents of the last 15 months of this newsletter amply demonstrates the decentralised nature of the community. Maybe the SEC will take it into evidence :scream: - Prysmatic Labs [is hiring](https://twitter.com/raulitojordan/status/1215689700150775808). In fairness, I should mention that Sigma Prime is also hiring (mentioned by Paul in the [podcast](https://podcast.ethhub.io/paul-hauner-ethereum-20-is-on-the-horizon) at the top). ## And finally... Don't forget to drop by [Gitcoin Grants](https://gitcoin.co/grants/) and sprinkle some DAI on a few deserving Eth2 projects. The CLR matching they are running until 21st January can multiply your contributions by large factors. Don't miss the "media" tab as well. There are so many grantees now that they've been split into two categories. I should probably put something up for What's New in Eth2. But otoh, I'd likely only spend it on beer. Wdyt? * * * [![[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).