The eagerly awaited London upgrade is now set for deployment on the Ethereum testnets! The upgrade will initially be activated on Ropsten, at block 10499401, which is anticipated to occur around June 24, 2021.
This upgrade succeeds Berlin, which was implemented just a few months ago on the Ethereum mainnet. By commencing work on London while Berlin was being introduced, client teams managed to deliver this network upgrade at unprecedented speed! The upgrade encompasses the following EIPs:
The Ethereum Cat Herders have published a blog post outlining the specifics of these EIPs.
It is important to note that EIP-1559, although backwards compatible with the existing transaction format, introduces modifications to the block header, introduces a new transaction type, adds new JSON RPC endpoints, and alters client behavior in several areas (such as mining, transaction pool, etc.). It is highly advisable for projects to become familiar with the EIP. A more comprehensive list of resources related to EIP-1559 can be found here.
Timing for London Upgrade
Currently, only the testnets (Ropsten, Goerli, Rinkeby) have been designated for the London upgrade. After the upgrade is successfully activated on these networks, a block will be established for the Ethereum mainnet, and this will be communicated through this blog and other channels.
The schedule for release is as follows:
Network | Block Number | Expected Date |
---|---|---|
Ropsten | 10499401 | June 24, 2021 |
Goerli | 5062605 | June 30, 2021 |
Rinkeby | 8897988 | July 7, 2021 |
Mainnet | TBD after successful testnets fork. | TBD after successful testnets fork. |
Note: Kovan network will have its upgrade scheduled for a later time, likely after the Mainnet block has been reached.
Ethereum node operators should update their nodes prior to the designated fork block on the networks they wish to be part of. Due to variability in block time, it is advisable to make updates several days before the expected date. Refer to the section below for the specific client versions to upgrade to.
Versions of Clients
To ensure compatibility with the London upgrade, node operators need to update their client version. The versions listed below for each client will support London across test Ethereum networks. Additional releases will be provided by each client once the mainnet fork block is established.
Note: The OpenEthereum client will be phased out post-London upgrade. The team is collaborating with Erigon to ensure a smooth transition for users. More details can be found here.
Frequently Asked Questions
As an Ethereum user or Ether holder, do I need to take any action?
The upgrades mentioned in this post only impact the Ethereum testnets, and not the Ethereum mainnet. If you are solely using the Ethereum mainnet, there is nothing required of you at this moment.
As a Ropsten miner or Goerli/Rinkeby validator, what steps should I take?
First, download the most recent version of your Ethereum client, as indicated in the table above. Next, you will need to manually adjust your gas limit target to double what it currently is. This is essential because once London is live, the block size will be doubled, with EIP-1559 maintaining blocks at approximately 50% capacity.
For instance, if you were a Ropsten miner targeting a block size of 8,000,000 gas before London, you will now need to aim for a 16,000,000 gas limit to keep a similar average transaction rate per block. Failure to update your gas limit target will lead to a reduction in the block size on the network. The table below elaborates on the specific parameters that should be modified based on your client.
As a non-validating or mining node operator, what actions should I take?
Download the latest version of your Ethereum client, as indicated in the table above, and await the mainnet upgrade announcement in the upcoming weeks.
What happens if I am a miner or node operator and do not participate in the upgrade?
If you are operating an Ethereum client that has not been updated to the latest version (as listed above), your client will sync to the pre-fork blockchain once the upgrade occurs. You will be stranded on an incompatible chain following the outdated rules and will be unable to send Ether or engage with the post-upgrade Ethereum network.
What constitutes a network upgrade in the Ethereum ecosystem?
A network upgrade refers to modifications to the foundational Ethereum protocol, establishing new rules aimed at enhancing the system. The decentralized nature of blockchain systems complicates network upgrades. These upgrades necessitate collaboration and dialogue with the community, as well as coordination with the developers of the diverse Ethereum clients to ensure a seamless transition.
What occurs during a network upgrade?
Once the community reaches a consensus on which modifications to include in the upgrade, adjustments to the protocol are encoded into the different Ethereum clients, such as geth, Erigon, Besu, and Nethermind. The protocol changes are activated at a designated block number. Nodes that have not upgraded to the new ruleset will be left on the previous chain, where the former rules continue to apply.
Why is it called “London”?
After the Istanbul upgrade, we ran out of available names for the planned network upgrades. The community suggested using city names from Devcon for the upgrades, and that is what we did! London is notable as the location where Devcon 1 was held, following the Berlin Devcon 0.
Thank You!
Heartfelt appreciation to everyone involved in researching, planning, implementing, testing, rectifying, and launching the London upgrade 😁🇬🇧
Special thanks to Henry Be for providing the cover image for this post!
Disclaimer
This domain is a rapidly evolving and highly technical area. If you decide to act on the recommendations in this post and continue your engagement, ensure you comprehend how it affects you. Be aware that there are associated risks, including but not limited to unanticipated bugs. By choosing to implement these recommendations, you accept complete responsibility for any consequences. This post and its recommendations do not constitute a sale of any kind and do not provide any warranties, including but not limited to those associated with the Ethereum network or the Ethereum clients mentioned herein.