Ethereum All Core Developers Consensus Call #121
On November 2, 2023, Ethereum developers gathered over Zoom for All Core Developers Consensus (ACDC) call #121. Chaired by Ethereum Foundation Researcher Danny Ryan, the ACDC calls are a bi-weekly meeting series where developers discuss and coordinate changes to the consensus layer (CL) of Ethereum. This week, developers discussed:
A major change to Cancun/Deneb specifications to reduce complexity on the implementation of blobs,
Another upgrade specifications change to allow honest validators to reorg late blocks,
Updates to Cancun/Deneb testnet schedules,
The creation of a canonical JSON mapping to CL SSZ specifications.
Simplification of Blob Side Car Specifications
After discussions with the Prysm client team, Danny Ryan said developers have designed an alternative approach to blob gossip conditions that will significantly reduce complexities and issues related to blob propagation. “I believe that most of the issues that we’ve seen on the devnets in the past six to eight weeks have been in relation to complexities around handling these messages, when to invalidate them, how to invalidate them, what to premise these validations upon,” said Ryan. Francesco D'Amato, a researcher at the Ethereum Foundation, proposed attaching the block header and an inclusion proof on each blob side car to address these issues.
The proposal has since been created into a pull request (PR) on GitHub by a Lodestar client developer with the screen name “Dapplion.” Ryan emphasized that implementing the changes to Cancun/Deneb specifications in CL clients should consist largely of the removal of unnecessary code, rather than new additions. As for how these changes impact the upgrade’s progress to launch on mainnet, Ryan said that any delays should be minimal. “Obviously, there are implications here in terms of relationship to getting Deneb out, in relationship to what Devnet 11 and 12 look like and when they are. But also, from my assessment, it could actually be the same time to mainnet because this is simpler to get right and we’re not going to having as bug-ridden devnets,” said Ryan, adding, “It’s almost certainly going to give us a safer mainnet [launch] because it’s a simpler and more easy to get correct specification.”
There were no objections from developers on the call about the PR. Developers spent some time discussing the implementation details of the PR to ensure consistency between clients. Ryan said that he will aim to merge the PR today on November 2 and get out a new release for Deneb specifications by tomorrow, November 3.
Other Cancun/Deneb Specifications Changes
Alex Stokes, a researcher for the Ethereum Foundation, asked client teams a question about MEV builder specifications. “Essentially, who computes the KZG inclusion proofs?” asked Stokes. At present, the specifications require the MEV relay to compute these proofs. However, these proofs can be passed along by the Beacon node through the Beacon API. This would ensure that there is one less responsibility for the relay to fulfill and less new code to test in the MEV workflow. Gajinder Singh, an EthereumJS and Lodestar client developer, was in favor of passing along the KZG inclusion proofs to the relay from the Beacon node. There were no objections from other developers. Stokes has since issued an update to builder specifications regarding this change here.
Then, developers discussed PR #3034 in the consensus specifications GitHub repository. PR #3034 is an old proposal from back in October 2022 that allows honest validators to reorg late blocks and thereby encourages all validators to propose blocks in a timely manner, rather than delay submissions for additional MEV. Michael Sproul, a developer for the Lighthouse client, has finalized the PR. It is an optional change for clients and node operators to implement. There were no objections to merging this PR.
Cancun/Deneb Testing Timeline Updates
Danny Ryan said that client teams are "casually" estimating three weeks to implement the PRs discussed above. Once implemented by client teams, developers will likely launch a new devnet, Devnet 12, to test the new code. If developers do not work on updating client releases during the week of Devconnect, an Ethereum developer focused conference in mid-November, Devnet 12 will likely launch some time in early December. Given these new estimates for testing, it is unlikely that developers will also be able to launch the upgrade on the Goerli testnet as expected in late November. More likely, developers will start upgrading public Ethereum testnets over Q1 2024 after the holidays.
Parithosh Jayanthi, a DevOps engineer at the Ethereum Foundation, said that Devnet 11 has been launched for any client teams who want to test Cancun/Deneb code in the meanwhile between now and the launch of Devnet 12. He also mentioned that developers will conduct a shadow fork of the Goerli testnet tomorrow, November 3, to better assess block and blob latencies.
JSON Mapping to SSZ Specifications
Finally, developers discussed PR #3506 in the consensus specifications GitHub repository, which proposes adding a canonical 1:1 JSON mapping of CL SSZ specifications. This would have several benefits including simplifying documentation of Beacon API specifications and improving code readability. Nimbus client developer Jacek Sieka said that the latest version of this PR addresses earlier concerns about the equivalence of bytes and unsigned integers. Ryan said that he would share this PR in the Ethereum R&D Discord channel to source final comments from developers before merging the PR into the consensus specifications repository.