--- 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 - 14&nbsp;January&nbsp;2022 ![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 85 at [eth2.news](https://eth2.news/) ## Top picks Happy new year, frens! It's been a while. My favourite piece from over the holidays was definitely Vitalik's massive session on the [Bankless podcast](http://podcast.banklesshq.com/99-endgame-vitalik-buterin), covering his recent [roadmap update](https://twitter.com/VitalikButerin/status/1466411377107558402) - the one that explores his Urges. ## The Beacon Chain The beacon chain continues to purr, with over 9 million ETH staked, and more than 280,000 validators. Participation is around 99.8% - it really is running beautifully. There was some turbulence on the Prater testnet over the holidays - the trigger seems to have been a bunch of the Prysm team's nodes running out of disk space at the same time as the Lighthouse team were struggling with a new hosting provider. The chain stopped finalising for a while but it's back to health now. ### Client diversity update Michael Sproul's latest excellent [client diversity](https://twitter.com/sproulM_/status/1481109509544513539) analysis is out. You know what I'm going to say, right? The results are _deeply_ disappointing. The network has grown 10x since genesis, but the client distributions remain stubbornly unchanged. Newcomers are just repeating old patterns. I was asked yesterday by someone at one of the world's largest banks what "keeps me up at night" about Eth2. My honest reply was, a single client having more than 66% of the validator share. What's most troubling is that, despite some of the biggest voices in Eth2 vigorously banging on about this for almost a year now &ndash; [Danny](https://twitter.com/dannyryan/status/1386024543848964096), [SuperPhiz](https://twitter.com/search?q=from%3A%40superphiz%20diversity) (who is relentless), [Evan](https://twitter.com/evan_van_ness/status/1450248790271737858), [Carl](https://twitter.com/CarlBeek/status/1449126851927060482), [myself](https://hackmd.io/@benjaminion/wnie2_210424#What-lessons-to-learn) &ndash; the needle has just not moved at all. I am at a loss to explain this, beyond **sheer negligence** by large staking operations. I've just revised my section on client diversity and [its risks](https://upgrading-ethereum.info/altair/part2/incentives/diversity) in The Book. ## The Merge The beacon chain Merge upgrade has a name! After a fun consultation exercise the star name Bellatrix [was chosen](https://twitter.com/EthCatHerders/status/1472950836984754179) as the successor to Altair. This is only the name for the consensus client side of things. The Eth1/execution side will need to come up with [its own name](https://ethereum-magicians.org/t/el-merge-client-release-naming/7928) for the fork that will prepare it for the Merge. By the way, I often get asked by journalists and others whether the Merge will lower gas prices. Well, here's Barnabé with the [authoritative answer](https://twitter.com/barnabemonnot/status/1480898702541791234). It's important to get the word out folks, else there will be some very sad frogs around when it all happens. ### Kintsugi Testnet The Kintsugi public Merge testnet went live a month ago. Here's the [announcement](https://blog.ethereum.org/2021/12/20/kintsugi-merge-testnet/) on the EF blog (with amazing artwork), and here's the [landing page](https://kintsugi.themerge.dev/) with links to all the resources you'll need. Superphiz, Rémy and Colfax got together to make a couple of [tutorial videos](https://twitter.com/superphiz/status/1473043026142502914) on joining the testnet. And there's a [PEEPanEIP session](https://www.youtube.com/watch?v=qGY1e6E9cvk) with Proto and Pari on Merge testnets and how to get involved, with a focus on Kintsugi. It all went [beautifully](https://twitter.com/vdWijden/status/1476890719876956171) for the first few weeks as Marius and his volunteer army of testers gave it the once-over. But then Marius unleashed The Fuzzer. A fuzzer is a way to generate cleverly crafted random data to explore edge cases much more creatively than humans will generally manage. And sure enough, things broke. 1. First, a [three-way split](https://twitter.com/vdWijden/status/1479414817551261699) between Geth, Besu and Nethermind due to differing blockhash validation strategies. 2. Teku and Lighthouse [followed the invalid chain](https://twitter.com/vdWijden/status/1479945793893277698) as a result of the above. This had actually been fixed in both clients before Christmas, but not all nodes had been updated with the fix. 3. It turns out that [Geth panics](https://twitter.com/vdWijden/status/1480969541928816644) when the block number is set to 1. These have all been resolved, and finality has finally [been restored](https://twitter.com/parithosh_j/status/1481394021566193668). There was a question raised from the community about why we didn't scramble (collectively as dev teams - I know Marius was scrambling) to get Kintsugi up and running again, as a response drill for what could happen on the real chain. It's a reasonable question, and at some point we will be doing this (and have done in the past). But this is our first public testnet: there is huge value in letting it run broken, taking time to collect the data, analysing it carefully, and thoughtfully considering how to respond. We learned a lot, and the learnings are feeding back into the spec design, in particular some tweaks to the engine API. The top priority this time was the learning exercise, not restoring finality as quickly as possible. Anyway, we expect to maintain Kintsugi for a couple more weeks before retiring it. Hopefully in that time we can freeze the Merge spec and then we'll kick off another public testnet with the final spec. After that, maybe start forking some of the existing Eth1 testnets to proof of stake. ## Staking Luis Naranjo came with a nice [introductory thread](https://twitter.com/luisnaranjo733/status/1481331680669409282) on setting up your own validator that hits all the high points. Extra credit for the eth2.news shout-out :wink: We love surveys, and here's [a good one](https://thesquanch.notion.site/Staker-Survey-Results-c5e1ebb5a2c84faa961f6e07709fbb82) - a very nice breakdown of solo stakers and staking service users, with a couple of interesting surprises. Looks like about 400 responses in the "Bots removed" version, which is a good number (almost 900 in the "Unfiltered" version!!). And [here's](https://prysmaticlabs.notion.site/The-Art-of-Surveys-Lessons-Learned-76765182be324c6f8cf1c3923960480a) a write-up of the Ethereum Staker Onboarding Experience Survey run by the Prysm team a while back, with some reflections on conducting surveys at the top. Results are not wildly different from the survey above. Stakewise [unveiled](https://twitter.com/stakewise_io/status/1476287556601982977) their new [decentralised architecture](https://stakewise.medium.com/a-new-era-for-stakewise-decentralizing-the-architecture-e598fde75ea8). I'm liking the direction of travel. With Rocket Pool now live, Lido having a [commitment](https://blog.lido.fi/the-road-to-trustless-ethereum-staking/) to decentralising, and distributed validator technology starting to become reality, there are definitely reasons for optimism. There's a new must-follow Twitter account! [Ethereum Pools](https://twitter.com/EthereumPools) is monitoring staking services for uptime and any anomalies. There's been a great streak of Tweets and insights since they went live three weeks ago - lots of graphs to look at. Finally, stakers, I continue to recommend the [Beaconcha.in mobile app](https://beaconcha.in/mobile) to anyone who will listen. It's had [an update](https://twitter.com/beaconcha_in/status/1480924099878785026). ## Tooling The good people of [Skillz](https://www.skillz.io/) have made [a tool](https://github.com/skillz-blockchain/eth2-keystore-converter) for converting keystores from Scrypt encryption to PBKDF2 (and vice versa). Why would you want to do this? Well, [Scrypt](https://en.wikipedia.org/wiki/Scrypt) is (by design) very slow and very memory intensive (about 300MB per key). This is fine for small stakers who want to load a handful of keys, but a big pain for larger operators. [PBKDF2](https://en.wikipedia.org/wiki/PBKDF2) is an alternative that is fast and uses barely any memory. Both are supported by the [EIP-2335 keystore standard](https://eips.ethereum.org/EIPS/eip-2335), but the Launchpad tooling generates Scrypt keystores only. Teku quite happily ingests PBKDF2 keystores; I don't know about the other clients. Speaking of key stores, recently all the client teams have been working to implement a common [key manager API](https://github.com/ethereum/keymanager-APIs). Handling of validator keys is an area in which the teams took quite different paths, making it hard for third-party platforms such as DappNode or Stereum to work cross-client. This effort is already bearing fruit with the first cross-client [key management front-end](https://twitter.com/sproulM_/status/1481859790557319168) by Joaquim Vergès :tada: We're almost there with the key manager API in Teku: all the functional stuff is done; now just finishing up connection security, which is obviously critical for such an interface. ## The Great Explainers Vitalik [made some updates](https://twitter.com/VitalikButerin/status/1480985979489980418) to the [Serenity Design Rationale](https://notes.ethereum.org/@vbuterin/serenity_design_rationale), which is wonderful as it was getting a bit crufty. As it happens, I've been spending a lot of time in the Design Rationale recently as I work on [The Book](https://upgrading-ethereum.info/altair/). ICYMI, the full [annotated spec](https://upgrading-ethereum.info/altair/annotated-spec) is done, and the first cut of the chapter on [Eth2 incentives](https://upgrading-ethereum.info/altair/part2/incentives). I'm tackling the section on SSZ at the moment &ndash; should be along in a little while &ndash; then I'll go back and revise the incentives stuff. Away from the spec, you can get another insight into the kind of issues client devs are continually wrestling with in the latest greatest Tweet-thread explainer from Jacek, this one on [lazy aggregated batch verification](https://twitter.com/jcksie/status/1481533505519693825) in Nimbus. ## Media and stuff As mentioned at the top, don't miss [Vitalik on Bankless](). In case that's not enough Vitalik for you (or maybe too much), here's eight minutes from him in Argentina on [The Future of Ethereum](https://www.youtube.com/watch?v=Z2dAKscC9SQ). The Ethereum Foundation research team did their [seventh Reddit AMA](https://www.reddit.com/r/ethereum/comments/rwojtk/ama_we_are_the_efs_research_team_pt_7_07_january/). These sessions are a gold mine. Some great questions, and some really great answers. I already mentioned Proto and Pari's [PEEPanEIP](https://www.youtube.com/watch?v=qGY1e6E9cvk) session on the Merge testnet. Mikhail Kalinin also did [a session](https://www.youtube.com/watch?v=wwfOqmCbPNU), his on [EIP-4399](https://eips.ethereum.org/EIPS/eip-4399) which changes the EVM `DIFFICULTY` opcode to `RANDOM` at the Merge, making use of the beacon chain's RANDAO. Ethereum applications will finally have access to a decent source of randomness! Looking forward to all the on-chain lotteries reappearing - really missed those. The [Wholesome Crypto Podcast](https://wholesomecrypto.com/podcast/) is a really nice refuge from the madness, and doubly so the episode with [Superphiz](https://wholesomecrypto.substack.com/p/superphiz-ethereum-beacon-chain-community) from EthStaker. Recommended listen. ## Research The biggest recent development was a proposal from Dankrad to [rework the design of sharding](https://notes.ethereum.org/@dankrad/new_sharding). Here's a [Twitter overview](https://twitter.com/dankrad/status/1475995508372131842). The Dank Shard design is a huge simplification that rests on two other fairly recent developments. 1. The inevitable rise of of specialist block builders (a la [MEV Boost](https://github.com/flashbots/mev-boost), and the [proposer/builder split](https://ethresear.ch/t/proposer-block-builder-separation-friendly-fee-market-designs/9725)) driven by the pursuit of MEV. 2. Potential new approaches to [censorship resistance](https://notes.ethereum.org/@frankdfr/H1f3PlB5Y) in a world where there are very few block builders. There's been some progress on single secret leader election with [Whisk](https://ethresear.ch/t/whisk-a-practical-shuffle-based-ssle-protocol-for-ethereum/11763?u=benjaminion). It's a good read. The bottom line for me is that &ndash; while being ingenious &ndash; it is still quite complex and adds a chunk of overhead. Jacek has a [much simpler suggestion](https://twitter.com/jcksie/status/1481703671402541066) that's probably sufficient protection for block proposers in practice: "publish blocks through multiple beacon nodes instead of one". Nonetheless, it's fascinating how progress has been made on this over time: I remember around EthCC in 2019 (I think) that the Ethereum Foundation put out a bounty on secret single leader election as an unsolved problem. We have a few options now, even if they are more complex than we'd ideally like. Further work is going on around how stakers might be able to [update their withdrawal credentials](https://github.com/benjaminchodroff/ConsensusLayerWithdrawalProtection/) if they believe that they have been compromised. I haven't had a chance to digest the whole thing, but I am glad that people are working on it. ## Regular Calls ### Implementers Call #79 took place on the 13th of January. * [Agenda](https://github.com/ethereum/pm/issues/443) * [Video](https://www.youtube.com/watch?v=izyYW9-HbNk&t=139s) * My [quick notes](https://hackmd.io/@benjaminion/ryBR2ip3Y) - it got quite technical at times and it's hard to capture all that accurately in the notes, so check the recording for the full experience. ## In other news - A new year update from [team Nimbus](https://our.status.im/nimbus-consensus-layer-2122/). ## And finally... Wen Merge? According to Vitalik, [some time in 2016](https://twitter.com/VitalikButerin/status/1477402765915795456). Predictions are hard, especially about the future. * * * This edition brought to you with the help of the "80's Bangers" playlist on Spotify. With minor interruptions for a bit of air guitar. (I remarked to my daughter last week how spooky it was that Spotify keeps recommending the "Dad jokes" channel to me. She looked at me oddly and said, "Um, it's not _that_ spooky - I mean you only listen to 80s music and jazz, the algorithm doesn't have to be _very_ smart.") * * * [![[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).