--- 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 - 17 April 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 40 at [eth2.news](https://eth2.news/) ## Top picks No specific highlights this week: it's all good, so read on! ## Phase 0: The beacon chain There are no spec updates since our last edition, and v0.11.1 is serving as the basis for planned joint testnets. Protolambda has created [eth2fastspec](https://github.com/protolambda/eth2fastspec) which is a set of optimisations to the naive Python implementation that is the official specification. The optimised version is a useful resource for client implementers: Proto is an optimisation beast. ### Testing and proving With a stable spec, it is testing and debugging season. Sigma Prime is contracted to set up differential fuzzing for all the client implementations. Here's the latest [Beacon Fuzz update](https://blog.sigmaprime.io/beacon-fuzz-03.html). It's effective: since putting out that update, they've found [another bug](https://twitter.com/ethnimbus/status/1250871507624091648). Another powerful weapon in the armoury is formal verification. I'm happy to be able to share that a team of my PegaSys colleagues has begun work on formally verifying the Eth2.0 spec using a proof language called [Dafny](https://en.wikipedia.org/wiki/Dafny). They've been working on this for a few weeks, starting with SSZ and Merkleisation, and they recently opened up [the GitHub repo](https://github.com/PegaSysEng/eth2.0-dafny). They've already found a minor [issue](https://github.com/ethereum/py-ssz/issues/109) or [two](https://github.com/ethereum/eth2.0-specs/issues/1695). Code audits are a third approach to ensuring integrity. Lodestar recently passed an [audit](https://medium.com/chainsafe-systems/lodestar-initial-audit-passes-with-flying-colours-397d0ecaee3b) covering several critical components of their tooling libraries. Greg was [quite excited](https://twitter.com/gregthegreek/status/1250496866443309058) about this. Audit report [here](https://leastauthority.com/static/publications/LeastAuthority-ChainSafe-Utility-Libraries-Final-Audit-Report.pdf). Is it a bit weird that I find reading audit reports to be one of life's great pleasures? :man-shrugging: ### Testnet news Prysmatic Labs has finally [torn down](https://twitter.com/terencechain/status/1250529598506274817) their incredibly successful Sapphire beacon chain testnet after three months of running. But not to worry! They are already back with the [Topaz testnet](https://medium.com/prysmatic-labs/introducing-topaz-testnet-8e8a4e00a700) which made a [successful](https://twitter.com/terencechain/status/1251310431508893697) start at midnight UTC on Friday night/Saturday morning. Huge congratulations to the whole Prysmatic team :clap: You can join the Topaz testnet [here](https://prylabs.net/) (it's only testnet Ether!), and follow its progress on [EtherChain](https://beaconcha.in/) and [Etherscan](https://beacon.etherscan.io/). Etherchain has [charts and stuff](https://twitter.com/etherchain_org/status/1248480055396683777). The Lighthouse crew are also about to release their next public testnet, so keep a look out for that. I'll retweet any news I see :bird: Note that both Prysmatic's Topaz testnet and the new Lighthouse testnet remain essentially single-client. These are **not** _the_ joint testnet. _The_ joint testnet is coming Real Soon Now^TM^—weeks, not months: watch this space. Progress towards _the_ joint testnet is being coordinated largely by Afri, who has created a repo tracking progress: [Schlesi ETH 2.0 Testnet](https://github.com/goerli/schlesi/). We're all pretty much ready to go, I think. As evidence, the client I'm responsible for, [Teku](https://github.com/pegasyseng/teku), was able to sync up with the [Lighthouse testnet](https://twitter.com/benjaminion_xyz/status/1247631816498053120), and previously the Prysm [Sapphire testnet](https://twitter.com/benjaminion_xyz/status/1232434296578658304). (By the way, we've made a start on [documenting Teku](https://docs.teku.pegasys.tech/en/latest/).) ## The Great Explainers [Casper FFG in Eth2.0](https://www.adiasg.me/2020/04/09/casper-ffg-in-eth2-0.html). Another terrific explainer from Aditya Asgaonkar. In his [previous article](https://www.adiasg.me/2020/03/31/casper-ffg-explainer.html) he explained the basics of the Casper FFG consenus protocol. In this one he describes how it is implemented within Eth2. [Ethereum 2.0 Staking - Penalties & Rewards for Validators](https://www.youtube.com/watch?v=h-9fKIGOvFU) Kierin Mulholland has made a video explainer. For the main part it's a walkthrough of [this article](https://codefi.consensys.net/blog/rewards-and-penalties-on-ethereum-20-phase-0) from ConsenSys Codefi, but he is very enthusiastic about it :smile: We usually focus on the technical nuts and bolts around here, but this is worth a read on the possible economic impact of Eth2: [7 Reasons ETH2.0 Will Create The Next Economic Shift](https://medium.com/@adamscochran/7-reasons-eth2-0-will-create-the-next-economic-shift-f689d2f1ec24). (I originally read it all in [tweet form](https://twitter.com/AdamScochran/status/1250938829449674752).) And CryptoBulls has [A comprehensive Beginners Guide](https://cryptobulls.info/what-is-ethereum-2-0-a-comprehensive-beginners-guide) to Eth2 that is largely accurate, and I like the body analogy for the delivery phases. But the answer to "Is Ethereum 2.0 a new coin?" is dead wrong, so take care. ## Research [Eth1+eth2 client relationship](https://ethresear.ch/t/eth1-eth2-client-relationship/7248?u=benjaminion) from Danny Ryan. Now that the beacon chain is within sight, work on how the current Ethereum mainnet (Eth1) will be migrated into Eth2 is ramping up rapidly. This is Danny's explanation of how Eth2 and Eth1 nodes might interoperate to make it all work. With the new emphasis on merging Eth1 into Eth2 on a much swifter schedule, the ConsenSys Quilt team has changed its focus for now from working on pure Eth2 execution environments to working on [account abstraction](https://hackmd.io/@villanuevawill/ryw4LkG_U) in Ethereum as a stepping stone to EEs. Account abstraction is an idea that goes back to [Ethereum's origins](https://blog.ethereum.org/2015/07/05/on-abstraction/). It would be excellent to see it finally implemented. In [Asynchronous User-level ETH transfers over netted balance approach for EE-level ETH transfers](https://ethresear.ch/t/asynchronous-user-level-eth-transfers-over-netted-balance-approach-for-ee-level-eth-transfers/7246?u=benjaminion), Raghavendra from PegaSys proposes a way to implement cross-shard Ether transfers. He follows up with [Atomic Asynchronous Cross-shard User-level ETH transfers over netted EE transfers](https://ethresear.ch/t/atomic-asynchronous-cross-shard-user-level-eth-transfers-over-netted-ee-transfers/7277/?u=benjaminion) which improves the protocol to make it atomic. Rather brilliantly, he's also made [an explainer video](https://www.youtube.com/watch?v=abdY4yOThLc), which is something I'd like to see more often. Victor Farazdagi of Prysmatic Labs has written about [Attestation aggregation heuristics](https://ethresear.ch/t/attestation-aggregation-heuristics/7265?u=benjaminion). For maximum protocol efficiency and maximum validator rewards, we want to pack the attestations (votes) from validators as densely as possible. This is a hard problem in general: although overlay protocols like [Handel](https://github.com/ConsenSys/handel) can solve it rather straightforwardly, we are not taking that approach at present, so heuristic methods like Victor's are needed. Finally, there are a few older conversations that have recent updates: - [Multi-layer hashmaps for state storage](https://ethresear.ch/t/multi-layer-hashmaps-for-state-storage/7211/3?u=benjaminion). Further discussion and clarification. - [A non-interactive proof of custody using polynomial commitments](https://ethresear.ch/t/a-non-interactive-proof-of-custody-using-polynomial-commitments/5692/4?u=benjaminion). Dankrad presents a simplification. - [Accumulators, scalability of UTXO blockchains, and data availability](https://ethresear.ch/t/accumulators-scalability-of-utxo-blockchains-and-data-availability/176/28?u=benjaminion). Suggestion to use semi-primes (the product of two primes) rather than primes in the n-party setup. ## Regular Calls ### Implementers Call #37 took place on the 9th of April. * [Agenda](https://github.com/ethereum/eth2.0-pm/issues/141) * [Video](https://youtu.be/aEJ9Pw7yFYM?t=58) * My [quick notes](https://hackmd.io/@benjaminion/HJ-2vo2DU), and [full notes](https://github.com/ethereum/eth2.0-pm/blob/b347b2dce9f4a9de8faa024eb9307244da570e8f/eth2.0-implementers-calls/call_037.md). The big new topic raised on this call was about standardising APIs between clients. The discussion is being led by Infura, who have historically found the lack of standardisation in Eth1 to be a huge pain point. An obvious benefit of standarising the Eth2 beacon node API is that tools and applications, such as beacon chain explorers, can easily switch between different client implementations. A less obvious benefit that could be realised is that one type of validator could talk to a different type of beacon node. For example, a Teku validator might be attached to a Lighthouse beacon node, or a Nimbus validator attached to a Prysm beacon node. This could be useful for failover and redundancy, bearing in mind that we want high uptime. Anyway, I'm fairly confident that we can achieve the former benefit, and maybe the latter as well. The API conversation kicks off in the [meeting agenda](https://github.com/ethereum/eth2.0-pm/issues/141#issuecomment-611072786) and is continued in the three issues below: - [API format redux](https://github.com/ethereum/eth2.0-APIs/issues/24) - [BeaconNode APIs](https://github.com/ethereum/eth2.0-APIs/issues/25) - [API conversions and CI](https://github.com/ethereum/eth2.0-APIs/issues/26) A follow-up call is currently [planned](https://github.com/ethereum/eth2.0-pm/issues/143) for April 20th for further interactive discussion. This is almost as exciting as the great serialisation debates of 2019 :stuck_out_tongue_winking_eye: ## In other news - Latest development updates from [Nimbus](https://our.status.im/nimbus-update-april-10/) - Discussion about creating a dedicated [Ethereum 2.0 page](https://github.com/ethereum/ethereum-org-website/issues/878) on ethereum.org. Feel free to get involved. - Mikerah still [wants to talk to you](https://twitter.com/badcryptobitch/status/1251281250427510786) about validator privacy. - The splendid folk at Ethereum on ARM have got [Teku running on ARM](https://twitter.com/EthereumOnARM/status/1247845575086821376). - I need to look a bit more into [Rocket Pool](https://www.rocketpool.net/). They seem super motivated about Eth2 staking, and have been committed to supporting proof of stake for a very long time now. At last, their hour has come, and they are [showcasing](https://medium.com/rocket-pool/development-update-10th-april-72db7824c8e0) some nice work.[^fn1] [^fn1]: Guys, come and talk to me about Teku sometime :slightly_smiling_face: ## And finally... Thank you so much to every one of you who contributed to my [Gitcoin Grant](https://gitcoin.co/grants/551/the-ethereum-20-annotated-specification) in the recent matching round! It is very much appreciated :pray: * * * [![[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).