--- 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 - 28&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 86 at [eth2.news](https://eth2.news/) ## Top picks Vitalik on [Up Only](https://www.youtube.com/watch?v=2J9ex32-pCI) was a fun listen. Not a ton of Eth2, but we all need a break from time to time. ## The Beacon Chain Did you know that Ethereum&nbsp;2 has been a thing [since 2014](https://news.ycombinator.com/item?id=7554923)? Which makes the current attempts to [kill it off](https://blog.ethereum.org/2022/01/24/the-great-eth2-renaming/) a bit weird and definitely [confusing](https://twitter.com/superphiz/status/1486031335521140738). But at least we got a [new graphic](https://twitter.com/brillie_b_bral/status/1485658365887983618) out of it! (The [original](https://twitter.com/icebearhww/status/1431970802040127498).) Anyway, back in Eth2 land, all continues well on the beacon chain, with 9.2m staked ETH, 288k active validators, and 99%+ participation. You can't argue with that. Prater testnet participation is lower at around 85%. This is not a big deal &ndash; people often abandon testnet validators &ndash; but it does cause more skipped slots and delayed attestations than on mainnet. The Pyrmont testnet is now deprecated, which leaves it available for some interesting experiments. Jacek of the Nimbus team has been [playing with](https://twitter.com/jcksie/status/1484632785671397379) a long-range attack, which is a type of network attack unique to proof of stake, but similar to a 51% attack in proof of work in that it builds a competing chain. The attack has resulted in an independent fork of Pyrmont that Jacek has named [Insecura](https://ethresear.ch/t/insecura-my-consensus-for-the-pyrmont-network/11833?u=benjaminion). Definitely read Jacek's posts about this - it's really interesting to see theory made reality. However, it's not something to be too concerned about in practice, as Jacek notes [in this thread](https://twitter.com/jcksie/status/1485574681688223745), barring a consensus bug, that is. Which brings us to the other topic that rumbles on in the background in an increasingly sinister way: client diversity. See the [last edition](https://hackmd.io/@benjaminion/wnie2_220114#Client-diversity-update) for the latest data and concerns. I reworked my [section on diversity](https://upgrading-ethereum.info/altair/part2/incentives/diversity) in The Book to try to be more specific about the actual risks. This was prompted by a discussion on the [Bankless podcast](http://podcast.banklesshq.com/rollup-microsoft-buys-activision-olympusdao-has-fallen-looksrare-nft-irenedao) [at 53m54s] last week that was good but inaccurate in places (especially around slashing, but also the reason stated for the disparity in client distribution). On [State of the Stake #47](https://www.youtube.com/watch?v=RQcP1y4yGms) Super Phiz "attempts an analogy to describe the need for client diversity before the merge" - it's pretty entertaining and a recommended listen. And here's [Chainsafe's take](https://medium.com/chainsafe-systems/on-client-diversity-in-decentralized-networks-848aeedfb49d). In better news, I am seeing some encouraging signs of a few large staking pools waking up to the issue and actively starting to diversify their validator fleets. And Rocket Pool is beginning to [redress the balance](https://twitter.com/RocketPoolBot/status/1487082375330910210) a little. There's also much ongoing work on transparency around client diversity. In addition to Michael Sproul's [excellent analyses](https://twitter.com/sproulM_/status/1481109509544513539), there's a new dashboard from Miga Labs at [clientdiversity.org](https://clientdiversity.org/), and [nodewatch.io](https://www.nodewatch.io/) is also available - note that the latter two count _nodes_ rather than _validators_, validators being the more important metric for the protocol. If you are (rightly) nervous about staking with the majority client, various [migration guides](https://www.reddit.com/r/ethstaker/comments/sajl4v/how_to_migrate_away_from_prysm_to_another_client/) are popping up, and the wonderful [EthStaker community](https://www.reddit.com/r/ethstaker/) is always there to help. ## The Merge Fresh from the protocol mines comes the [latest Merge spec](https://github.com/ethereum/consensus-specs/releases/tag/v1.1.9), which could be a spec-freeze candidate. We discussed "Wen Merge?" on the [Eth2 devs call](https://hackmd.io/@benjaminion/rk1gRzgCK#Merge-Planning) this week. No conclusions, but some parameters. The Eth1 difficulty bomb is likely to start becoming a problem by mid July. It would be ideal to have done the Merge to proof of stake by then. We spent some time working back from there to the milestones we'd need to hit. Conclusion: it's probably doable, but doesn't leave a lot of breathing room to handle issues that arise. On the other hand, looking forward from now, there remain uncertainties. The spec is not yet frozen; we haven't completely nailed optimistic sync - for the cautious dev there are too many unknowns to commit to a given timeline just yet. In conclusion, I think we will be pushing for the ideal/aggressive timetable of Merging before mid-July, but will have contingency plans to push back the bomb if required. The overriding imperative is to do the whole thing well. A certain Mr Phiz commented in the YouTube chat that uncertainty around timing can be frustrating for the community. I understand that. But I think there's a trade-off here. In Ethereum everyone gets to see how the sausage is made. And, yes, it's quite messy &ndash; welcome to transparent distributed development. We could all go off into a windowless lab somewhere like some other protocols (\*cough\* Dfinity) and emerge with the thing all built and shiny, but that is not our ethos, never has been, and the day it becomes so is the day I exit. ### Kintsugi The Kintsugi [Merge testnet](https://beaconchain.kintsugi.themerge.dev/) is running extremely well, with a decent collection of Eth1&ndash;Eth2 client combinations. The plan is to run Kintsugi for 2-3 more weeks while the Merge spec is finalised and built into clients, and to kick off Kintsugi v2 (name TBD) in mid-February. Stop press! According to Tim Beiko's latest [all core devs update](https://tim.mirror.xyz/RXwf30VB-Lr4_56w7Kbe-CVXi-L5DuN0Vpfr06Ww5Cs) the new testnet will be known as Kiln (not Klim or Klin as I previously had it!). Lots of other good Kintsugi detail in there. It's not too late to join the fun! Luis Naranjo has put together a guide on [joining Kintsugi](https://luisnaranjo733.hashnode.dev/want-to-help-test-the-merge-run-a-node-on-kintsugi) with a Besu&ndash;Teku combo. ### Other testing [Pari](https://twitter.com/parithosh_j/status/1484258074399592450) and [Marius](https://twitter.com/vdWijden/status/1484255125170532358) have made a [shadow fork](https://github.com/parithosh/consensus-deployment-ansible/tree/goerli-shadow-fork/goerli-shadow-fork) of the Eth1 Goerli testnet and Merged it to Eth2. As the name suggests, this now shadows the ongoing Goerli testnet, replaying all the transactions sent to it. I guess the mempools will not be quite identical, so at some point the states will diverge and some transactions will become invalid, but it's an incredible step towards in-real-life testing. They've set it up in a very repeatable way, and the exercise can be restarted weekly if desired. At some point soon we'll do this with the Eth1 Mainnet as well. There's also a new Merge Testing framework being constructed as a [Kurtosis module](https://github.com/kurtosis-tech/eth2-merge-kurtosis-module) that looks promising. ## Staking An update from [Rocket Pool](https://medium.com/rocket-pool/where-we-are-and-whats-to-come-7f5f932e9035), eleven weeks in. Already Rocket Pool has [close to 1%](https://twitter.com/RocketPoolBot/status/1487082375330910210) of all validators. I'm not sure I buy the claim that they are the "second largest Ethereum staking provider" &ndash; there are [several larger](https://beaconcha.in/pools) &ndash; but definitely moving in the right direction. Another technology aiming to wean us off centralised staking pools is Distributed Validators (DVT), formerly known as secret shared validators. A couple of things going on in that world: - ssv.network is live with the incentivised [Primus testnet](https://blog.ssv.network/primus-incentivized-testnet-is-live-1cb82d9b4709). You can keep up with the latest on the project's shiny new [homepage](https://ssv.network/). - Meanwhile, Obol is also at work building with DVT. Here's Oisín Kyne talking about why this matters so much in [Tackling the Staking Problem](https://blog.obol.tech/tackling-the-staking-problem/). ### Tooling [`eth-wizard` ](https://github.com/stake-house/eth-wizard) is a "validator installation wizard meant to guide anyone through the different steps to become a fully functional validator on the Ethereum network". Release [0.8.0](https://github.com/stake-house/eth-wizard/releases/tag/v0.8.0) is out. See the [Stakehouse call](#StakeHouse) for a few words on it from Rémy Roy. ## Media and stuff Tim Beiko and I joined the [Compass Mining podcast](https://twitter.com/compass_mining/status/1487095255400865797) (aka the lions' den) to explain the process of The Merge and discuss timing. Jacek is on fire, bringing another of his terrific tech-dive tweet threads, this one on some sweet [Nimbus optimisation work](https://twitter.com/jcksie/status/1482305245363453953). ## Research A kind of holy grail for a blockchain is to be both maximally decentralised and to have fast finality. Ethereum&nbsp;2 currently treads a kind of [middle ground](https://upgrading-ethereum.info/altair/part2/incentives/staking#stake-size) of favouring decentralisation, but limiting the number of participants with a fairly high 32 ETH stake, and tolerating a moderate ~13 minute finality delay. Vitalik [suggests](https://notes.ethereum.org/@vbuterin/single_slot_finality) that we might in future be able to move to a single-slot, 16 second finality, which would be a game-changer. Partly this might be achieved by lowering the number of validators that must sign-off on finality, which would also reduce the cost of an attack (remember, in Eth2, finality is "economic finality"). But it's quite possible that this would be fine. Vitalik also presented on this at [EDCON](https://www.youtube.com/watch?v=nPgUKNPWXNI&list=PL6-IF807eaBFg6Rg22ByDsVXUg1wfaWRz) back in September. Again Vitalik, but this time on [Secret non-single leader election](https://ethresear.ch/t/secret-non-single-leader-election/11789?u=benjaminion). In the [last edition](https://hackmd.io/@benjaminion/wnie2_220114#Research) we looked at [Whisk](https://ethresear.ch/t/whisk-a-practical-shuffle-based-ssle-protocol-for-ethereum/11763?u=benjaminion), a new but somewhat complex method for single secret leader election. What if we dropped the requirement to have exactly one block proposer in every slot? Things could be a lot simpler. Alex Stokes has been [thinking about](https://twitter.com/ralexstokes/status/1483980645613199360) the work needed to support withdrawals from the beacon chain. To enable this, the beacon state root would need to be accessible to the EVM. This ["proto-eip"](https://notes.ethereum.org/@ralexstokes/rke0rQL6F) suggests a way to implement this. Note that this would enable a high degree of "self-awareness" for the combined Ethereum chain - there could be some interesting applications well beyond withdrawals themselves. Also on [ethresear.ch](https://ethresear.ch/): - [Balancing Attack: LMD Edition](https://ethresear.ch/t/balancing-attack-lmd-edition/11853?u=benjaminion). I've just seen this and have not had time to digest it. The claim is that the fork choice balancing attack is still feasible even with proposer boosting, which is supposed to have fixed it. We'll see. - From the same team, [Avalanche Attack on Proof-of-Stake GHOST](https://ethresear.ch/t/avalanche-attack-on-proof-of-stake-ghost/11854?u=benjaminion). Eth2 as-is is not susceptible to this attack. - Vitalik _again_, [Single-slot PBS using attesters as distributed availability oracle](https://ethresear.ch/t/single-slot-pbs-using-attesters-as-distributed-availability-oracle/11877?u=benjaminion), an alternative to the two-slot in-protocol block builder/proposer split mechanism he previously suggested. ## Regular Calls ### Implementers Call #80 took place on the 27th of January. * [Agenda](https://github.com/ethereum/pm/issues/458) * [Video](https://youtu.be/Bi2qZ2epaPM?t=277) * My [quick notes](https://hackmd.io/@benjaminion/rk1gRzgCK). We discussed the timing of The Merge, but as noted above, no definite conclusions. We also talked about the future of testnets, and a bunch of techie stuff. ### StakeHouse StakeHouse [Community call #13](https://www.youtube.com/watch?v=veBBf-322S0) was on the 19th of January. Lots of good stuff on tooling for staking, including the common client key manager API, the Eth2 key manager, the Wagyu keytool and installer, a Stereum demo, and `eth-wizard`. ## Upcoming events - Wednesday, 09 February 2022, @16:00 UTC [On the Verge of the Merge](https://pages.consensys.net/webinar-on-the-verge-of-the-merge) - a webinar with my esteemed colleagues about The Merge, and how to join the testnets with Besu and Teku. - Friday, 11 February @14:00 UTC: [Merge Community Call #3](https://github.com/ethereum/pm/issues/465) ## In other news - The Nimbus team is running a [public REST API](https://twitter.com/ethnimbus/status/1485613005815566336) that can be used for testing against a live Nimbus node ([docs](https://nimbus.guide/rest-api.html)). Just to note that you can test against Teku's API via Infura. ## And finally... Super Phiz and I might have a little treat for you next week. Anyway, keep an eye on your Twitterz. * * * [![[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).