乙太坊硬分叉的總結和歷史
u/Tykerr在 Reddit 上詢問了請確認乙太坊的硬分叉是什麼以及何時發生的問題。
乙太坊主網區塊#0(創世區塊)和#1(第一個開採區塊):
> 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 冰河世紀
資料來源:u/accape的聲明“還有第一個 HF 在創世後不久引入了冰河時代(在 200,000 區塊生效)。”
從2015 年 8 月 4 日的乙太坊協議更新 1開始,“從第 200,000 個區塊開始(大約 17 天后),難度將呈指數級增長,大約一年後才會變得明顯”。
> new Date(eth.getBlock(200000).timestamp * 1000).toUTCString() "Mon, 07 Sep 2015 21:33:09 UTC"
1. #1,150,000 宅基地
> new Date(eth.getBlock(1150000).timestamp * 1000).toUTCString() "Mon, 14 Mar 2016 18:49:53 UTC"
請注意https://etherchain.org/block/1150000報告 2016-03-14 1 9 :49:53 和https://etherscan.io/block/1150000報告 Mar-14-2016 06:49:53 PM +世界標準時間
2. #1,920,000 DAO
> new Date(eth.getBlock(1920000).timestamp * 1000).toUTCString() "Wed, 20 Jul 2016 13:20:40 UTC"
請注意,這個硬分叉產生了乙太坊經典鏈,它是原始的未分叉鏈,而分叉鍊是乙太坊主鏈。如果您在此分叉之前擁有乙太幣 (ETH),那麼您將擁有相同數量的經典乙太幣 (ETC) 以及普通乙太幣 (ETH)。
3. #2,463,000 橘哨
來源常見問題解答:即將到來的乙太坊硬分叉,日期為 2016 年 10 月 18 日。
> new Date(eth.getBlock(2463000).timestamp * 1000).toUTCString() "Tue, 18 Oct 2016 13:19:31 UTC"
協議的主要變化是:
另見EIP 608:Hardfork Meta:Tangerine Whistle
軟體版本為:
- 乙太坊錢包/Mist 0.8.6
geth
1.4.18- 奇偶校驗 1.3.8
- 乙太坊J 1.3.6
4. #2,675,000 偽龍
來源Hard Fork No. 4:Spurious Dragon,日期為 2016 年 11 月 18 日。
> new Date(eth.getBlock(2675000).timestamp * 1000).toUTCString() "Tue, 22 Nov 2016 16:15:44 UTC"
協議的主要變化是:
- EIP 155:重放攻擊保護——防止來自乙太坊主鏈的交易在經典鏈上重放。
- EIP 160:EXP 成本增加- “通過計算成本高昂的合約操作來降低網路速度變得更加困難”
- EIP 161:狀態樹清除——“使區塊鏈狀態‘去膨脹’”以清理在 2016 年 9 月和 10 月乙太坊網路攻擊中創建的 2000 萬個空賬戶。
- EIP 170:合約程式碼大小限制- “更改區塊鏈上的合約可以擁有的最大程式碼大小”
軟體版本為:
- 乙太坊錢包/Mist 0.8.7
geth
1.5.2- 奇偶校驗 1.4.4
5. #4,370,000 拜占庭
來源Byzantium HF 公告,日期為 2017 年 10 月 12 日。
> new Date(eth.getBlock(4370000).timestamp * 1000).toUTCString() "Mon, 16 Oct 2017 05:22:11 UTC"
協議的主要變化是:
- EIP 140:添加“REVERT”操作碼——允許在不消耗所有氣體的情況下進行錯誤處理。
- EIP 658:在收據中嵌入交易返回數據- 以指示成功或失敗。
- EIP 196:alt_bn128 上的橢圓曲線加法和標量乘法- 允許 ZK-Snarks 和其他密碼數學™。
- EIP 197:配對檢查- 允許 ZK-Snarks 和其他加密數學™。
- EIP 198:大整數模冪- 啟用 RSA 簽名驗證和其他加密應用程序。
- EIP 211:支持可變長度返回值。
- EIP 214:添加“STATICCALL”操作碼- 允許對其他合約進行非狀態更改呼叫。
- EIP 100:難度調整公式變更——考慮到大叔。
- EIP 649:冰河時代/難度炸彈延遲 1 年,區塊獎勵從 5 個乙太幣減少到 3 個乙太幣。
軟體版本為:
- 乙太坊錢包/Mist 0.9.1
geth
1.7.2- 奇偶校驗 1.7.6(待發布)
- 乙太坊和諧 2.1.56
6. #7,280,000 君士坦丁堡/聖。聖彼得堡
來源:
- 首次嘗試針對 #7,080,000 -乙太坊君士坦丁堡升級公告,日期為 2019 年 1 月 11 日。由於EIP 1283 中的漏洞,該計劃被推遲
- 針對 #7,280,000 的第二次嘗試 -乙太坊君士坦丁堡/聖。聖彼得堡升級公告,日期為 2019 年 2 月 22 日
> new Date(eth.getBlock(7080000).timestamp * 1000).toUTCString() "Thu, 17 Jan 2019 05:57:13 UTC"
協議的主要變化是:
- EIP 145 - 本機按位移位,成本與其他算術運算相當
- EIP 1014 - 涉及與合約的反事實互動的狀態通道案例的新 CREATE2 操作碼
- EIP 1052 - 返回合約程式碼的 keccak256 雜湊的新 EXTCODEHASH 操作碼
EIP 1283 - SSTORE 操作碼的淨氣體計量更改- 由於漏洞而在第二次嘗試中刪除- EIP 1234 - 將難度炸彈延遲約 12m 並將塊獎勵從 3 ETH 減少到 2 ETH
軟體版本為:
- 格思 1.8.23
- Parity v2.2.10-穩定版
- 和諧 v2.3 Build 74
- 萬神殿 v0.9.1
- 乙太坊JS v2.6.0
- 乙太坊錢包/Mist v0.11.1
7. #9,069,000 伊斯坦布爾
來源乙太坊伊斯坦布爾升級公告,日期為 2019 年 11 月 20 日
> new Date(eth.getBlock(9069000).timestamp * 1000).toUTCString() "Sun, 08 Dec 2019 00:25:09 UTC"
EIP 1679: Hardfork Meta: Istanbul中列出的協議的主要變化是:
- EIP-152 : 添加 Blake2 壓縮函式 F 預編譯
- EIP-1108:降低 alt_bn128 預編譯氣體成本
- EIP-1344:添加 ChainID 操作碼
- EIP-1884:依賴於 trie 大小的操作碼的重新定價
- EIP-2028:Calldata gas 成本降低
- EIP-2200:考慮 SLOAD gas 成本變化,重新平衡淨計量的 SSTORE gas 成本
軟體版本為:
- geth v1.9.9
- Parity v2.5.11-穩定版
- 貝蘇 v1.3.6
- Nethermind v1.2.3
- 乙太坊JS v4.0.2
- 三位一體 v0.1.0-alpha.31
- 阿列斯 v1.7.1