This Wednesday, April 14, 2021, the Ethereum Foundation’s Berlin hard fork upgrade is scheduled to go live on Mainnet at block 12,244,000.
The system-wide upgrade will introduce four Ethereum Improvement Proposals (EIPs), namely 2565, 2718, 2929, and 2930, which are part of a larger roadmap towards Ethereum 2.0.
So what does that mean for me?
If you’re using Alchemy as your Ethereum node provider, then you don’t need to do anything!
As the leading blockchain developer platform, our job is to handle all the complicated Ethereum infrastructure, so you can focus on building your application instead of running, maintaining, and upgrading nodes.
Our team has been preparing for this upgrade for months — with release notes audits, regression testing, blue green deploys, and more — so you have a seamless transition when this upgrade occurs.
If you’re not using Alchemy, then it’s SUPER important that you update your node to a Berlin compatible version, otherwise it’ll be incompatible with the rest of the network past block 12,244,000.
On the Ethereum’s Foundation’s announcement of the upgrade, they’ve listed the client versions compatible with the Berlin update. We’ve added them below for your convenience.
Are there any best practices I should consider?
Glad you asked. Highly recommend you check out this blog post on best practices we wrote during the Constantinople hard fork.
For the Berlin hard fork specifically, it’s important to ensure that your transactions are EIP-155 compatible to protect against replay attacks. Following the Berlin upgrade, geth clients will default to enforcing EIP-155 compatibility, meaning your transitions will fail if they do not comply with the EIP.
At the time of writing, Alchemy still supports pre-EIP-155 unprotected transactions (we’ll give our users plenty of warning before it becomes a requirement), but it’s great practice to get into the habit of formatting EIP-155 compatible requests.
What happens if I don’t participate in the upgrade?
This is a bad idea. Your client will remain synced to the pre-forked blockchain after the update happens. So, you’ll be stuck on a deprecated chain and unable to transfer ether or interact with the post-upgrade Ethereum network.
What are the new EIPs in this upgrade?
Below is a quick description of each of these EIPS from the the Ethereum Foundation:
- EIP-2565: ModExp Gas Cost lowers the cost of modular exponentiation (ModExp 0x00..05) precompile, making it a similar cost to other operations.
- EIP-2718: Typed Transaction Envelope introduces a new transaction type that is an envelope to enable easier support for multiple transaction types.
- 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, after the first call the gas costs are fixed.
- 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.
Never worry about hard forks again…
If you’re working on an Ethereum project and don’t want to deal with the overhead of maintaining nodes, sign up for Alchemy for free! Alchemy provides the fastest, most scalable, and most reliable Ethereum infrastructure as a service so that you can focus on building your product. Under the hood, we’ve built revolutionary new infrastructure that’s powering all the leading NFT developer platforms, the majority of DeFi, and more! Learn more at alchemyapi.io.