title | description | lang | sidebarDepth |
---|---|---|---|
History and Forks of Ethereum |
A history of the Ethereum blockchain including major milestones, releases, and forks. |
en |
1 |
A timeline of all the major milestones, forks, and updates to the Ethereum blockchain.
Forks are when major technical upgrades or changes need to be made to the network – they typically stem from Ethereum Improvement Proposals (EIPs) and change the "rules" of the protocol.
When upgrades are needed in traditional, centrally-controlled software, the company will just publish a new version for the end-user. Blockchains work differently because there is no central ownership. Ethereum clients must update their software to implement the new fork rules. Plus block creators (miners in a proof-of-work world, validators in a proof-of-stake world) and nodes must create blocks and validate against the new rules. More on consensus mechanisms
These rule changes may create a temporary split in the network. New blocks could be produced according to the new rules or the old ones. Forks are usually agreed upon ahead of time so that clients adopt the changes in unison and the fork with the upgrades becomes the main chain. However, in rare cases, disagreements over forks can cause the network to permanently split – most notably the creation of Ethereum Classic with the DAO fork.
Skip straight to information about some of the particularly important past upgrades: The Beacon Chain; The Merge; and EIP-1559
Looking for future protocol upgrades? Learn about upcoming upgrades on the Ethereum roadmap.
The Shanghai upgrade brought staking withdrawals to the execution layer. In tandem with the Capella upgrade, this enabled blocks to accept withdrawal operations, which allows stakers to withdraw their ETH from the Beacon Chain to the execution layer.
- EIP-3651 – Starts the
COINBASE
address warm - EIP-3855 – New
PUSH0
instruction - EIP-3860 – Limit and meter initcode
- EIP-4895 – Beacon chain push withdrawals as operations
- EIP-6049 - Deprecate
SELFDESTRUCT
The Capella upgrade was the third major upgrade to the consensus layer (Beacon Chain) and enabled staking withdrawals. Capella occurred synchronously with the execution layer upgrade, Shanghai, and enabled staking withdrawal functionality.
This consensus layer upgrade brought the ability for stakers who did not provide withdrawal credentials with their initial deposit to do so, thereby enabling withdrawals.
The upgrade also provided automatic account sweeping functionality, which continuously processes validator accounts for any available rewards payments or full withdrawals.
The Paris upgrade was triggered by the proof-of-work blockchain passing a terminal total difficulty of 58750000000000000000000. This happened at block 15537393 on 15th September 2022, triggering the Paris upgrade the next block. Paris was The Merge transition - its major feature was switching off the proof-of-work mining algorithm and associated consensus logic and switching on proof-of-stake instead. Paris itself was an upgrade to the execution clients (equivalent to Bellatrix on the consensus layer) that enabled them to take instruction from their connected consensus clients. This required a new set of internal API methods, collectively known as the Engine API, to be activated. This was arguably the most significant upgrade in Ethereum history since Homestead!
- EIP-3675 – Upgrade consensus to Proof-of-Stake
- EIP-4399 – Supplant DIFFICULTY opcode with PREVRANDAO
The Bellatrix upgrade was the second scheduled upgrade for the Beacon Chain, preparing the chain for The Merge. It brings validator penalties to their full values for inactivity and slashable offenses. Bellatrix also includes an update to the fork choice rules to prepare the chain for The Merge and the transition from the last proof-of-work block to the first proof-of-stake block. This includes making consensus clients aware of the terminal total difficulty of 58750000000000000000000.
The Gray Glacier network upgrade pushed back the difficulty bomb by three months. This is the only change introduced in this upgrade, and is similar in nature to the Arrow Glacier and Muir Glacier upgrades. Similar changes have been performed on the Byzantium, Constantinople and London network upgrades.
- EIP-5133 – delays the difficulty bomb until September 2022
The Arrow Glacier network upgrade pushed back the difficulty bomb by several months. This is the only change introduced in this upgrade, and is similar in nature to the Muir Glacier upgrade. Similar changes have been performed on the Byzantium, Constantinople and London network upgrades.
- EIP-4345 – delays the difficulty bomb until June 2022
The Altair upgrade was the first scheduled upgrade for the Beacon Chain. It added support for "sync committees"—enabling light clients, and increased validator inactivity and slashing penalties as development progressed towards The Merge.
Altair was the first major network upgrade that had an exact rollout time. Every upgrade prior had been based on a declared block number on the proof-of-work chain, where block times vary. The Beacon Chain does not require solving for proof-of-work, and instead works on a time-based epoch system consisting of 32 twelve-second "slots" of time where validators can propose blocks. This is why we knew exactly when we would hit epoch 74,240 and Altair became live!
The London upgrade introduced EIP-1559, which reformed the transaction fee market, along with changes to how gas refunds are handled and the Ice Age schedule.
- Are you a dapp developer? Be sure to upgrade your libraries and tooling.
- Read the Ethereum Foundation announcement
- Read the Ethereum Cat Herder's explainer
- EIP-1559 – improves the transaction fee market
- EIP-3198 – returns the
BASEFEE
from a block - EIP-3529 - reduces gas refunds for EVM operations
- EIP-3541 - prevents deploying contracts starting with
0xEF
- EIP-3554 – delays the Ice Age until December 2021
The Berlin upgrade optimized gas cost for certain EVM actions, and increases support for multiple transaction types.
- EIP-2565 – lowers ModExp gas cost
- EIP-2718 – enables easier support for multiple transaction types
- EIP-2929 – gas cost increases for state access opcodes
- EIP-2930 – adds optional access lists
The Beacon Chain needed 16384 deposits of 32 staked ETH to ship securely. This happened on November 27, meaning the Beacon Chain started producing blocks on December 1, 2020. This is an important first step in achieving the Ethereum vision.
Read the Ethereum Foundation announcement
The Beacon ChainThe staking deposit contract introduced staking to the Ethereum ecosystem. Although a Mainnet contract, it had a direct impact on the timeline for launching the Beacon Chain, an important Ethereum upgrade.
Read the Ethereum Foundation announcement
StakingThe Muir Glacier fork introduced a delay to the difficulty bomb. Increases in block difficulty of the proof-of-work consensus mechanism threatened to degrade the usability of Ethereum by increasing wait times for sending transactions and using dapps.
- EIP-2384 – delays the difficulty bomb for another 4,000,000 blocks, or ~611 days.
The Istanbul fork:
- Optimised the gas cost of certain actions in the EVM.
- Improved denial-of-service attack resilience.
- Made Layer 2 scaling solutions based on SNARKs and STARKs more performant.
- Enabled Ethereum and Zcash to interoperate.
- Allowed contracts to introduce more creative functions.
Read the Ethereum Foundation announcement
- EIP-152 – allow Ethereum to work with privacy-preserving currency like Zcash.
- EIP-1108 – cheaper cryptography to improve gas costs.
- EIP-1344 – protects Ethereum against replay attacks by adding
CHAINID
opcode. - EIP-1884 – optimising opcode gas prices based on consumption.
- EIP-2028 – reduces the cost of CallData to allow more data in blocks – good for Layer 2 scaling.
- EIP-2200 – other opcode gas price alterations.
The Constantinople fork:
- Ensured the blockchain didn't freeze before proof-of-stake was implemented.
- Optimised the gas cost of certain actions in the EVM.
- Added the ability to interact with addresses that haven't been created yet.
Read the Ethereum Foundation announcement
- EIP-145 – optimises cost of certain on-chain actions.
- EIP-1014 – allows you to interact with addresses that have yet to be created.
- EIP-1052 – optimises cost of certain on-chain actions.
- EIP-1234 – makes sure the blockchain doesn't freeze before proof-of-stake.
The Byzantium fork:
- Reduced block mining rewards from 5 to 3 ETH.
- Delayed the difficulty bomb by a year.
- Added ability to make non-state-changing calls to other contracts.
- Added certain cryptography methods to allow for layer 2 scaling.
Read the Ethereum Foundation announcement
- EIP-140 – adds
REVERT
opcode. - EIP-658 – status field added to transaction receipts to indicate success or failure.
- EIP-196 – adds elliptic curve and scalar multiplication to allow for ZK-Snarks.
- EIP-197 – adds elliptic curve and scalar multiplication to allow for ZK-Snarks.
- EIP-198 – enables RSA signature verification.
- EIP-211 – adds support for variable length return values.
- EIP-214 – adds
STATICCALL
opcode, allowing non-state-changing calls to other contracts. - EIP-100 – changes difficulty adjustment formula.
- EIP-649 – delays difficulty bomb by 1 year and reduces block reward from 5 to 3 ETH.
The Spurious Dragon fork was the second response to the denial of service (DoS) attacks on the network (September/October 2016) including:
- tuning opcode pricing to prevent future attacks on the network.
- enabling “debloat” of the blockchain state.
- adding replay attack protection.
Read the Ethereum Foundation announcement
- EIP-155 – prevents transactions from one Ethereum chain from being rebroadcasted on an alternative chain, for example a testnet transaction being replayed on the main Ethereum chain.
- EIP-160 – adjusts prices of
EXP
opcode – makes it more difficult to slow down the network via computationally expensive contract operations. - EIP-161 – allows for removal of empty accounts added via the DOS attacks.
- EIP-170 – changes the maximum code size that a contract on the blockchain can have – to 24576 bytes.
The Tangerine Whistle fork was the first response to the denial of service (DoS) attacks on the network (September/October 2016) including:
- addressing urgent network health issues concerning underpriced operation codes.
Read the Ethereum Foundation announcement
- EIP-150 – increases gas costs of opcodes that can be used in spam attacks.
- EIP-158 – reduces state size by removing a large number of empty accounts that were put in the state at very low cost due to flaws in earlier versions of the Ethereum protocol.
The DAO fork was in response to the 2016 DAO attack where an insecure DAO contract was drained of over 3.6 million ETH in a hack. The fork moved the funds from the faulty contract to a new contract with a single function: withdraw. Anyone who lost funds could withdraw 1 ETH for every 100 DAO tokens in their wallets.
This course of action was voted on by the Ethereum community. Any ETH holder was able to vote via a transaction on a voting platform. The decision to fork reached over 85% of the votes.
Some miners refused to fork because the DAO incident wasn't a defect in the protocol. They went on to form Ethereum Classic.
Read the Ethereum Foundation announcement
The Homestead fork that looked to the future. It included several protocol changes and a networking change that gave Ethereum the ability to do further network upgrades.
Read the Ethereum Foundation announcement
- EIP-2 – makes edits to contract creation process.
- EIP-7 – adds new opcode:
DELEGATECALL
- EIP-8 – introduces devp2p forward compatibility requirements
The frontier thawing fork lifted the 5,000 gas limit per block and set the default gas price to 51 gwei. This allowed for transactions – transactions require 21,000 gas. The difficulty bomb was introduced to ensure a future hard-fork to proof-of-stake.
Frontier was a live, but barebone implementation of the Ethereum project. It followed the successful Olympic testing phase. It was intended for technical users, specifically developers. Blocks had a gas limit of 5,000. This ‘thawing’ period enabled miners to start their operations and for early adopters to install their clients without having to ‘rush’.
Read the Ethereum Foundation announcement
Ether officially went on sale for 42 days. You could buy it with BTC.
Read the Ethereum Foundation announcement
The Yellow Paper, authored by Dr. Gavin Wood, is a technical definition of the Ethereum protocol.
The introductory paper, published in 2013 by Vitalik Buterin, the founder of Ethereum, before the project's launch in 2015.
Whitepaper