Ether Berlin upgrade April 2021
--
Timing
After months and months of planning, Berlin is finally here! The upgrade, which follows the Istanbul and Muir Glacier upgrades, is scheduled to go live on the Ethereum mainnet at block 12 244 000. We expect this to happen around Wednesday, April 14, 2021, but because of block time variability, the exact date may change.
Prior to being deployed on mainnet, the upgrade will go live on the Ropsten, Goerli, and Rinkeby testnets. The entire release schedule is as follows:
- Ropsten: Block #9,812,189 — expected 10 Mar 2021
- Goerli: Block #4,460,644 — expected 17 Mar 2021
- Rinkeby: Block #8,290,928 — expected 24 Mar 2021
- Mainnet: Block #12,244,000 — expected 14 Apr 2021
Ethereum node operators should upgrade their nodes prior to the fork block on the networks they want to participate in. Due to block time variability, it is recommended to update several days before the expected date. See the section below for the appropriate client versions to upgrade to.
What’s Coming To Berlin: The EIPs
The Berlin upgrade introduces the following EIPs to the Ethereum network. For an in-depth explanation on each, we recommend reading the Ethereum Cat Herders’ Berlin Upgrade Overview. Here’s a summary:
- Lowers the cost of the
ModExp (0x00..05)
precompile.
EIP-2929: Gas cost increases for state access opcodes
- Increases gas cost for
SLOAD
,*CALL
,BALANCE
,EXT*
andSELFEDESTRUCT
when used for the first time in a transaction. - One reason transactions have a cost is to ensure the network remains available and usable and not full of spam. With today’s exorbitant gas prices, it’s hard to imagine things being “too cheap” but new research shows that a few of the core opcodes are indeed underpriced.
- By bringing the cost of these opcodes in line with the actual cost to a network participants, it reduces the likelihood that we see a repeat of the 2016 Shanghai DoS attacks.
EIP-2718: Typed Transaction Envelope
- Introduces a new transaction type that is an envelope to enable easier support for multiple transaction types.
- Currently all transactions are executed in the same manner: X ETH is sent to Y address with Z data and the sender pays a fee of GL*GP ETH based on that data. EIP-2718 gives all transactions a “type” — a category of sorts — so that transactions of one type can be handled one way and transactions of another type can be handled another way.
- This means that, in the future, fun features like someone else paying for your gas or multi-signature transactions can be added more easily — without creating complex compatibility issues with the default transaction type and with each other.
EIP-2930: Optional access lists
- Adds a transaction type which contains an access list, a list of addresses and storage keys that the transaction plans to access. This mitigates some of the gas cost increases introduced by EIP-2929.
EIP-1559 is NOT in this network upgrade and is slated for later this year.
- The highly anticipated EIP-1559 is not in this Berlin network upgrade.
- This is the one that’s been described as a mechanism to make gas fees more predictable by burning a portion of each TX fee, affecting transaction costs for users, income for miners, and inflation.
- It’s tentatively scheduled for the next network upgrade, London, which was originally slated for July but will likely come in Q3 or Q4 2021.
- To understand why this EIP is so highly anticipated, we recommend Eric Conner’s intro explainer, Vitalik’s recent post on the reasoning behind EIP-1559 and Trent Van Epps’ summary of the benefits, challenges, and misconceptions.