Ether Berlin upgrade April 2021

Solidity Audit
3 min readMar 14, 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:

EIP-2565: ModExp Gas Cost

  • 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* and SELFEDESTRUCT 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.

--

--

Solidity Audit
0 Followers

Smart Contract Auditing, Development Services, Blockchain security, Data analytics, Blockchain development, Consulting, Education Ethereum 2.0