
Original title: "Ethereum Shanghai Upgrade. What’s New?》
Original Author: Observers.com
Original compilation: ChinaDeFi
Original compilation: ChinaDeFi
I have written before about the upcoming major update of the Ethereum network: the Shanghai upgrade, through which the Ethereum network will completely transition to the proof-of-stake consensus mechanism. The merger increased the centralization of Ethereum, and the Shanghai upgrade should solve this problem.
The Ethereum Shanghai network update includes several Ethereum Improvement Proposals (EIPs). In a previous article on this major update, we described the EIPs that will be included in the Shanghai update. It plans to accommodate 6 EIPs: EIP-3540, EIP-3651, EIP-3670, EIP-3855, EIP-3860, EIP-4895. We described these EIPs in detail in a previous article.
Ethereum core developer meeting 151 was held on December 8th, where the upcoming Shanghai upgrade was discussed. A summary of the meeting was published by Ethereum developer Tim Beiko.
Added 3 new EIPs: EIP-4200, EIP-4750 and EIP-5450. Let's see what they are in more detail.
EIP-4200: EOF - static relative jump
This EIP adds three new EVM jump instructions: RJUMP, RJUMPI, and RJUMPV. They are required in order to optimize the network and reduce costs.
"A recurring topic of discussion is that the EVM only has mechanisms for dynamic jumps. These provide a very flexible architecture with only 2(!) instructions. However, this flexibility comes at a price: it makes code analysis much more complex, and (in part) lead to the need for the JUMPDEST flag. …The main benefits of these instructions are reduced gas costs (both at deployment and execution time) and better analysis performance.”
EIP-4750: EOF - Functions
This EIP, like EIP-4200, is designed to optimize code. Optimization is achieved by dividing the code into several parts.
"Introduced the ability to include multiple code segments in EOF format (EIP-3540) bytecode, each representing a separate subroutine/function. Two new opcodes CALLF and RETF were introduced to call and return Such functions. In addition, the JUMPF instruction was introduced to perform jumps to functions. Dynamic jump instructions are not allowed."
EIP-5450: EOF - Stack Validation
This EIP introduces extended code validation. And is designed to optimize the network.
"Currently, existing EVM implementations perform extensive validity checks on every instruction executed, such as checking for stack overflow/underflow, sufficient gas, etc. This change aims to maximize reduce the number of such checks required at runtime."
At Ethereum Core Developers Meeting 151, the addition of two other EIPs was also discussed: EIP-663 and EIP-6064. Unlimited SWAP and DUP instructions of EIP-663 introduces two new instructions: SWAPN and DUPN, which differ from SWAP and DUP by increasing the stack depth from 16 elements to 256 elements. EIP-6046: DEACTIVATE replaces SELFDESTRUCT introduces a change to the SELFDESTRUCT instruction that "does not delete all storage keys and uses a special value in the account nonce to indicate a deactivated account." The instruction SELFDESTRUCT was also renamed to DEACTIVATE.