Ethereum All Core Developers Execution Call #174 Writeup
On November 9, Ethereum developers gathered over Zoom for All Core Developers Execution (ACDE) Call #174. Chaired by the Ethereum Foundation’s Protocol Support Lead Tim Beiko, the ACDE calls are a bi-weekly meeting series where developers discuss and coordinate changes to the execution layer (EL) of Ethereum. This week, developers discussed:
The first Dencun Goerli shadow fork
Changes to execution API specifications to include blob related data
Addition of a proof verification precompile to Verkle upgrade
ACD call schedule for the next two weeks
Dencun Goerli Shadow Fork #0
On Monday, November 6, Ethereum developers executed a shadow fork of Goerli, a public Ethereum testnet. Shadow forking is a process through which developers can test upgrades in an environment that mirrors the activity on existing networks. A shadow fork is created by syncing nodes to a network, in Monday’s case, the Goerli blockchain, and forking the network with a small number of nodes. The shadow fork retains the same state and history as the original network but can be upgraded without impacting the transaction activity or users on the original network.
The first Goerli shadow fork testing the Dencun upgrade went smoothly, according to Parithosh Jayanthi, a DevOps Engineer at the Ethereum Foundation. Jayanthi said that the timely attestations, block proposals, and blob arrivals seen on Goerli Shadow Fork #0 was likely because the network was small, operated by 100 validators. To better evaluate latency of blocks and blobs post-Dencun upgrade, developers were in favor of conducting a shadow fork with a higher number of validators. Additionally, Ethereum Foundation Research Danny Ryan recommended waiting for the rework of CL clients discussed on ACDC #121 before testing the Dencun upgrade on another shadow fork.
Due to costs associated with launching shadow forks of larger networks such as Ethereum mainnet, developers leaned towards conducting more shadow forks of Goerli first before moving on to conducting them on mainnet. Beiko also recommended launching at least one more standalone Dencun developer-focused test network with finalized EL/CL specifications before doing a second shadow fork of Goerli.
Changes to Execution API Specifications
Then, developers discussed a proposal from a Nethermind client developer that goes by the screen name “Flcl42”. Flcl42 proposed updating the “eth_feeHistory” method in the execution API to include blob related data post-Dencun. Additionally, he proposed adding a new method “eth_blobGasPrice” so that users can retrieve potential blob gas price data. As an alternative to “eth_blobGasPrice”, Flcl42 also said that developers could instead create a new method, “eth_gasPrices”, to return both the potential gas price for regular transactions and blob transactions.
A Geth client developer by the screen name “Lightclient” was hesitant about the addition of the method eth_gasPrices because of the way it aggregates and returns data on both regular and blob transactions. “If the caller needs both, they can submit a JSON-RPC batch call,” wrote Lightclient in a comment under Flcl42’s proposal. Based on the feedback, Beiko recommended adding the eth_blobGasPrice method and updating the eth_feeHistory method but holding off on the creation of a bundled method like eth_gasPrices. Lightclient also recommended developers reach out to Layer-2 protocol teams to get their thoughts on these execution API specifications changes.
Verkle Proof Verification Precompile
Next, Guillaume Ballet, a researcher at the Ethereum Foundation working on the Verkle upgrade, highlighted a working proposal to add a precompile that would help smart contract verify Verkle proofs. As background, precompiles are a special type of smart contract on Ethereum with a fixed address and gas cost that often enable applications to perform complex cryptographic computations through the Ethereum Virtual Machine that would otherwise be too costly to perform.
Alex Stokes, another researcher at the Ethereum Foundation, asked whether EIP 2537, which is a proposal to create a new precompile for BLS 12-381 curve operations, could be used to verify Verkle proofs. Dankrad Feist, another researcher at the Ethereum Foundation, affirmed that they could not and that the BLS precompile would have to be a different precompile from the one proposed for Verkle proofs.
Beiko encouraged developers to discuss the proposed Verkle proof verification precompile in the Ethereum Magicians thread. Stokes asked Ballet to include in the thread links to implementations of the “multiproof_pcs” mentioned in Ballet’s proposal.
ACD Call Schedule Updates
Finally, developers agreed to continue both ACD calls next Thursday, and the week after, despite these calls being scheduled during Ethereum developer conference Devconnect and the American Thanksgiving holiday, respectively. Developers agreed to cancel next Monday’s testing call.
Initially, Beiko and Ryan were leaning towards cancelling or rescheduling the next two ACD calls due to Devconnect and the U.S. Thanksgiving holiday. However, Teku client developer Ben Edgington shared concerns on the optics of this decision given the already delayed timeline of the Cancun/Deneb upgrade. “A week here and a week there adds up to delay over time. We’ve seen it time and time again. I know everyone is working super hard on delivering Deneb/Cancun because I’m inside the process, but from outside the process, cancelling two core dev calls in a row, the optics don’t look great to me,” said Edgington.
Edgington’s sentiments were well received by other developers on the call. Beiko and Ryan agreed to continue the next two week’s ACD calls and requested that any client teams that will be unable to attend the calls share updates on their work asynchronously on the Ethereum Research and Development Discord.