19

The question Please confirm what the hard forks of Ethereum were and when they took place was asked on Reddit by u/Tykerr.

3 Answers 3

28

Ethereum Mainnet blocks #0 (genesis block) and #1 (first mined block):

> new Date(eth.getBlock(0).timestamp * 1000).toUTCString()
"Thu, 01 Jan 1970 00:00:00 UTC"
> new Date(eth.getBlock(1).timestamp * 1000).toUTCString()
"Thu, 30 Jul 2015 15:26:28 UTC"

0.1 #200,000 Ice Age

Source: u/accape's statement "There is also the very first HF shortly after genesis which introduced the ice age (which went into effect at block 200,000)."

And from Ethereum Protocol Update 1, dated Aug 4 2015, "starting from block 200,000 (very roughly 17 days from now), the difficulty will undergo an exponential increase which will only become noticeable in about a year".

> new Date(eth.getBlock(200000).timestamp * 1000).toUTCString()
"Mon, 07 Sep 2015 21:33:09 UTC"


1. #1,150,000 Homestead

Source What was the first block mined with Homestead?

> new Date(eth.getBlock(1150000).timestamp * 1000).toUTCString()
"Mon, 14 Mar 2016 18:49:53 UTC"

Note that https://etherchain.org/block/1150000 reports 2016-03-14 19:49:53 and https://etherscan.io/block/1150000 reports Mar-14-2016 06:49:53 PM +UTC

See also EIP 606: Hardfork Meta: Homestead



2. #1,920,000 DAO

Source Give a summary of the fork state changes in block 1920000.

> new Date(eth.getBlock(1920000).timestamp * 1000).toUTCString()
"Wed, 20 Jul 2016 13:20:40 UTC"

Note that this hard fork produced the Ethereum Classic chain which is the original un-forked chain while the forked chain is the main Ethereum chain. If you owned ethers (ETH) prior to this fork, you will own the same number of Classic ethers (ETC) as well as regular ethers (ETH).

See also EIP 779: Hardfork Meta: DAO Fork



3. #2,463,000 Tangerine Whistle

Source FAQ: Upcoming Ethereum Hard Fork, dated Oct 18 2016.

> new Date(eth.getBlock(2463000).timestamp * 1000).toUTCString()
"Tue, 18 Oct 2016 13:19:31 UTC"

The main changes to the protocol were:

See also EIP 608: Hardfork Meta: Tangerine Whistle

The software versions were:

  • Ethereum Wallet/Mist 0.8.6
  • geth 1.4.18
  • Parity 1.3.8
  • EthereumJ 1.3.6


4. #2,675,000 Spurious Dragon

Source Hard Fork No. 4: Spurious Dragon, dated Nov 18 2016.

> new Date(eth.getBlock(2675000).timestamp * 1000).toUTCString()
"Tue, 22 Nov 2016 16:15:44 UTC"

The main changes to the protocol were:

See also EIP 607: Hardfork Meta: Spurious Dragon

The software versions were:

  • Ethereum Wallet/Mist 0.8.7
  • geth 1.5.2
  • Parity 1.4.4


5. #4,370,000 Byzantium

Source Byzantium HF Announcement, dated Oct 12 2017.

> new Date(eth.getBlock(4370000).timestamp * 1000).toUTCString()
"Mon, 16 Oct 2017 05:22:11 UTC"

The main changes to the protocol were:

See also EIP 609: Hardfork Meta: Byzantium

The software versions were:

  • Ethereum Wallet/Mist 0.9.1
  • geth 1.7.2
  • Parity 1.7.6 (to be released)
  • Ethereum Harmony 2.1.56


6. #7,280,000 Constantinople/St. Petersburg

Source:

> new Date(eth.getBlock(7080000).timestamp * 1000).toUTCString()
"Thu, 17 Jan 2019 05:57:13 UTC"

The main changes to the protocol are:

The software versions are:

  • geth 1.8.23
  • Parity v2.2.10-stable
  • Harmony v2.3 Build 74
  • Pantheon v0.9.1
  • EthereumJS v2.6.0
  • Ethereum Wallet/Mist v0.11.1


7. #9,069,000 Istanbul

Source Ethereum Istanbul Upgrade Announcement, dated Nov 20 2019

> new Date(eth.getBlock(9069000).timestamp * 1000).toUTCString()
"Sun, 08 Dec 2019 00:25:09 UTC"

The main changes to the protocol as listed in EIP 1679: Hardfork Meta: Istanbul were:

  • EIP-152: Add Blake2 compression function F precompile
  • EIP-1108: Reduce alt_bn128 precompile gas costs
  • EIP-1344: Add ChainID opcode
  • EIP-1884: Repricing for trie-size-dependent opcodes
  • EIP-2028: Calldata gas cost reduction
  • EIP-2200: Rebalance net-metered SSTORE gas cost with consideration of SLOAD gas cost change

The software versions are:

  • geth v1.9.9
  • Parity v2.5.11-stable
  • Besu v1.3.6
  • Nethermind v1.2.3
  • ethereumJS v4.0.2
  • Trinity v0.1.0-alpha.31
  • Aleth v1.7.1
5
  • 1
    This is extremely useful. Thanks. One suggestion. Pull out the blockNumbers to make them a bit more obvious. I found this post because I was trying to answer the question "During which blocks were the DDOS attack," because I had to resync my chain, and I wanted to know when the sync would slow down. I looked at this post for a while, thinking it would be perfect if it included block numbers before I noticed the block numbers almost hidden in the code. My suggestion is to expose the block numbers more obviously perhaps even in the title of the hard fork. Thanks. Apr 8, 2017 at 12:51
  • Added the block numbers as you suggested. Re syncing, see ethereum.stackexchange.com/questions/9883/… . Apr 9, 2017 at 11:39
  • 1
    Hi Bokky. Maybe you'll add Instanbul to this. Nov 21, 2019 at 21:29
  • @ThomasJayRush Done! Thx for the reminder Dec 8, 2019 at 13:35
  • 1
    And now Muir Glacier I guess too. Dec 9, 2019 at 16:22
4

Actually all Ethereum forks are modeled in EthOn (http://ethon.consensys.net). I attached an illustration, below. The Ethereum fork history, so far

0

https://github.com/ethereum/execution-specs has a summary of the hard forks.

Ethereum Protocol Releases (as of January 2022)

Version and Code Name Block No. Released Incl EIPs Specs Blog
Arrow Glacier 13773000 2021-12-09 EIP-4345 Specification Blog
London 12965000 2021-08-05 EIP-1559
EIP-3198
EIP-3529
EIP-3541
EIP-3554
Specification Blog
Berlin 12244000 2021-04-15 EIP-2565
EIP-2929
EIP-2718
EIP-2930
~HFM-2070~
Specification
Blog
Muir Glacier 9200000 2020-01-02 EIP-2384 HFM-2387 Blog
Istanbul 9069000 2019-12-07 EIP-152
EIP-1108
EIP-1344
EIP-1884
EIP-2028
EIP-2200
HFM-1679 Blog
Petersburg 7280000 2019-02-28 EIP-145
EIP-1014
EIP-1052
EIP-1234
HFM-1716 Blog
Constantinople 7280000 2019-02-28 EIP-145
EIP-1014
EIP-1052
EIP-1234
EIP-1283
HFM-1013 Blog
Byzantium 4370000 2017-10-16 EIP-100
EIP-140
EIP-196
EIP-197
EIP-198
EIP-211
EIP-214
EIP-649
EIP-658
HFM-609 Blog
Spurious Dragon 2675000 2016-11-22 EIP-155
EIP-160
EIP-161
EIP-170
HFM-607 Blog
Tangerine Whistle 2463000 2016-10-18 EIP-150 HFM-608 Blog
DAO Fork 1920000 2016-07-20 HFM-779 Blog
DAO Wars aborted aborted Blog
Homestead 1150000 2016-03-14 EIP-2
EIP-7
EIP-8
HFM-606 Blog
Frontier Thawing 200000 2015-09-07 Blog
Frontier 1 2015-07-30 Blog

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.