Ethereum All Core Developers Consensus Call #105 Writeup
On March 23, 2023, Ethereum developers gathered for their 105th All Core Developers Consensus (ACDC) call. This week, the call was chaired by Ethereum Foundation researcher Alex Stokes. The ACDC calls are a bi-weekly meeting series where Ethereum developers discuss and coordinate changes to the consensus layer of Ethereum. To kick off the call, representatives from Ethereum client teams went around the horn to give an update on the status of their final releases for the upcoming Shanghai/Capella upgrade.
Prysm (CL) client: Final release will be ready early next week.
Teku (CL) client: Final release will be ready by tomorrow, March 24, 2023.
Nimbus (CL) client: Final release has been published. It can be found here.
Lodestar (CL) client: Final release will be ready early next week.
Lighthouse (CL) client: A hot fix for their final release will be coming out tomorrow, March 24, 2023.
Nethermind (EL) client: Final release will be out today, March 23, 2023.
Geth (EL) client: Final release has been published. It can be found here.
Once all final client releases for the Shanghai/Capella upgrade on Ethereum mainnet are published, Chair of the ACDE calls Tim Beiko said that he will compile them into a blog post on the Ethereum Foundation website. Stokes reminded all Ethereum stakeholder listening to this week’s call to be on the lookout for these releases and the blog post early next week. All node operators on Ethereum are encouraged to upgrade their nodes in advance of the upgrade, which is scheduled to activate on April 12, 2023 at 6:27 PM (ET).
Paritosh Jayanthi, a DevOps Engineer for the Ethereum Foundation, said that once final client releases are out, developers will launch one final mainnet shadow fork to test these releases. Jayanthi encouraged client teams to reach out if there was a specific functionality or edge case they wanted to test through the shadow fork. In addition to last-minute testing efforts, Fredrik Svantes, a Security Researcher at the Ethereum Foundation highlighted that the maximum bug bounty for identifying a vulnerability in the Shanghai/Capella upgrade has been doubled from $250,000 to $500,000 between now and the time of the fork. Bug reports can be submitted to the Ethereum Foundation through this website here.
Outside of client releases for Shanghai/Capella, developers are also preparing upgrades to MEV-Boost software. There will be a third MEV-Boost community call next Friday, March 30th, to educate at-home validator node operators, staking pools, MEV builders, and relays about the new software releases related to MEV-Boost. Details for this call can be found here.
On prior Ethereum developer calls, developers discussing decoupling blocks from blobs. As background, blobs are the new transaction type that will be introduced on Ethereum through the Deneb upgrade, which centers around Ethereum Improvement Proposal (EIP) 4844, also known as proto-danksharding. To improve network performance, developers discussed decoupling blob transactions from blocks such that blocks can be gossiped, rebroadcast, and verified independently of blobs. These changes to Deneb code specifications have since been merged and this week, developers discussed an additional optimization that can be made due to the decoupled design of blobs from blocks. Gajinder Singh, a developer for the Lodestar (CL) client, explained that due to the decoupling, the execution layer (EL) of Ethereum can now pass along proofs about blobs to the consensus layer (CL) that the CL can easily validate. Singh’s pull request about this minor addition to Deneb specifications has been opened on GitHub. Stokes encouraged CL client teams to review the pull request and chime in on with their thoughts in the comments section.
Then, Marius van der Wijden, a developer for the Geth (EL) client, mentioned that test executions for Deneb and EIP 4844 take a couple of seconds to start up and initialize the appropriate libraries. Van der Wijden recommended that developers work on optimizations to reduce these initialization costs so that tests on the code can be performed more efficiently. Dankrad Feist, Researcher for the Ethereum Foundation, confirmed that there were a few changes that could be made to starting up the test executions to avoid these delays and reduce the initialization times from a few seconds to milliseconds.
Etan Kissling, a developer of the Ethereum Nimbus (CL) client team, gave a shout-out for ongoing efforts around SSZ formatting. As discussed on prior calls, developers are working towards updating the serialization scheme used by Ethereum’s EL so that it is consistent with the scheme used by Ethereum’s CL. For now, Beiko explained that these efforts would be put on hold until a decision is made by the larger Ethereum core developer group. “It seems like there’s a lot of stuff to discuss around SSZ and in the meantime, we’re just going to keep the specs as is and if there are changes that happen, we’ll obviously retrofit 4844 to support that,” said Beiko on the call. “It’s not clear how much time clients have had to properly dig into SSZ given that we’re shipping [Shanghai/Capella] right now. So, it seems like there needs to be more conversation and diligence on it by different client teams.”
Ethereum Upgrade Naming Discussion
The final discussion item on ACDC Call #105 was around Ethereum upgrade naming conventions. Two weeks ago, on March 10, 2023, Andrew B Coathup, Editor of Week in Ethereum News, opened a post on the Ethereum Magicians website about the name for Ethereum’s consensus layer upgrade after Deneb. Every upgrade on the Ethereum CL has been named after a star, while upgrades on the Ethereum EL have been named after major cities at which developers have organized their annual Devcon conference. For the Ethereum CL’s fifth upgrade, developers discussed star names that start with the letter “E.” Many were in favor of the name “Electra”. Stokes encouraged developers to chime in on the Ethereum Magicians thread started by Coathup here.
Along with the potential name of Electra, it is likely that the corresponding upgrade name for the EL of Ethereum will be Prague. Speaking to the dual naming convention for Ethereum upgrades since the Merge, which fused together the EL and CL blockchains of Ethereum, van der Wijden proposed collapsing upgrade names moving forward to one singular name. “I think the combined names are kind of horrible,” said van der Wijden. “I know that some people don’t like [dropping the combined names] because of the possibility of a hard fork happening on one but not the other layer but I think we can burn that bridge if we get there. van der Wijden emphasized that the multiple upgrade names for the same network hard fork was not only confusing for developers, but also the wider Ethereum community. “They see Shanghai. They see Capella. And they see Shapella. And they have to understand that all these three names are the same thing,” added van der Wijden.
Pooja Ranjan from the Ethereum Cat Herders group chimed in saying that in her opinion the dual naming structure for the upgrades could be an opportunity to educate the broader community about the network structure of Ethereum. Since the Merge, naming conventions around not only Ethereum upgrades but also the network structure of Ethereum has been somewhat confusing. Since the Merge, code changes to Ethereum have frequently been categorized between updates to the EL versus CL of Ethereum. However, on occasion, CL-focused changes have also been referred to as updates to the “Beacon Chain” of Ethereum, which is network name for the Ethereum CL and in some cases, such as in the case of updating Ethereum staked ETH withdrawal credential changes, naming conventions such as eth1 versus eth2 is also used to refer to operations impacting the EL versus CL of Ethereum, respectively.
Naming conventions for Ethereum upgrades and describing the protocol of Ethereum change naturally with time. While old and outdated naming conventions can sometimes create confusion, they represent important pieces of Ethereum’s history and growth over the years. It is of this reader’s opinion that trying to enforce “correct” naming conventions for an ever-changing protocol is not only difficult, but also opposed to the nature of Ethereum’s ever-evolving development roadmap. Stokes concluded this week’s call by suggesting developers chime in with their thoughts around Ethereum upgrade naming conventions on online forums such as the Ethereum Magicians website.