Ethereum blockchain upgrades
A history guide into the various Ethereum blockchain upgrades
Table of Contents for Ethereum blockchain upgrades
Ethereum was first introduced in a white-paper back in 2013. Since then there have been a bunch of major upgrades.
If you spend any time reading up about Ethereum you’ll often come across these upgrades mentioned. This is an overview of all the major upgrades to the Ethereum blockchain that you need to be aware of
Ethereum whitepaper
The Ethereum whitepaper was published back in 2013. Since then it has been kept updated but the majority of the basic ideas have been unchanged since creation.
Ethereum Yellowpaper
The Ethereum yellowpaper, which is a more technical and indepth spec of how Ethereum works was published on 1st April 2014.
Since then it has had many updates, and if you’re working with smart contracts you will probably refer to it for some of the technical details (like gas fees).
Initial Ethereum presale
Ethereum blockchain presale was live in 2014. It sold for 2000 ETH per BTC at the start, then down to 1337 ETH per BTC by Sept 2014.
Frontier
30th July 2015 Frontier went live. This is when the blockchain was first online. It was considered a beta release at this stage.
This started with a ‘thawing’ period so that miners could start up and people start to use Ethereum. This was all with a limit of 5000 gas per block, and the gas price as 51 gwei. Once the Frontier Thawing upgrade happened it removed these limits (transactions require 21k gas), so that transactions could be tun.
Frontier Thawing
Frontier Thawing went live at block 200000
(7th Sept 2015)
This removed some of the low gas restrictions in Frontier. It also introduced the difficulty bomb, with the intention of using the increasing difficulty to encourage moving to proof of stake.
Homestead
Homestead at block 1150000
(14 March 2016 ). This was the 2nd major upgrade, and the first time it was considered production ready.
Quite a few changes were introduced (you can see them all here) including adding support for DELEGATECALL.
DAO Fork
The DAO fork was a controversial upgrade at block 1920000
, on 20th July 2016.
The 2016 DAO attack resulting in people having 3600000+ ETH stolen (you can read up about the DAO on wikipedia). The DAO fork forked to move the funds into a new contract that people could just withdraw. ETH holders could vote if they wanted the fork or not. Of those who voted, 85% voted in favor of the fork.
Miners which did not upgrade to this fork carried on as normal, and created what is now known as ETH classic.
Tangerine Whistle
On block 2463000
, Tangerine Whistle went live. This was on 18th October 2016.
It includes changes proposed in EIP150, relating to gas cost changes.
Spurious Dragon
Spurious Dragon went live on block 2675000
, on 22nd November 2016.
This went live when the price was $9 per ETH. It was an upgrade to improve the defence against DoS attacks. It included changes that protected against relay attacks and changed some opcode pricing to make future attacks harder (more expensive)
Byzantium
Byzantium on block number 4370000
, went into action on 16th October 2017.
Reduced rewards for mining (from 5 ETH to 3 ETH), delayed the difficulty bomb (by a year), added a way to make calls to other contracts that had no state changes, and added a bunch of cryptography functions (used in layer 2 scaling)
Constantinople
On 28th Feb 2019 Constantinople went live, on block 7280000.
By now the price has raised to $136 USD per ETH.
This had some changes to gas price, added ability to know the deploy address before deploying via CREATE2 and more.
Istanbul
On block number 9069000 on 6th December 2019 Istanbul upgrade went live.
Istanbul added features such as optimized gas cost, gave better DoS attack protection, increased performance of SNARK/STARKs.
Muir Glacier
On 2nd of Jan 2020 Muir Glacier went live, on block number 9200000
Like all of the glacier upgrades, this added a further delay to the difficulty bomb.
Beacon Chain genesis
On 27th Nov 2020 the beacon chain had the required 16384 deposits (of 32 ETH each), and on 1st December 2020 the Beacon Chain genesis (block num 1) appeared.
Berlin
15th April 2021 saw Berlin go live on block number 12244000. This upgrade introduced more optimized gas prices, and added support for different transaction types.
More optimized gas costs for some opcodes, and allowed more transaction types.
London
On 5th August 2021 we saw the launch of the London upgrade. This was at block number 12965000
. This introduced EIP-1559 which adjusted the fees and how ethereum gas refunds work.
Altair (Beacon chain)
On Oct 27th 2021 the Altair upgrade went live, on epoch number 74240, which was the first upgrade on the beacon chain. This added support for ‘sync committees’, and added support for light clients and slashing penalties.
Arrow glacier
On block number 13773000
the Arrow Glacier went live (on 9th December 2021). This was a minor upgrade, increasing only the ‘difficulty bomb’
Gray Glacier
Gray Glacier was upgraded on June 30th 2022, at block number 15050000
, and like the Arrow Glacier it updated the difficulty bomb.
Bellatrix & Paris Upgrades (‘the merge’)
(This guide was written at the start of Sept 2022 - by the time your read this it is likely that the merge already went ahead)
In September 2022 we are going to see the Bellatrix & Paris Upgrades.
These are to switch the Ethereum blockchain from proof of work to proof of stake. Moving over to this is known as ‘the merge’
The Bellatrix is quite a minor upgrade. The Paris one is the main one that most people refer to when talking about ‘the merge’. It will happen when the Total Terminal Difficulty hits 58750000000000000000000
.
When will the Shanghai Ethereum upgrade be?
The next major upgrade to Ethereum, at the time of writing, will be the Shanghai upgrade. It is expected that the Shanghai Ethereum upgrade will happen in September 2023.
Spotted a typo or have a suggestion to make this crypto dev article better? Please let me know!
Next post
Previous post
📙 Solidity Auditing online quiz
Learn how to audit smart contracts by looking at some example code and trying to find the bugs
⛽ Solidity Gas Optimizations Guide
How to optimize and reduce gas usage in your smart contracts in Solidity
🧪 Guide to testing with Foundry
Guide to adding testing for your Solidity contracts, using the Foundry and Forge tools
📌 Guide to UTXO
UTXO and the UTXO set (used by blockchains such as Bitcoin) explained
📐 Solidity Assembly Guide
Introduction guide to using assembly in your Solidity smart contracts
📦 Ethereum EOF format explained
Information explaining what the upcoming Ethereum EOF format is all about