lang | ecip | title | author | status | superseded-by | type | category | discussions-to | created | license |
---|---|---|---|---|---|---|---|---|---|---|
en |
1082 |
Fork identifier (`forkid`) protocol fork list specification |
Mr. Meows D. Bits (@meowsbits) |
Superseded |
1091 |
Standards Track |
Networking |
2019-12-18 |
Apache-2.0 |
EIP-2124 (forkid
) and EIP-2364 (eth/64
) propose discovery protocol modifications which depend on lists of fork values. In case these changes are adopted and implemented on Ethereum Classic networks, this ECIP defines canonical lists of forks numbers for inclusion in the generation and validation steps of these "ForkID" schemes.
This specification describes a set of forks which exclude TheDAO fork event block(s) from forkid
calculations, as well as excluding all forthcoming blockNumber % 5000000 == 0
blocks that, according to the algorithmdescribed in ECIP-1017 and enabled on ETC Mainnet and some testnets, will see reduced block reward values.
Specify parameters for forkid
generation and validation, so that in the case nodes on Ethereum Classic networks implement eth/64
, they can do so in a consistent way.
As documented in EIP-2364, implementation for eth/64
does not demand consensus nor require any fork for node or network implementation.
Notwithstanding, it would be good for Ethereum Classic networks and clients to be able to implement the protocol change, if they want, according to a standard specification. Failure for clients to agree on forkid
implementation could result in difficulty discovering each other.
Don't include TheDAO fork blocks (eg. 1920000
on Mainnet, 1885000
on Morden) as a forkid
parameter as specified in EIP-2124.
Don't include any blocks subsequent and incidental to consensus-facing calculations according to accepted and implemented algorithms, eg. ECIP-1017.
The following data points are valid at time of writing (see ECIP's created-at
metadata).
- Genesis Hash:
0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3
- Forks:
1150000
,2500000
,3000000
,5000000
,5900000
,8772000
,9573000
,10500839
Head Block Number | FORK_HASH |
FORK_NEXT |
RLP Encoded (Hex) |
---|---|---|---|
head=0 | FORK_HASH=fc64ec04 | FORK_NEXT=1150000 | c984fc64ec0483118c30 |
head=1149999 | FORK_HASH=fc64ec04 | FORK_NEXT=1150000 | c984fc64ec0483118c30 |
head=1150000 | FORK_HASH=97c2c34c | FORK_NEXT=2500000 | c98497c2c34c832625a0 |
head=1150001 | FORK_HASH=97c2c34c | FORK_NEXT=2500000 | c98497c2c34c832625a0 |
head=2499999 | FORK_HASH=97c2c34c | FORK_NEXT=2500000 | c98497c2c34c832625a0 |
head=2500000 | FORK_HASH=db06803f | FORK_NEXT=3000000 | c984db06803f832dc6c0 |
head=2500001 | FORK_HASH=db06803f | FORK_NEXT=3000000 | c984db06803f832dc6c0 |
head=2999999 | FORK_HASH=db06803f | FORK_NEXT=3000000 | c984db06803f832dc6c0 |
head=3000000 | FORK_HASH=aff4bed4 | FORK_NEXT=5000000 | c984aff4bed4834c4b40 |
head=3000001 | FORK_HASH=aff4bed4 | FORK_NEXT=5000000 | c984aff4bed4834c4b40 |
head=4999999 | FORK_HASH=aff4bed4 | FORK_NEXT=5000000 | c984aff4bed4834c4b40 |
head=5000000 | FORK_HASH=f79a63c0 | FORK_NEXT=5900000 | c984f79a63c0835a06e0 |
head=5000001 | FORK_HASH=f79a63c0 | FORK_NEXT=5900000 | c984f79a63c0835a06e0 |
head=5899999 | FORK_HASH=f79a63c0 | FORK_NEXT=5900000 | c984f79a63c0835a06e0 |
head=5900000 | FORK_HASH=744899d6 | FORK_NEXT=8772000 | c984744899d68385d9a0 |
head=5900001 | FORK_HASH=744899d6 | FORK_NEXT=8772000 | c984744899d68385d9a0 |
head=8771999 | FORK_HASH=744899d6 | FORK_NEXT=8772000 | c984744899d68385d9a0 |
head=8772000 | FORK_HASH=518b59c6 | FORK_NEXT=9573000 | c984518b59c683921288 |
head=8772001 | FORK_HASH=518b59c6 | FORK_NEXT=9573000 | c984518b59c683921288 |
head=9572999 | FORK_HASH=518b59c6 | FORK_NEXT=9573000 | c984518b59c683921288 |
head=9573000 | FORK_HASH=7ba22882 | FORK_NEXT=10500839 | c9847ba2288283a03ae7 |
head=9573001 | FORK_HASH=7ba22882 | FORK_NEXT=10500839 | c9847ba2288283a03ae7 |
head=10500838 | FORK_HASH=7ba22882 | FORK_NEXT=10500839 | c9847ba2288283a03ae7 |
head=10500839 | FORK_HASH=9007bfcc | FORK_NEXT=0 | c6849007bfcc80 |
head=10500840 | FORK_HASH=9007bfcc | FORK_NEXT=0 | c6849007bfcc80 |
- Genesis Hash:
0x14c2283285a88fe5fce9bf5c573ab03d6616695d717b12a127188bcacfc743c4
- Forks:
716617
,1705549
,2000000
,2200013
,5000000
Head Block Number | FORK_HASH |
FORK_NEXT |
RLP Encoded (Hex) |
---|---|---|---|
head=0 | FORK_HASH=0550152e | FORK_NEXT=716617 | c9840550152e830aef49 |
head=716616 | FORK_HASH=0550152e | FORK_NEXT=716617 | c9840550152e830aef49 |
head=716617 | FORK_HASH=a3270822 | FORK_NEXT=1705549 | c984a3270822831a064d |
head=716618 | FORK_HASH=a3270822 | FORK_NEXT=1705549 | c984a3270822831a064d |
head=1705548 | FORK_HASH=a3270822 | FORK_NEXT=1705549 | c984a3270822831a064d |
head=1705549 | FORK_HASH=8f3698e0 | FORK_NEXT=2000000 | c9848f3698e0831e8480 |
head=1705550 | FORK_HASH=8f3698e0 | FORK_NEXT=2000000 | c9848f3698e0831e8480 |
head=1999999 | FORK_HASH=8f3698e0 | FORK_NEXT=2000000 | c9848f3698e0831e8480 |
head=2000000 | FORK_HASH=7faf51b5 | FORK_NEXT=2200013 | c9847faf51b5832191cd |
head=2000001 | FORK_HASH=7faf51b5 | FORK_NEXT=2200013 | c9847faf51b5832191cd |
head=2200012 | FORK_HASH=7faf51b5 | FORK_NEXT=2200013 | c9847faf51b5832191cd |
head=2200013 | FORK_HASH=595e180d | FORK_NEXT=5000000 | c984595e180d834c4b40 |
head=2200014 | FORK_HASH=595e180d | FORK_NEXT=5000000 | c984595e180d834c4b40 |
head=4999999 | FORK_HASH=595e180d | FORK_NEXT=5000000 | c984595e180d834c4b40 |
head=5000000 | FORK_HASH=b5407fd6 | FORK_NEXT=0 | c684b5407fd680 |
head=5000001 | FORK_HASH=b5407fd6 | FORK_NEXT=0 | c684b5407fd680 |
- Genesis Hash:
0xa68ebde7932eccb177d38d55dcc6461a019dd795a681e59b5a3e4f3a7259a3f1
- Forks:
301243
,999983
Head Block Number | FORK_HASH |
FORK_NEXT |
RLP Encoded (Hex) |
---|---|---|---|
head=0 | FORK_HASH=175782aa | FORK_NEXT=301243 | c984175782aa830498bb |
head=301242 | FORK_HASH=175782aa | FORK_NEXT=301243 | c984175782aa830498bb |
head=301243 | FORK_HASH=604f6ee1 | FORK_NEXT=999983 | c984604f6ee1830f422f |
head=301244 | FORK_HASH=604f6ee1 | FORK_NEXT=999983 | c984604f6ee1830f422f |
head=999982 | FORK_HASH=604f6ee1 | FORK_NEXT=999983 | c984604f6ee1830f422f |
head=999983 | FORK_HASH=f42f5539 | FORK_NEXT=0 | c684f42f553980 |
head=999984 | FORK_HASH=f42f5539 | FORK_NEXT=0 | c684f42f553980 |
- Genesis Hash:
0x0cd786a2425d16f152c658316c423e6ce1181e15c3295826d7c9904cba9ce303
- Forks:
494000
,1783000
,1915000
,2000000
,2300000
,4729274
,5000381
Head Block Number | FORK_HASH |
FORK_NEXT |
RLP Encoded (Hex) |
---|---|---|---|
head=0 | FORK_HASH=417adbe7 | FORK_NEXT=494000 | c984417adbe7830789b0 |
head=493999 | FORK_HASH=417adbe7 | FORK_NEXT=494000 | c984417adbe7830789b0 |
head=494000 | FORK_HASH=aeb67dfb | FORK_NEXT=1783000 | c984aeb67dfb831b34d8 |
head=494001 | FORK_HASH=aeb67dfb | FORK_NEXT=1783000 | c984aeb67dfb831b34d8 |
head=1782999 | FORK_HASH=aeb67dfb | FORK_NEXT=1783000 | c984aeb67dfb831b34d8 |
head=1783000 | FORK_HASH=6a495281 | FORK_NEXT=1915000 | c9846a495281831d3878 |
head=1783001 | FORK_HASH=6a495281 | FORK_NEXT=1915000 | c9846a495281831d3878 |
head=1914999 | FORK_HASH=6a495281 | FORK_NEXT=1915000 | c9846a495281831d3878 |
head=1915000 | FORK_HASH=e893e32d | FORK_NEXT=2000000 | c984e893e32d831e8480 |
head=1915001 | FORK_HASH=e893e32d | FORK_NEXT=2000000 | c984e893e32d831e8480 |
head=1999999 | FORK_HASH=e893e32d | FORK_NEXT=2000000 | c984e893e32d831e8480 |
head=2000000 | FORK_HASH=12a0ac82 | FORK_NEXT=2300000 | c98412a0ac8283231860 |
head=2000001 | FORK_HASH=12a0ac82 | FORK_NEXT=2300000 | c98412a0ac8283231860 |
head=2299999 | FORK_HASH=12a0ac82 | FORK_NEXT=2300000 | c98412a0ac8283231860 |
head=2300000 | FORK_HASH=02a93060 | FORK_NEXT=4729274 | c98402a93060834829ba |
head=2300001 | FORK_HASH=02a93060 | FORK_NEXT=4729274 | c98402a93060834829ba |
head=4729273 | FORK_HASH=02a93060 | FORK_NEXT=4729274 | c98402a93060834829ba |
head=4729274 | FORK_HASH=4802d0c7 | FORK_NEXT=5000381 | c9844802d0c7834c4cbd |
head=4729275 | FORK_HASH=4802d0c7 | FORK_NEXT=5000381 | c9844802d0c7834c4cbd |
head=5000380 | FORK_HASH=4802d0c7 | FORK_NEXT=5000381 | c9844802d0c7834c4cbd |
head=5000381 | FORK_HASH=0b559b1d | FORK_NEXT=0 | c6840b559b1d80 |
head=5000382 | FORK_HASH=0b559b1d | FORK_NEXT=0 | c6840b559b1d80 |
The Ethereum Classic consensus protocol did not fork at block 1920000.
The Ethereum Classic disinflationary monetary policy is not considered a series of forks, it is the natural "stepping" behavior of a deterministic algorithm.
Respective reference implementations for forkid
generation are documented in EIP-2124 and EIP-2364.