--- 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;} .ui-infobar {visibility: hidden; padding-top: 0;} .community-button {visibility: hidden;} .markdown-body {padding-top: 0;} </style> # What's New in Eth2 - 8 October 2021 ![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 79 at [eth2.news](https://eth2.news/) ## The Amphora Edition 🏺 First things first, it's been three years (and a week) since I started writing this thing, so that deserves a :birthday:, I think. [How it started](https://hackmd.io/@benjaminion/eth2_news/https%3A%2F%2Fdrive.google.com%2Fopen%3Fid%3D1kKYBVda4pHNa3nQqVHv6RfZqQuRZNRdTCG9Us_uvR54). I hadn't really expected to be still doing this by now, but we are getting there! This will be a minimally viable edition, due to having been at the Merge Workshop all week with a bunch of the Eth1 and Eth2 dev teams. More later. Just three main topics to cover for you: 1. Get ready for Altair 2. Rocket Pool delay and the vulnerability report 3. The Merge Workshop ## Altair A reminder that the Altair upgrade on the beacon chain mainnet is set for epoch 74240 (Oct 27, 2021, 10:56:23am UTC). If you are staking on Eth2, you **must** upgrade your client before that date. See [this blog post](https://blog.ethereum.org/2021/10/05/altair-announcement/) from the Ethereum Foundation for FAQ, and details on which client version you need to be running. The Altair upgrade/fork is not the merge, but it does add some functionality to the beacon chain (like sync committees) and some other improvements. This is our one and only real-life practice run at upgrading the beacon chain before the merge. If it goes badly (perhaps because many stakers did not upgrade their clients in time) then it will certainly push back the merge date. You have been warned! ## Rocket Pool etc. Unfortunately, the much anticipated launch of Rocket Pool staking this week was aborted at the last minute. Here's the initial announcement on RP's [discord](https://discord.com/channels/405159462932971535/405163979141545995/894769328858226728), on the eve of the launch: > We've just been alerted to a potential critical exploit in the node side of protocol that could allow an operator to submit previously made withdrawal credentials for a minipool. It is a very sophisticated exploit so we will need some time to analyse and look at a fix. This is not a direct smart contract exploit bug. > >Obviously this close to launch is far from ideal, but we are extremely security conscious and making sure users funds are safe takes priority over everything else. This will effect our launch date, so we will give an update on that soon. The exploit was [found by](https://twitter.com/stakewise_io/status/1445475001696620550) Dmitri Tsumak of StakeWise and responsibly disclosed to Rocket Pool. It is now public, and RP has [published some analysis](https://github.com/rocket-pool/rocketpool-research/blob/master/Reports/withdrawal-creds-exploit.md). The tl;dr is that, in some staking pool scenarios, a malicious actor could potentially front-run deposit transactions to set the withdrawal credentials to their own rather than the intended withdrawal contract. Thus, when the stakes are eventually exited, the Ether would end up with the attacker rather than the stakers. The issue was actually [first identified](https://ethresear.ch/t/deposit-contract-exploit/6528) two years ago by the estimable Jim McDonald. In post-disclosure conversations between staking pools, facilitated by Immunefi, both [Lido](https://blog.lido.fi/vulnerability-response-update/) and [Stakefish](https://twitter.com/stakefish/status/1445807718892130304) anounced that they were also potentially vulnerable to the attack. Others may be as well. As far as anyone knows, this has never been exploited, and everyone is taking steps to secure against it. Rocket Pool is [testing and auditing](https://twitter.com/Rocket_Pool/status/1446300700661583876) their fix, and re-planning the launch. Watch this space. ## The Merge workshop It's been a bit below the radar for security reasons, but for the past week about 40 representatives of Eth1 and Eth2 teams, the Ethereum Foundation research team, ConsenSys Quilt R&D, and ConsenSys TX/RX have been working together onsite in Greece. Once we've all gone home I shall share some photos and memories. The event's ultimate goal was to create a long-lived, multi-client merge devnet. That is, a network that includes multiple Eth1 and multiple Eth2 clients, that has gone through the proof of work to proof of stake transition, and is happily running and processing transactions. And we [achieved it](https://twitter.com/benjaminion_xyz/status/1446516207159582743)! (With two minutes to spare before our closing dinner :slightly_smiling_face:) Three execution clients and four consensus clients nicely transitioned together from proof of work to proof of stake. It's a first step, and things are expected to go awry in the short term. But we did the thing, and it's a giant leap towards shutting down proof of work. The best overall explainer of what we're up to is this quick [video demo](https://www.symphonious.net/2021/10/08/ethereum-merge-local-testnet-demo/) from Adrian Sutton. I highly recommend this. You can see Ethereum transactions on a proof of stake network! There have been plenty of reports of successful steps along the way. To give some context, what's going on here is that individual Eth2/consensus clients are pairing up with individual Eth1/execution clients and testing that they can transition nicely together from PoW to PoS. With that done, bigger networks are built using multiple combinations of clients. There are [suggestions](https://twitter.com/trent_vanepps/status/1445008969756467203) for how client combinations might be named. A list of milestone announcements, roughly chronological (and I've definitely missed a bunch): - [Nimbus and Nethermind](https://twitter.com/jcksie/status/1444671383636692994) - [Lodestar](https://twitter.com/dapplion/status/1445046340153745409) interops with Besu, Geth, and [EthereumJS](https://twitter.com/EFJavaScript/status/1443471969001910273) - [Lighthouse and Geth](https://twitter.com/vdWijden/status/1445244013385289728) - [Teku plus Geth](https://twitter.com/ajsutton/status/1445248790290595841) - [Multiclient](https://twitter.com/peter_szilagyi/status/1445421888403030019): Lighthouse plus Geth and Lodestar plus Geth. - [Teku and Besu](https://twitter.com/ajsutton/status/1445591699082788868) - [Nimbus syncs](https://twitter.com/jcksie/status/1445806076415328257) the multiclient hacknetv2. - [Multiclient](https://twitter.com/ajsutton/status/1446230585781809156): Geth plus Teku and Geth plus Lighthouse. - [Multiclient](https://twitter.com/ajsutton/status/1446274368397398018): Geth plus Teku and Besu plus Teku. - [Serious multiclient](https://twitter.com/ajsutton/status/1446292745274880004): Geth+Teku, Besu+Teku, Geth+Lighthouse and Besu+Lighthouse - [Lodestar plus Besu](https://twitter.com/sajidazouarhi/status/1446402368464117807) - [Prysm plus Geth](https://twitter.com/terencechain/status/1446496835019833350) The full list of successes is in the overall [tracking document](https://hackmd.io/@tvanepps/amphora-milestones), along with explanation of milestones, and links to resources. Unfortunately, Prysm was unable to be with us, but the team has been [working remotely](https://twitter.com/terencechain/status/1445790942112325639) Amidst solving lots of minor incompatibility issues between clients, one of the most challenging aspects has been effectively syncing nodes on the combined network. Paul Hauner of Sigma Prime has made [a nice write-up](https://github.com/sigp/lighthouse/issues/2691) of the challenges. We also had many breakout sessions to discuss stuff like testnet automation, API definition, error standardisation, fuzzing and continuous integration, and "from Amphora to mainnet". The week has been a huge step forward in "proving the concept" of the Merge, and rapidly getting clients up to speed. But there remains a great deal of work to be done around robustness and productisation. So far, we are only really testing the happy-flow. Other things that people worked on during the week: - [MergeMock](https://github.com/protolambda/mergemock) can mock either the execution node or the consensus node to make testing and bug isolation easier (fewer moving parts). - [Merge Fuzz](https://github.com/MariusVanDerWijden/merge-fuzz) fuzzes Geth's engine API (its interface with the beacon node). The plan is to extend to all Eth1/execution clients to perform differential fuzzing. [Announcement](https://twitter.com/vdWijden/status/1446461842977591297). - [Ansible playbooks](https://github.com/parithosh/consensus-deployment-ansible/tree/amphora) for setting up testnets. - The mergenet [consensus monitor](https://mergenet.consensus-monitor.stokes.io/) that's tracking the current long(-ish) standing devnet. All being well, you should see lots of combinations of Eth1 and Eth2 clients progressing in perfect sync. [Announcement](https://twitter.com/ralexstokes/status/1446460171077701634). Here's Sigma Prime's [account of the week](https://twitter.com/sigp_io/status/1446521008702246913). Last, but by no means least, check out the [t-shirt I had made](https://twitter.com/benjaminion_xyz/status/1445778153809453059) for the event (styled after [this](https://twitter.com/icebearhww/status/1431970802040127498)). ## In other news A very brief round up of other things things going on. - Danny's [Finalized no. 29](https://blog.ethereum.org/2021/09/28/finalized-no-29/). Short and sweet headlines on Altair and the Merge Interop. ### Staking - Another [survey](https://twitter.com/superphiz/status/1446073505846644736) for stakers and prospective stakers. This one is from EthStaker and is quite straightforward. - [NodeWatch](https://medium.com/chainsafe-systems/nodewatch-the-open-source-node-explorer-for-ethereum-consensus-eth2-e00057525cd7), an open source beacon node explorer from ChainSafe. Pretty pictures! - Client diversity continues to be a hot button. Here's EthStaker's [comprehensive list of client switching guides](https://www.reddit.com/r/ethstaker/comments/pxx0oz/ethstaker_comprehensive_list_of_client_switching/). - Prysmatic Labs has published a [statement on client diversity](https://medium.com/prysmatic-labs/prysmatic-labs-statement-on-client-diversity-c0e3c2f05671). ### Explainers - Dankrad has a nice [Proofs of Custody explainer](https://dankradfeist.de/ethereum/2021/09/30/proofs-of-custody.html). - PEEPanEIP session with on [Beacon chain metrics & benchmarking](https://www.youtube.com/watch?v=3xD2UyazRTE) with Pari from the EF and Leo from the Barcelona Supercomputing Center. - Liberosist/Polynya has been writing a great deal on sharding and rollups lately. Here's a taster: [Modular vs monolithic sharding](https://www.reddit.com/r/ethfinance/comments/pyenr5/modular_vs_monolithic_sharding_zkmonolithic/). And there's a wealth to explore on their [Medium page](https://polynya.medium.com/). ### Research - Alex Vlasov continues to seek rigour in the way we write specifications: ["Mutable Forest" Memory Model for blockchain specs](https://ethresear.ch/t/mutable-forest-memory-model-for-blockchain-specs/10882?u=benjaminion). Some good discussion ensues. - Vitalik has reached version 3 of the [proposer / builder separation design](https://notes.ethereum.org/@vbuterin/proposer_builder_separation_3). This is part of a goal of democratising MEV, and the present version involves extending beacon chain slots from 12 to 16 seconds to be able to fit some more interactions in. ### Client updates - The latest (pre merge interop) [update from Nimbus](https://our.status.im/nimbus-update-pre-merge-devnets/) That's all for now, folks. Onwards and upwards! * * * [![[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). [Advertising](https://hackmd.io/@benjaminion/eth2_news/https%3A%2F%2Fhackmd.io%2F%40benjaminion%2Fadvertising) on this newsletter. [Give Feedback](https://docs.google.com/forms/d/e/1FAIpQLSfkESc4CmNfRGHHjWfNeF3ceLwrXDvynetda4sKfJFJ71Oabw/viewform).