TL;DR
- Berlin is ready for deployment!
- We move forward quickly: The first testnet to upgrade, Ropsten, is scheduled to be upgraded on March 10. Mainnet is scheduled for April 15.
- If you are using an Ethereum node, you should upgrade it to a Berlin-compatible version as soon as possible for testnets and before April 7 for mainnet.
- See below for a list of client versions compatible with Berlin and details on the EIPs included in the upgrade.
- The Besu customer has reported a bug in their previous Berlin version. Besu users should upgrade to version 21.1.2.
Berlin Timetable
After months and months of planning, Berlin is finally here! The upgrade, which follows Istanbul And Muir Glacier upgrades, is expected to go live on the Ethereum mainnet at block 12,244,000. We expect this to happen around Wednesday, April 15, 2021, but due to block time variability, the exact date can change.
Before rolling out to the mainnet, the upgrade will go live on the Ropsten, Goerli, and Rinkeby testnets. The full release schedule is as follows:
Network | Block number | Expected date |
---|---|---|
Ropsten | 9,812,189 | March 10, 2021 |
Görli | 4,460,644 | March 17, 2021 |
Rinkeby | 8,290,928 | March 24, 2021 |
Main network | 12,244,000 | April 15, 2021 |
Ethereum node operators must upgrade their nodes before the block fork on the networks they wish to participate in. Due to variability in block time, it is recommended to update several days ahead of schedule. See the section below for the appropriate client versions to upgrade to.
Client versions
In order to be compatible with the Berlin upgrade, node operators will need to upgrade the client version they are running. The versions, listed below for each client, support Berlin across all Ethereum networks, both testnets and mainnet.
Please note, the Besu team reported a bug in its version 21.1.1 linked to Berlin (link). Besu users should upgrade to version 21.1.2 in order to remain compatible with Berlin. Additionally, TurboGeth will not have a client version ready for the first testnets, but will have a pre-mainnet version. We will update this article as their version becomes available. Trinity is now deprecated and will not support the Berlin upgrade.
The Berlin EIPs
The Berlin Upgrade introduces the following EIPs to the Ethereum network:
To learn more about each EIP, check out Ethereum Cat Herder’s Berlin presentation article.
FAQs
Why “Berlin”?
After Istanbul, we ran out of names for our planned network upgrades. It was suggested to use Devcon city names for upgrades.and we held on! Berlin is the place where Devcon 0 took place, and the next upgrade will be called London, where Devcon 1 took place.
As an Ethereum user or Ether holder, do I need to do anything?
If you use an exchange (such as Coinbase, Kraken, or Binance), a web wallet service (such as Metamask, MyCrypto, or MyEtherWallet), a mobile wallet service (such as Coinbase Wallet, Status.im, or Trust Wallet), or a hardware wallet (such as Ledger, Trezor, or KeepKey), you don’t need to do anything unless your exchange or wallet service notifies you to take additional steps.
As a node operator or miner, what should I do?
Download the latest version of your Ethereum client, as shown in the table above.
What happens if I’m a miner or node operator and don’t participate in the upgrade?
If you are using an Ethereum client that is not updated to the latest version (listed above), your client will sync with the pre-fork blockchain once the upgrade is complete. You will be stuck on an incompatible chain following the old rules and will not be able to send Ether or operate on the Ethereum network after the upgrade.
What is a network upgrade in Ethereum-land?
A network upgrade is a change to the underlying Ethereum protocol, creating new rules to improve the system. The decentralized nature of blockchain systems makes network upgrades more difficult. Network upgrades in a blockchain require cooperation and communication with the community, as well as with the developers of the different Ethereum clients for the transition to go smoothly.
What happens during a network upgrade?
Once the community has reached agreement on what changes to include in the upgrade, the protocol changes are written to the various Ethereum clients, such as Geth, Open Ethereum, Besu, and Nethermind. Protocol changes are activated at a specific block number. Any nodes that have not been upgraded to the new set of rules will be abandoned on the old chain where the previous rules continue to exist.
THANKS!
Many thanks to the Ethereum community and all Ethereum developers from all clients and platforms who came together to provide input, thoughts and input in Berlin 😁🇩🇪
Now, head to London 🇬🇧!
Disclaimer
This is an emerging and evolving highly technical space. If you choose to implement the recommendations in this article and continue to participate, you should make sure you understand how it affects you. You should understand that there are risks, including but not limited to risks such as unexpected bugs. By choosing to implement these recommendations, you alone assume the risks and consequences. This article and recommendations do not constitute a sale of any kind and do not create any warranty of any kind, including but not limited to anything relating to the Ethereum network or the Ethereum clients mentioned in the this document.