Table of Contents
- Scope of Shanghai
- Additional Updates
In the latest Ethereum Core Devs Meeting #151, core developers decided Shanghai's roadmap and scope. This was the last ACD Call of the year. In this article, we will get a complete overview of the features, EIPS, testing and timeline of the Shanghai upgrade.
Scope of Shanghai
The most important part of the ACD call was to get a clear scope of the Shanghai upgrade.
Péter Szilágyi said that developers should include EIP-4844 alongside withdrawals. According to him, Withdrawals bring nothing to make Ethereum better and Scaling Ethereum is more important than Withdrawals. Also, the CL client teams agreed to work on withdrawals separately from their work on EIP-4844.
Andrew Ashikhmin from Erigon Team said that withdrawals take priority. Many CL Client teams have the same thoughts. Dankrad Feist did not like the idea that EIP-4844 was not given priority compared to EOF EIPs. Also, many project teams from Uniswap, Optimism did not like the idea that EIP-1153 was removed from the scope of Shanghai.
Tim Beiko then asked what developers feel should go alongside either withdrawals or EIP-4844. Marek Moraczyński from Nethermind Team said they prefer small forks with withdrawals and small EIPs. However, they are fine with Withdrawals and EOF EIPs. Andrew Ashikhmin from Erigon Team and Justin from Besu Team said they are also fine with Withdrawals and EOF.
Lastly, Developers agreed that EIP-4844 wouldn't be in Shanghai, it would be the main thing around which they will center the next EL upgrade as well, and they should get this upgrade out relatively quickly after Shanghai.
January 5th, 2023 Developers will check if all EOF implementations are ready and all functionalities are well tested.
January 12th, 2023 Shadow Forking will be started. Here is an article by EW Team on Ethereum Mainnet Shadow Forking.
January 19th, 2023 EOF cross-client interop must have been smoothed out.
If these bars aren't met, then EOF EIPs will be removed.
- January End - 28th February 2023 Multiple Mainnet Shadow Forks, Testing of EOF EIPs and Withdrawals on Public Testnets.
Other Proposals like EIP-1153, EIP-2573, etc. would have to wait.
Mid March 2023: Shanghai Hard Fork
March End - Mid May 2023: EIP-4844 Multiple Mainnet Shadow Forks and Testing of EIP-4844 on Public Testnets.
May End/Mid June 2023: EIP-4844 on mainnet!
As discussed in the ACD Call, developers have agreed to move forward with all previously included EIPs in Shanghai, i.e.,
- EIP-3651: Warm COINBASE
- EIP-3855: PUSH0 instruction
- EIP-3860: Limit and meter initcode
- EIP-4895: Beacon chain push withdrawals as operations
In addition to above EIPs, they have also agreed to include the following 5 EOF EIPs listed below, if they do not delay withdrawals significantly.
- EIP-3540: EVM Object Format (EOF) v1
- EIP-3670: EOF - Code Validation
- EIP-4200: EOF - Static relative jumps
- EIP-5450: EOF - Stack Validation
- EIP-4750: EOF - Functions
Barnabas Busa gave updates on Withdrawals Testing. Currently, there are two private testnets or devnets:
Pre-Merge Testnet: Geth, Prysm, Nethermind, Teku, and Lighthouse are interoperating.
Post-Merge Testnet: Lodestar is running with Geth/Nethermind/Besu, Lighthouse with Geth, and Teku with Geth.
Withdrawals are working smoothly in both of these cases, but there are some issues to be fixed with the withdrawal credential upgrades from BLS to ETH addresses. Developers will be focusing on post-merge testnet in the long run. Full and Partial Withdrawals are tested and successfully working on both testnets.
Developers will ensure that all EOF implementations are completed and all functionalities are well tested. They will meet on the 1st ACD Call of 2023, i.e., 5th January, to check if everything is ready. Shanghai Shadow Forks will start from Mid January. Multiple Mainnet Shadow Forks will be continued in February. Furthermore, Developers will do testing of Withdrawals and EOF EIPs on public testnets in February 2023.
Engine API Improvement Proposal Updates
Mikhail Kalinin talked about the Engine API Improvement Proposal. He explained that there are two parts to this proposal.
- The first part is making the spec neater for writers and engineers. There are two approaches to make spec neater:
- The first approach is by features or by forks breakdown. This will create a new file that contains features introduced or modified by a particular hard fork.
- The second approach is by functional breakdown. All methods that interact with payload in one file, methods that interact with fork-choice in another, etc.
- The second part of this proposal was whether we need a method that allows CL clients to know which methods are supported by EL clients. This method allows the introduction of new methods outside of hard forks without any coordination of deployment or development. He further added that the CL client's team would tell whether they need this method.
Here is an article by EW Team on Engine API Improvement Proposal for readers who wish to know more.
Trent Van Epps gave quick updates on KZG Ceremony. This is an important step in running EIP-4844 and Danksharding in the coming future. He also talked about how people can participate and contribute in KZG Ceremony.
- The Merge Transition
- Ethereum: The Great Renaming
- Proof of Work
- Proof of Stake
- How to Join Kintsugi testnet?
- Kintsugi Fuzzer Issue
- What is Kiln Testnet?
- How to Join Kiln Testnet?
- An overview of expected changes with the Ethereum Merge upgrade
- MEV in DeFi
- Ethereum Mainnet Shadow Forking: An Overview
- What do Bellatrix, Paris & TTD mean in Ethereum Merge Upgrade?
- Ethereum's roadmap for 2022 and beyond!
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!