Ethereum All Core Developers Execution Call #155 Writeup
On February 16, Ethereum developers gathered for All Core Developers Execution (ACDE) call #155. Chaired by the Ethereum Foundation’s Tim Beiko, the ACDE calls are one of two bi-weekly meeting series where Ethereum developers discuss and coordinate changes to the protocolof Ethereum. The ACDE calls focus on changes impacting the execution layer (EL) of Ethereum while the other meeting series, ACD Consensus (ACDC) calls, focus on changes impacting the consensus layer.
This week, developers discussed a bug in the latest Shanghai release for the Geth EL client that was discovered on the Zhejiang test network. They agreed to move forward with launching Shanghai on the Sepolia test network later this month on February 28. They also made progress on planning for the Cancun upgrade, agreeing to exclude zero blob transactions, which are transactions formatted as batches of Layer-2 rollup data that do not actually contain any data, from the mempool and Ethereum protocol.
Empty Blocks Throw Geth Nodes Out of Sync
The Geth (EL) client team ran into an unexpected issue with their nodes on the Zhejiang testnet on Thursday, February 16. According to Geth developer Marius van der Wijden, nodes failed to properly download and initialize blocks with zero withdrawals and transactions. “Basically, the issue is if we got a block that was empty, so it had no transactions, no uncles, and no withdrawals, then we would actually set the withdrawal hash to nil instead of empty and we wouldn’t download the block body because the block body is empty and we also wouldn’t correctly initialize it,” said van der Wijden on the call.
Since discovering this bug, the Geth (EL) client team has issued a fix. Chair of the ACDE calls Tim Beiko asked whether other client teams were vulnerable to the same bug. Representatives of the Nethermind and Erigon (EL) client teams said they would double check the logic for handling empty blocks in their latest releases. In addition, Mario Vega who is on the testing team at the Ethereum Foundation has created a new Hive test case for identifying this specific bug in EL clients. The new test case has been posted to GitHub. Barnabas Busa, a DevOps Engineer at the Ethereum Foundation noted that a bug was also discovered in the Besu (EL) and Prysm (CL) clients on a different Shanghai test network this week which caused nodes to stop processing staked ETH deposits. The Prysm and Besu client teams are in the process of investigating the bug.
During last week’s ACDC call, Ethereum client teams agreed to launch the Shanghai upgrade on the Sepolia testnet on February 28th. To do this, Beiko highlighted on this week’s call that client teams would need to cut new releases for Shanghai by early next week. All client teams confirmed they could do this and were comfortable moving forward with the upgrade on Sepolia by the end of February. As highlighted during last week ACDC call, developers will also begin testing the circuit breaker mechanism of MEV-Boost software in earnest during the forthcoming weeks.
Zero Blob Transactions Get Banned from the Protocol
During ACDE call #154, developers discussed how the Ethereum protocol and mempool should handle transactions formatted as blobs, that is binary large object data types, that does not contain any data. Differentiation between blobs, non-blobs, and zero-blob transaction types requires specialized logic for marking transactions, based on their size or other properties, and gossiping them to the appropriate mempool for inclusion in a block. Geth (EL) developer Péter Szilágyi was against creating specialized logic for zero blob transactions due to the increased protocol complexity this would create. “The theory is super nice, super elegant, and insanely complicated. … You can have a lot of large transactions in a block but you can only have one or two blob transactions in a block. That’s a huge behavioral differentiation,” said Szilágyi on the call. Andrew Ashikhmin from the Erigon (EL) client team was in agreement. After more discussion about the matter, developers agreed to ban zero blob transactions from the Ethereum protocol in their implementation of EIP 4844 for the Cancun upgrade.
Related to this discussion around transaction and mempool design for Ethereum’s next upgrade after Shanghai, Etan Kissling, a developer of the Ethereum Nimbus (CL) client team, gave an update on progress for updating Ethereum EL block headers to an SSZ format. For background on this conversation, read prior call notes here. Kissling noted that there were two main approaches for updating transaction representations in the block header and that developers would create prototypes of both to see how these approaches differ in practice. “So I will be working on creating those prototypes and benchmarking them against each other to be included in about two weeks. Then we will take another session to decide whether we want to use the union approach or the normalized transaction approach to represent those on the transactions route,” said Kissling on the call. The next dedicated meeting around SSZ transaction types will be hosted on Wednesday, March 1. The agenda for this meeting can be found here. Kissling also raised a handful of questions around the SSZ formatting for staked ETH withdrawal operations in the Shanghai upgrade. Beiko recommended that developers continue the discussion on SSZ formatting for withdrawals on the #typed-transactions Discord channel and this Ethereum Magicians forum.
Miscellaneous Topics
Minimal presets: Dustin Brody, a developer for the Nimbus (CL) client team, raised upcoming changes to the EL testing experience due to EIP 4844 and the introduction of blob transaction types. He recommended a few different paths forward to ensure that testing speeds on the EL are not negatively impacted. For more information, read Brody’s proposal here.
Standardize ‘txpool’ namespace: Wesley Van Heijie, who appears to be part of the events team at the Ethereum Foundation, briefly presented his proposal for improving interoperability between Ethereum clients. Heijie emphasized that working on standardization now will make it easier in the future to implement solutions like censorship resistance lists in the Ethereum protocol.
Removal of the self-destruct opcode: Jared Wasinger, a Geth (EL) developer for the Ethereum Foundation, gave an update about his findings on the impact of EIP 4758 to existing decentralized applications (dapps) and smart contracts. EIP 4758 deactivates the self-destruct opcode on Ethereum, which Ethereum core developers have for some time strongly discouraged dapp developers from using. Wasinger was tasked during an earlier call to investigate concerns of breaking functionality in existing Ethereum smart contracts due to EIP 4758. Wasinger affirmed on this week’s call that EIP 4758 would have a significant and non-trivial impact on existing smart contracts and questioned whether further investigation was needed to come to a decision about either EIP 4758 or alternative proposals. Beiko encouraged developers to continue thinking about this discussion and paths forward for deprecating the self-destruct opcode.
Legal Disclosure:
This document, and the information contained herein, has been provided to you by Galaxy Digital Holdings LP and its affiliates (“Galaxy Digital”) solely for informational purposes. This document may not be reproduced or redistributed in whole or in part, in any format, without the express written approval of Galaxy Digital. Neither the information, nor any opinion contained in this document, constitutes an offer to buy or sell, or a solicitation of an offer to buy or sell, any advisory services, securities, futures, options or other financial instruments or to participate in any advisory services or trading strategy. Nothing contained in this document constitutes investment, legal or tax advice or is an endorsementof any of the digital assets or companies mentioned herein. You should make your own investigations and evaluations of the information herein. Any decisions based on information contained in this document are the sole responsibility of the reader. Certain statements in this document reflect Galaxy Digital’s views, estimates, opinions or predictions (which may be based on proprietary models and assumptions, including, in particular, Galaxy Digital’s views on the current and future market for certain digital assets), and there is no guarantee that these views, estimates, opinions or predictions are currently accurate or that they will be ultimately realized. To the extent these assumptions or models are not correct or circumstances change, the actual performance may vary substantially from, and be less than, the estimates included herein. None of Galaxy Digital nor any of its affiliates, shareholders, partners, members, directors, officers, management, employees or representatives makes any representation or warranty, express or implied, as to the accuracy or completeness of any of the information or any other information (whether communicated in written or oral form) transmitted or made available to you. Each of the aforementioned parties expressly disclaims any and all liability relating to or resulting from the use of this information. Certain information contained herein (including financial information) has been obtained from published and non-published sources. Such information has not been independently verified by Galaxy Digital and, Galaxy Digital, does not assume responsibility for the accuracy of such information. Affiliates of Galaxy Digital may have owned or may own investments in some of the digital assets and protocols discussed in this document. Except where otherwise indicated, the information in this document is based on matters as they exist as of the date of preparation and not as of any future date, and will not be updated or otherwise revised to reflect information that subsequently becomes available, or circumstances existing or changes occurring after the date hereof. This document provides links to other Websites that we think might be of interest to you. Please note that when you click on one of these links, you may be moving to a provider’s website that is not associated with Galaxy Digital. These linked sites and their providers are not controlled by us, and we are not responsible for the contents or the proper operation of any linked site. The inclusion of any link does not imply our endorsement or our adoption of the statements therein. We encourage you to read the terms of use and privacy statements of these linked sites as their policies may differ from ours. The foregoing does not constitute a “research report” as defined by FINRA Rule 2241 or a “debt research report” as defined by FINRA Rule 2242 and was not prepared by Galaxy Digital Partners LLC. For all inquiries, please email [email protected]. ©Copyright Galaxy Digital Holdings LP 2022. All rights reserved.