Original Title: "Ethereum All Core Developers Execution Call #179 Writeup"
Author: Christine Kim
Translation: Luccy, BlockBeats
Editor's Note:
The Ethereum All Core Developers Execution (ACDE) call is held every two weeks to discuss and coordinate changes to the Ethereum Execution Layer (EL). This was the 179th ACDE call, during which developers reviewed the activation of the Cancun/Deneb (Dencun) upgrade on the Goerli network and reached consensus on the upcoming activation of Dencun on the Sepolia and Holesky test networks. The call detailed some issues with Dencun after its activation on Goerli, including a decrease in network participation rate and a bug in the Prysm client.
In addition, developers discussed the priorities for the Prague/Electra (Petra) upgrade and discussed improvement proposals for EIP 3074, EIP 6913, EIP 7251, and EIP 7547. They also explored when Layer-2 protocols would begin submitting blob transactions on Goerli and expressed confidence in the immediate availability of Layer-2 with the Dencun upgrade.
Christine Kim, Vice President of Research at Galaxy Digital, provided a detailed summary of the key points of the call, which BlockBeats has translated from the original article:
On January 18, 2024, Ethereum developers gathered on Zoom for the All Core Developers Execution (ACDE) call #179 meeting. The ACDE conference is a bi-weekly series of meetings supported by the Ethereum Foundation protocol lead Tim Beiko, where developers discuss and coordinate changes to the Ethereum execution layer (EL). This week, developers shared a post-mortem summary of the Cancun/Deneb (Dencun) upgrade activation on the Goerli network. Developers also unanimously agreed to activate Dencun on the Sepolia and Holesky test networks on January 30 and February 7, respectively. Finally, developers discussed the priority of the Prague/Electra (Petra) upgrade, with most client teams in attendance agreeing that the upgrade should include smaller code changes to prepare for implementation on the mainnet by the end of 2024.
Dencun was upgraded on January 17, 2024, Wednesday, and was activated on the Goerli network at approximately 6:30 (UTC). According to Parithosh Jayanthi, a DevOps engineer at the Ethereum Foundation (EF), the participation rate on the Goerli network immediately dropped after the upgrade was activated. The root cause of this decline was an error in the Prysm (CL) client. The Prysm team released a hotfix less than four hours after discovering the issue. Once node operators running Prysm client software updated their devices, the network participation rate increased from approximately 40% to 70%, allowing the network to complete blocks, blobs, and transactions.
Since Dencun was activated on the Goerli network, the EF testing team has been submitting a large number of Blob transactions on Goerli to test the network's ability to handle these types of transactions. Jayanthi stated that the initial metrics, including Blob, block, and Attestation propagation speeds, look healthy. More detailed analysis on these metrics can be found in this article by the EF DevOps team.
The Prysm team's Terence Tsao also shared a more detailed explanation of the bug fixed in the Prysm client on Goerli. Tsao explained that the issue was caused by the historical root field being empty in the Prysm client. The historical root is a traditional field carried over from previous Ethereum upgrades such as Shanghai/Capella (Shapella), and developers forgot to update it to a non-zero value. This was an "easy" mistake to catch, Tsao said, requiring only long-term analysis of test networks that had undergone upgrades such as Shapella. All previous development networks and shadow forks that implemented Dencun went through previous upgrades too quickly on the network to catch this bug. Looking ahead, developers agreed to include such edge cases in their test vectors and to be more cautious in testing these edge cases earlier in the upgrade testing process.
Regarding other irregularities observed by Dencun on Goerli, Tsao mentioned that some CL clients seem to be "requesting Blob no matter what" and even for blocks without KZG commitments. Given that this behavior is "wasteful," Tsao suggested that the client team investigate their client's behavior and ensure that Blob requests are triggered only for blocks with appropriate KZG commitments.
Later, Jayanthi asked developers during a conference call for their opinions on when second-layer protocols (L2s) would begin submitting Blob transactions on Goerli. Considering his team was artificially spamming the test network with Blobs, Jayanthi expressed a desire to reduce this activity when L2s are ready to submit their own Blob transactions. Tsao from the Prysm client team, which owns the software client for L2 protocol Arbitrum, said that the Arbitrum team may test Blob transactions on the Sepolia test network instead of Goerli. A developer with the pseudonym "Protolambda" from the Optimism L2 protocol team said that the Optimism team plans to begin testing on Goerli in the coming weeks. Ansgar Dietrichs, a researcher at EF, said that he will bring up this issue at the next Rollcall meeting, a series of meetings focused on standardizing and coordinating second-layer protocols.
ACDE conference chairman Tim Beiko raised more specific questions about developers' confidence in the immediate availability of L2 upgrades to Dencun. "Do we see 4844 as insufficient for L2s to some extent? Obviously, you can imagine it being used on the mainnet for a few months and then L2 chooses to use it. This may not be a problem, but we want to confirm what the minimum level of confirmation is considered usable and whether we have reached it," Beiko said. (4844 refers to Ethereum Improvement Proposal 4844, also known as proto-danksharding, which is the main code change designed for L2 in the Dencun upgrade. For more information on proto-danksharding, please read this Galaxy Research report.)
Protolambda responded that while the Optimism team is "close" to being able to support Dencun, he expressed concerns about the readiness of the infrastructure and tools for Blob transactions. "There is more infrastructure beyond layer one that needs to be updated," said Protolambda. Beiko clarified that he will not prevent the Ethereum mainnet from adopting Dencun faster on L2s before they are able to support the upgrade. However, shortly after activation, L2s may provide "additional validation" to ensure that Dencun is a useful change to the Ethereum protocol.
Jayanthi said that he will reduce the target spam email count from six to three per Blob on Goerli, so that they can test the infrastructure of Blob when L2 is ready. EF researcher Alex Stokes also mentioned that the Flashbots team has been providing some block builder loads containing Blob on Goerli to test the MEV-Boost workflow.
A developer named "Lightclient" of the Geth (EL) client has proposed a pending change to the execution API specification related to the Dencun upgrade. As discussed in ACDE #174, the introduction of Blob transactions means new methods for obtaining information about Blob gas prices and fees. To align with the naming convention of methods for retrieving gas information about regular transactions on Ethereum, the proposal suggests updating "eth_blobgasprice" in the execution API methods to "eth_blobbasefee". The proposal also suggests adding Blob fee data to the "eth_feeHistory" execution API method.
Developers agreed to post final comments and clearly tag a representative from Infura who may be affected by this change for review and merge on the Ethereum Research and Development Discord channel, if there are no objections.
As discussed in the previous ACDE#168 call, one of the code changes in the Dencun upgrade, namely EIP 4788, requires manual deployment of the code and creation of a smart contract address, which can then be activated during a hard fork. Developers agreed to deploy the code on the Ethereum mainnet in advance. Beiko requested volunteers to participate on the Ethereum R&D Discord and stated that he would reimburse gas fees for those who participate in submitting transactions.
EF researcher and ACDC call chair Danny Ryan briefly introduced the new CL specification released for Dencun. The latest version will include the fork choice filtering changes mentioned in ACDC#125, as well as new test vectors for checking historical root fields and some other minor updates. The new version is expected to be released this week and will become the standard followed by the CL client teams in their respective code releases.
Next, developers discussed the timing of activating Dencun on the last two Ethereum public test networks, Sepolia and Holesky. Prior to activating Dencun on Goerli, developers agreed to activate Dencun on Sepolia and Holesky on January 30th and February 7th, respectively. In this week's ACD call, developers reconfirmed these dates and agreed to perform these two upgrades with a single client release to expedite the Holesky upgrade, which will occur one week after the Sepolia upgrade. A representative from the Lighthouse client team mentioned in the Zoom chat that the releases for Sepolia and Holesky may again be "pre-releases," meaning they are not yet ready for mainnet use and may require updates. Prysm previously stated in the call that their release for the Goerli upgrade is a pre-release. It is currently unclear if their releases for Sepolia and Holesky will also be another pre-release.
The specific time for the upgrade of Sepolia and Holesky can be found in the Dencun hard fork Meta EIP document.
Protolambda asked developers in the Zoom chat about their sense of time between activating Dencun on the final test network Holesky and the Ethereum mainnet. "What is the minimum launch time between Holesky and the mainnet L1? One month, two months? There is enough time to test the L2 effect, including blob expiration, which will be good," Protolambda wrote. In response, Beiko wrote, "I expect the minimum time to be one month?" Jayanthi said the earliest time to test blob expiration on Goerli is February 5th and suggested that developers discuss this topic in more detail during the ACD call on February 8th. Danny Ryan suggested 2 to 3 weeks.
Next, developers discussed some proposals to include in the EIP for the Petra upgrade.
A developer using the screen name "Foobar" introduced in a call that EIP 3074 introduces two new EVM instructions, "AUTH" and "AUTHCALL", to enable greater functionality for externally owned accounts, one of the most important of which is the ability to sign batch transactions. Foobar detailed why batch transactions are an important feature for Ethereum end-users, improving asset security and enhancing user experience on decentralized exchanges (DEXs). For more information on EIP 3074, please read this blog post written by Foobar.
EF researcher Ansgar Dietrichs stated that his two main objections to EIP 3074 are its implementation advantages on a narrower version of EIP. Secondly, Dietrichs stated that in his view, EIPs that improve the Ethereum user experience should first be implemented and tested on Layer 2, as Layer 2 is more flexible and faster to adopt new technologies than the Ethereum mainnet. William Morriss, founder of VM Capital and a DeFi trading company, disagrees with Dietrichs' second objection. "I don't think Layer 2 should be seen as a functional testnet. The developers who make Layer 2 are very concerned about compatibility with the mainnet, and if they deploy a feature with a temporary specification, even if it has the same opcode number, the behavior may differ when it finally reaches the mainnet, which is technical debt for them. Therefore, they are usually not particularly interested in playing that role for us," Morriss said.
Nethermind client developer Ben Adams agrees with Foobar's view that batch transactions are a desirable feature to improve the Ethereum end-user experience. Lightclient added that in his view, there is a great need for the next upgrade to make some improvements to the Ethereum user experience, so if it's not EIP 3074, developers should consider another version that is easier to implement. Beiko suggested continuing to discuss the advantages of EIP 3074 on Ethereum Magicians.
Later, Morriss introduced the different implementation designs of EIP 6913. In his presentation, Morriss shared a new EVM instruction called "SETCODE", which can replace the code in smart contract accounts without migrating the code to a new address. Developers have raised several objections to this EIP. Marius van der Wijden from the Geth team said that this EIP would disrupt gas estimation and create a DoS attack vector on nodes. Dietrichs said that EIP 6913 should only be considered in the context of a "comprehensive AA roadmap", which refers to the account abstraction roadmap on Ethereum. Lightclient said that in his view, this EIP is not "useful enough to change the protocol". Morriss agreed that developers should implement account abstraction in some way on Ethereum, whether through EIP 6913 or other AA-focused EIPs.
· EIP-7251 increases the maximum effective balance of validators. It needs to be used in conjunction with EIP-7002, which allows validators to trigger partial withdrawals of EL from the Beacon Chain using their EL withdrawal credentials.
Based on the high-level views of Petra expressed by the client team at the meeting, Beiko suggested that EIP 6110, 7002, and 2537 be included in the Prague upgrade at a minimum. (Further discussions on the EIPs accompanying the CL focus included in the Electra upgrade will be discussed in more detail at the next ACDC meeting.) In addition to including these three EIPs in the Prague upgrade, Beiko also suggested that the focus of the next ACDE meeting be on determining the timeline for larger and more complex code changes, such as Verkle, EOF, and historical data pruning. An anonymous developer from the Prysm client team, using the pseudonym "Potuz," added that if the upgrade may be released in 2025 or later, developers should aim to implement Petra on the mainnet by the end of 2024, as opinions on what Petra should include may change. Potuz also paid tribute to a detailed blog post by the Reth team outlining Petra's priorities and encouraged other client teams to prepare similar documents.
Due to the limited time of this week's ACD meeting, the last discussion item regarding the failure of Besu nodes on the Ethereum mainnet on January 6th and inaccurate information about performance numbers of a few clients shared in the latest EF research team Reddit AMA was skipped. Beiko stated that this discussion item will be brought up as the first topic in the next ACD meeting.
"Original article link"
Welcome to join the official BlockBeats community:
Telegram Subscription Group: https://t.me/theblockbeats
Telegram Discussion Group: https://t.me/BlockBeats_App
Official Twitter Account: https://twitter.com/BlockBeatsAsia