Introduction
After the most anticipated ETH update — The Merge, which went successful, Shanghai Hard Fork is next in line as ETH tries to attain full scalability.
Just like London Hard Fork (EIP-1559), most ETH upgrades attain their name from cities ETH core devs attend conferences. Devcon 2 (ETH conference for devs, researchers, and any interested party) happened in Shanghai, now we have Shanghai Hard Fork waiting in line to be implemented.
Let’s have a look at it.
Shanghai Upgrade
Unlike The Merge, the Shanghai Hard Fork will address gas issues by introducing changes in L2s.
Eth dev, Tim Bieko, announced that Shanghai hard fork will address three issues surrounding ETH by introducing: changes in the EVM object format, Beacon Chain withdrawals, and L2 gas fee reduction.
EIPs that didn’t make the cut for the London upgrade will be implemented here. These include:
EIP-3074
This EIP introduces two EVM instructions — AUTH and AUTHCALL. AUTH, sets a variable, ‘authorized’ using an ECDSA signature (Elliptic Curve Digital Signature Algorithm, ensures funds are sent by the rightful owners). On the other hand, AUTHCALL sends a call as the ‘authorized’ account. This helps to delegate control of EOA (Externally owned accounts, wallets using generated by a seed phrase and controlled by private keys) to a smart contract.
You might not understand this technicality but in a real sense, it means transaction fees can be paid by a wallet that you control (this wallet must be different from the one making the transaction). This EIP enabled ‘sponsored transactions.’
By simply adding your EOA to a contract, transaction fees can be paid for you via another wallet (EOA), thanks to this EIP.
Note: A contract won’t be deployed in your EOA. However, EIP-3074 makes the EOA act like a smart contract.
EIP-2537
This makes BLS12–381 curve the precompiler of data necessary to perform verifications like BLS signature verification (a cryptography scheme to make sure a signer is authentic) and snarks.
EIP-2327
This introduces a new opcode, ‘BEGINDATA’ — this differentiates a byte code from the contract code — these byte codes should be regarded as data and shouldn’t be executed. Leaving the contract code to be processed by the EVM.
EIP-2935
This EIP removes a need to store historical data in a contract, ie data older than 1 week up to 1 year, to help disk space. This will benefit light clients a lot.
Release Date
The Shanghai Hard Fork is said to take place early next year.
If you enjoyed this write-up and would like to reach out to me. This is my twitter handle — twitter.com/0xSalazar
Please remember to do your research. None of this is financial advice.