Try   HackMD

What's New in Eth2 - 14 January 2022

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →
Ben Edgington (Eth2 at ConsenSys — all views expressed are my own)

Edition 85 at 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, covering his recent roadmap update - 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 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 – Danny, SuperPhiz (who is relentless), Evan, Carl, myself – 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 in The Book.

The Merge

The beacon chain Merge upgrade has a name! After a fun consultation exercise the star name Bellatrix was chosen 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 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. 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 on the EF blog (with amazing artwork), and here's the landing page with links to all the resources you'll need.

Superphiz, Rémy and Colfax got together to make a couple of tutorial videos on joining the testnet. And there's a PEEPanEIP session with Proto and Pari on Merge testnets and how to get involved, with a focus on Kintsugi.

It all went beautifully 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 between Geth, Besu and Nethermind due to differing blockhash validation strategies.
  2. Teku and Lighthouse followed the invalid chain 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 when the block number is set to 1.

These have all been resolved, and finality has finally been restored.

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 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 - 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 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 their new decentralised architecture. I'm liking the direction of travel. With Rocket Pool now live, Lido having a commitment 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 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 to anyone who will listen. It's had an update.

Tooling

The good people of Skillz have made a tool for converting keystores from Scrypt encryption to PBKDF2 (and vice versa). Why would you want to do this? Well, 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 is an alternative that is fast and uses barely any memory. Both are supported by the EIP-2335 keystore standard, 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. 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 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 to the 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. ICYMI, the full annotated spec is done, and the first cut of the chapter on Eth2 incentives. I'm tackling the section on SSZ at the moment – should be along in a little while – 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 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.

The Ethereum Foundation research team did their seventh Reddit AMA. These sessions are a gold mine. Some great questions, and some really great answers.

I already mentioned Proto and Pari's PEEPanEIP session on the Merge testnet. Mikhail Kalinin also did a session, his on 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 is a really nice refuge from the madness, and doubly so the episode with Superphiz from EthStaker. Recommended listen.

Research

The biggest recent development was a proposal from Dankrad to rework the design of sharding. Here's a Twitter overview.

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, and the proposer/builder split) driven by the pursuit of MEV.
  2. Potential new approaches to censorship resistance in a world where there are very few block builders.

There's been some progress on single secret leader election with Whisk. It's a good read. The bottom line for me is that – while being ingenious – it is still quite complex and adds a chunk of overhead. Jacek has a much simpler suggestion 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 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
  • Video
  • My quick notes - 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

And finally

Wen Merge? According to Vitalik, some time in 2016. 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.")


Follow me on Twitter to hear when the next edition is out 🙌.

[RSS] We also have an RSS feed.

Advertising on this newsletter.

Give Feedback.