Activating ETH Withdrawal with Shanghai-Capella

Shanghai Specs, EVM Changes dropped, Vitalik's EOF Proposal & Devnet Updates

Activating ETH Withdrawal with Shanghai-Capella

In the last Ethereum AllCoreDev call of 2022, client developers agreed to move forward with all previously included EIPs in Shanghai, along with EOF EIPs, if they do not significantly delay Withdrawal. Also, EIP-4844 wouldn't be in Shanghai. Instead, it would be the main proposal around which they will center the next network upgrade. Let's have an overview of the updated features, EIPs included, and testing of the Shanghai upgrade.

Key Highlights

  • Shanghai-Capella upgrade will be focused on enabling ETH Withdrawal for stakers with EIP-4895: Beacon chain push withdrawals as operations.
  • Other EVM improvement proposals being proposed by a new set of EOF EIPs are removed from Shanghai CFI (Consider For Inclusion). No additional EIPs are added to Shanghai to keep the scope small and not to delay withdrawals.
  • A small change is proposed to handle exceeding the max initcode size with EIP-3860.
  • Shanghai Devnet works fine with all client combinations.
  • Other proposals as per Shanghai Specs and their client implementation status are
EIP EIP-3651 EIP-3855 EIP-3860 EIP-4895
Geth Merged Merged Not merged Not merged
Besu Merged Merged Merged Not merged
Nethermind Merged Merged Merged Not merged
Erigon Merged Merged Merged Partly merged (1, 2)
EthereumJS Merged Merged Merged Merged

Updates on EOF EIPs

Inclusion of EOF proposals were pending the updates from the latest EOF Breakout Room meeting. The Ethereum client team decided to drop EOF EIPs from Shanghai upgrade at the end. Also, no extra EIPs are added to Shanghai to keep the scope of the upgrade small and not to delay withdrawals.

Matt Garnett (lightclients), a developer at Geth, gave a quick update on the EOF breakout rooms that happened during holiday breaks. According to the discussions in the breakout rooms, the spec is finalized, with two minor changes made,i.e., removing JUMPF and making the data section mandatory for EOF contracts. He also shared a EOF Testing Proposal. This will allow testers to have higher confidence in the tests they write and improve the granularity in which eofparse can fuzz implementations.

Martin Holst Swende is currently doing fuzz testing, i.e., an automated software testing technique that injects invalid or unexpected inputs into a system to reveal software defects and vulnerabilities.

Vitalik's EOF Proposal

A new EOF proposal, i.e., ban code introspection of EOF accounts is created by Vitalik Buterin. According to him, "it's much harder to add features to the EVM than to remove them (e.g., the complexities around even removing a little-used opcode like SELF-DESTRUCT), and so if the EVM keeps changing, ever-increasing ugliness and complexity is likely to be the outcome."

Lastly, developers decided to remove EOF EIPs from Shanghai until they were perfect and thoroughly tested.

All these changes were discussed in Execution Layer Meeting 152 2023-01-05.

Shanghai Testing

Shanghai Devnet works fine with all client combinations.

Although, some client combinations have witnessed some bad blocks.

A small change is proposed to handle exceeding the max initcode size with EIP-3860. The idea is to make it an error with an out-of-gas exception rather than returning the 0 address. But, core developers will wait for smart contract developers in case they have a strong objection.

Additional Updates

New EIPs Discussed

Developers discussed about two new EIPs; probably for the following (Cancun) Network Upgrade

  1. EIP-5843: EVM Modular Arithmetic Extensions; This proposal introduces a set of EVM opcodes for efficient modular addition/subtraction/multiplication using odd moduli that are fixed for multiple operations. This EIP is proposed by Jared Wasinger.

  2. EIP-5988: Add Poseidon Hash Function Precompile; This EIP introduces a new precompiled contract which implements the hash function used in the Poseidon cryptographic hashing algorithm, to allow interoperability between the EVM and ZK/Validity rollups, as well as introducing more flexible cryptographic hash primitives to the EVM. This EIP is proposed by Abdel Hamid Bakhta, Eli Ben Sasson, Avihu Levy and David Levit Gurevich.

Important Announcement w.r.t Ethereum Devs Call

Tim Beiko and Danny Ryan shared the latest renaming of the developers meeting and the respective GitHub repositories.

Ethereum's All Core Dev Call a.k.a ACD call is renamed to ACD Execution (ACDE) call, and Consensus Layer a.k.a CL call is renamed to ACD Consensus (ACDC) call.

Watch video here to learn more about Ethereum's Execution Layer and Consensus Layer. Also, it is now moved from the Ethereum Foundation YouTube channel to Ethereum Protocol YouTube Channel.

What to Expect with the next ACDE call?

Developers will give more updates about Shanghai Testing and upcoming testnets. Shanghai Shadow Forks will likely start from Mid January. After that, multiple Mainnet Shadow Forks will be continued till February. ACDC call is scheduled on January 12 2023 and the next ACDE call is scheduled on January 19 2023.

Related Videos


Disclaimer: The information contained on this web page is for education purposes only. Readers are suggested to conduct their own research, review, analyze and verify the content before relying on them.

To publish press releases, project updates and guest posts with us, please email at

Subscribe to EtherWorld YouTube channel for ELI5 content.

Support us at Gitcoin

You've something to share with the blockchain community, join us on Discord!

Follow us at Twitter, Facebook, LinkedIn, and Instagram.

Share Tweet Send
You've successfully subscribed to
Great! Next, complete checkout for full access to
Welcome back! You've successfully signed in
Success! Your account is fully activated, you now have access to all content.