AllCoreDevs Update 012Ā ā›“
0x10F5
July 7th, 2022

Welcome to another AllCoreDevs update šŸ‘‹šŸ»

This one is out a little later than I would have liked, but hopefully you've followed the - deluge - of - blog - announcements over the past months. There's a lot to unpack, so let's get into it!

TL;DR šŸ‘€

  • Gray Glacier went live: block times are now back to ~13s šŸ•°
  • After Sepolia, Goerli will be the last testnet to merge --- stakers, now is the time to triple-check your setup!
  • Kiln, Ropsten and Rinkeby are now deprecated, they will gradually be shut down after mainnet transitions to proof-of-stake šŸŒ…
  • We've had tons of community calls, mainly focused on either The Merge or EIP-4844: client implementations, specs, demos, there's a ton to dive into šŸ•³

Gray Glacier šŸ—»

The Gray Glacier upgrade recently went live, pushing back the difficulty bomb hopefully for the last time.

Why was this necessary? When previously delaying the bomb in the Arrow Glacier upgrade, the prediction script used to assess its impact on block times was off, and block times started rising faster than expected. Client teams therefore agreed to this pushback so they could focus on shipping The Merge in normal network conditions and avoid a degraded experience for users over the next few months.

The Nethermind team authored the EIP suggesting a new delay. They also wrote an excellent post explaining how they verified it would happen as expected, and why previous scripts were wrong. It's a shame we probably won't get to re-use the insights from it šŸ™ƒ.

As per Etherscan, block times are back down to normal:

With this out of the way, back to The Merge!

Merge Updates šŸ¼

We're getting closer and closer to moving away from proof-of-work on Ethereum. With Sepolia now merged, only a single testnet merge remains: Goerli/Prater.

While the validator set on Sepolia is permissioned, anyone can run a validator on Prater, and run through The Merge with Goerli. If you run a validator on mainnet, this will be your last chance to run through the entire process on a testnet.

That said, you don't need to wait until Goerli/Prater to test things out! Ropsten is already post-merge, and its staking launchpad instance now features a merge readiness checklist āœ….

In short, there are three things to remember for stakers:

  1. EL & CL Required: post-merge, to run a validator, you need to have both a full execution layer (EL) client (e.g. besu, erigon, geth, nethermind) and consensus layer (CL) client (e.g. lighthouse, lodestar, nimbus, prysm, teku) running in parallel. A few notes:
    • This is also true for non-staking nodes: to follow the chain, you will need to run an EL/CL combo.
    • Like today, stakers can run multiple validator clients on a single node. In other words, the many validators <> single EL <> single CL setup works.
  2. JWT Token: to ensure that the EL <> CL client communication channel is secure, the clients need to authenticate each other. This is done using a JWT token. Some clients will generate one automatically if not passed on startup, but be sure to check your client's documentation to configure this!
  3. Fee Recipient: last but not least, post-merge, validators receive priority fees from transactions when creating a block. To receive the funds, rather than burning them, a Fee Recipient address must be set. The good news is that these fees are paid on the EL, and therefore are immediately transferable by the address where they are received.

Again, if you haven't tested all of this, now is the time to stand up a node on a testnet and make sure things work as expected.

āš”ļø If you'd like to go even further, and have your validators accept MEV-extracting blocks post-merge, you can run mev-boost. The Flashbots team published a piece about its design and how it fits within the broader Ethereum roadmap here āš”ļø

The vast majority of merge-related changes have to do with how to run a node on the network. For end-users, no action is required. Smart contract and infrastructure providers can refer to this post for a deep dive into changes which may affect them. At a high level, they are:

  1. The zeroing out of several PoW-related values in the EL block headers (difficulty, ommers, block reward, etc.)
  2. The DIFFICULTY opcode being renamed to PREVRANDAO and serving as an indicator of whether The Merge happened on the network (see EIP-4399)
  3. Block production going from a ~13s average time with high variance to exact multiples of 12s
  4. The introduction of a finalized tag in the JSON RPC API, which returns the last finalized block on the network

All these changes can currently be tested on Ropsten, Sepolia & Kiln, and will be live on Goerli once it transitions to proof-of-stake. A Merge Community Call has been scheduled for July 15th to provide an opportunity for users and developers to ask questions about all things merge-related šŸ˜!

Testnet Deprecation šŸŒ…

While there was a full announcement about this, it's worth repeating that, post-merge, the two testnets maintained by client teams will be Goerli (using Prater for its Beacon Chain) and Sepolia. Kiln, Rinkeby and Ropsten will be deprecated. Kovan has already been.

Goerli, which post-merge will refer to today's Goerli/Prater network combo, will continue having an open validator set where stakers can test things before they go live on mainnet.

Sepolia, on the other hand, has a permissioned validator set. This provides application developers with a more stable network. The chain, being relatively new, also makes it easy for users to quickly sync its state and history.

The deprecated testnets will be shut down gradually over the next year. First, Kiln will be shut down shortly after The Merge happens on mainnet. Then, Ropsten is expected to be sunset before 2023. Finally, users of Rinkeby will have ~1 year to migrate before the network stops being supported.

It is worth noting that while Ropsten and Rinkeby will not be shut down right away, they may not have the same protocol rules as the Ethereum mainnet. Rinkeby will not run through The Merge so will be one upgrade behind as soon as mainnet transitions to proof-of-stake. Similarly, while Ropsten is already post-merge, no further network upgrades will be deployed on the network. If one were to happen before 2023, Ropsten would also fall behind mainnet.

If you haven't done so, now is the time to plan your testnet migration!

Community Calls šŸ“£

In the past two months, we've had several community calls, here's an overview!

Merge Community Call šŸ¼

In June, a Merge Community Call provided an overview of the latest Merge progress, as well as a forum for people to ask questions about the upgrade. If you plan on attending the next one, I highly recommend watching the recording for this, as several great questions were asked. Again, the next call is scheduled for July 15, 14:00 UTC.

EIP-4844 šŸ—

Also known as "proto-danksharding", EIP-4844 proposes an intermediate sharding specification for Ethereum which sets the foundation for full sharding, while also immediately enabling lower transaction fees on L2s. A full website details the proposal and its benefits. There are currently two parallel 4844 development "tracks": the preparation of a KZG Ceremony and prototype implementations of the changes in clients.

The KZG Ceremony is necessary to provide a random input for the proving scheme used to verify shard data. If that last sentence didn't make sense to you, I recommend reading pintail's excellent tweetstorm explaining the purpose of the ceremony in more detail.

At a high level, the ceremony requires specifications to be written, clients who run the specification to be implemented, a coordinating server which aggregates participants' inputs to the ceremony and extensive audits of all these things. Researchers and implementers are having regular calls to coordinate and share progress updates.

A summary of the current status of the ceremony specifications was given on a recent 4844 Breakout Call. Beyond the specs themselves, a ceremony client and coordinator were prototyped during the EthPrague hackathon! Work on the production client and coordinator implementations has also begun. A rough timeline of the implementation work, audits and public ceremony is available here.

On the 4844 Breakout, the Optimism and Coinbase teams demoed a Geth/Prysm prototype which implemented the core EIP-4844 functionality. As seen in the recording, a node pair is stood up and a file is submitted as a blob on the network. The file is then retrieved from the network, and its contents are verified to match the original. The code for the prototype is available here. This was the first time 4844 was seen working in the wild!

The rest of the call focused on various design & implementation issues related to the EIP. The notes contain an overview, and an Open Issues List will be used as a central place to track the various concerns, potential solutions and next steps in addressing them. Since the call, fixes related to blob verification times have been merged into the specs šŸ’Ŗ.

Merge Clients PEEPanEIP šŸ˜ø

The Ethereum Cat Herders' PEEPanEIP series usually has EIP authors go over their proposed changes and answer hosts' questions. For The Merge, the Cat Herders have recently produced both a general overview of the changes with Mikhail Kalinin, who wrote most of the merge specs, as well as a series of deep dives with client teams.

The series is still in progress, but so far we've had appearances by Erigon, Geth, Nimbus and Besu. Prysm, Nethermind and others are scheduled in the coming weeks. If you want to contribute to client diversity but aren't sure what client to use, this series provides a great overview of the various EL and CL implementations. Stay tuned for the full set of deep dives!

Next Steps āœ…

With Gray Glacier out of the way, client teams are now squarely focused on The Merge. Goerli being both the last testnet and the one with the largest community, we'd like its merge to resemble what we expect to happen on mainnet as much as possible. This way, stakers, node operators and developers can have one proper dress rehearsal before The Real Thing.

Keep an eye out on blog.ethereum.org and other community news sources for information about this final testnet transition! Once Goerli has successfully transitioned, there's only one more network left: mainnet šŸš¢

Arweave TXā†’
MuIhbM8aOq32m1Ck-c6Gb5WaRKoe4elZ9GSzELKEe-k
Ethereum Addressā†’
0x10F5d45854e038071485AC9e402308cF80D2d2fE
Content Digest
xkhOUpYC8UUNlTgGehhl63XF5QZnxAOvW3EOK9MWPeQ