Shanghai Hard Fork

Shanghai Hard Fork

Berlin, London, now Shanghai named after Devocon2, which took place in that city; Ethereum Core Devs like to travel, that’s for sure. London is defined, and we’re 99% certain what will be included. We’re not expecting any last-minute change to any EIP inclusion, so we can start looking into the future, what is next for Ethereum after London.

There was speculation if Shanghai was going to bring more drastic changes like “The Merge”, but we know it’s not going to be a case for this. We have some EIPs that are good candidates to be implemented, mainly those that didn’t make London cut, like:

  • EIP-3074: This allows for “sponsored transactions”. From the EIP’s Abstract:
This EIP introduces two EVM instructions AUTH and AUTHCALL. The first sets a context variable authorized based on an ECDSA signature. The second sends a call as the authorized. This essentially delegates control of the EOA to smart contract.
  • EIP-2537: This adds support for the BLS-12381 curve, which is used by the beacon chain. Support for this will be much needed for the ETH2.0 transitions period.
  • EIP-2327: Introduces a new opcode that would be beneficial to the Solidity devs and Optimism teams.
Introduces a new opcode BEGINDATA, which indicates that the remaining bytes of the contract should be regarded as data rather than contract code and cannot be executed.
  • EIP-2935: This would be helpful for any light clients. It will remove a need to store history older than 1 week up to 1 year to save disk space.

The most drastic change is the EIP-3074 which I will cover in another blog post. I need to dive deep into the specs and understand its implications better, especially when it will break all the contracts that rely on tx.origin.


It was a short introduction to Shanghai hard fork. When more information will be available, and the Ethereum Core Dev team will agree with which EIPs be included, I will make another post. Until then, see you in the next one!