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
- Updates on EOF EIPs
- Shanghai Testing
- Additional Updates
- Important Announcement w.r.t Ethereum Devs Call
- 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
|Geth||Merged||Merged||Not merged||Not merged|
|Erigon||Merged||Merged||Merged||Partly merged (1, 2)|
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 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.
New EIPs Discussed
Developers discussed about two new EIPs; probably for the following (Cancun) Network Upgrade
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.
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.
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.
- TWAMM: Time-Weighted Average Market Maker
- MobyMask: An Initiative to Eliminate Phishers
- Fractional NFTs: EIP-4675 using EIP-1155 & EIP-1633
- Transient Storage for Beginners: EIP-1153 Explained
- How Layer 3 in Future will look like?
- An Overview of Beacon Chain API
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 firstname.lastname@example.org.
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!