https://zhuanlan.zhihu.com/p/109531201
https://decert.me/tutorial/solidity/ethereum/eth_history
四個階段#
第 1 階段:Frontier 前沿–2015 年 7 月 30 日發布。
第 2 階段:Homestead 家園–2016 年 3 月 14 日發布。
第 3 階段:Metropolis 大都會 第一階段拜占庭 2017 年 10 月 16 日發布,第二階段君士坦丁堡 2019 年 2 月 28 日發布。
第 4 階段:Serenity 寧靜–發布時間待定。
前面三個階段是以太坊的 1.0 時期,基於 POW 的共識機制,最後一個階段是以太坊 2.0,將會從 POW 最終升級為 POS 共識機制。
第一階段:[Frontier 前沿]#
2015 年 7 月 30 日在高度為 0 的區塊上發布以太坊網絡最初版本 Frontier。創世區塊中包含了 8893 個交易,它們來自從 2014 年 ETH 公開發售以來參與眾籌的交易地址以及以太坊基金會的地址。
Frontier 是以太坊的原始狀態,開發團隊將其定位為一個 Beta 版本,它並非一個安全可靠的網絡,體驗和功能也很簡單,可以用粗糙來比喻。總體來說它的主要功能如下:
1. 挖礦功能:提供了挖礦界面,並規定了區塊鏈獎勵政策:礦工挖出一個新區塊並得到確認之後,可以得到 5 個 ETH 的獎勵。
2. 限制性交易功能:提供了上傳和執行合約的方法,但是每個區塊的 gas 上限被硬編碼為 5000,意味著在這段時間限制了在以太坊上大規模開發和進行交易。之後幾天,等礦工們對網絡操作和使用正常之後,gas 的上限被自動解除,此後以太坊網絡可以按照預期處理交易和執行合約。
3. 中心化保護措施:Canary Contracts - 金絲雀合約用來及時提醒和阻止網絡中出現的錯誤操作或者無效交易,避免用戶在無效的鏈上進行操作。這是一個中心化的機制,在早期的以太坊,對網絡安全運行起到必要的保護作用。
4. 體驗很差的可用性:前沿階段的以太坊網絡沒有圖形化的操作界面,所有客戶端操作只能通過命令行實現,這種粗糙的操作界面對普通用戶非常不友好,所以剛開始的以太坊用戶只是局限於熟悉代碼的開發人員。
可見這一時期的以太坊目標是提供一個正常運行的區塊鏈網絡,創建可用的環境,讓挖礦和交易能夠運作起來,讓開發者能夠測試各種分佈式的 DAPP,並進行拓荒式的原始探索。
雖然 Frontier 只是一个公測版本,但它的表現超出了人們的期望,大量礦工進入網絡開始挖礦並得到代幣的獎勵,它們提高了以太坊網絡的算力,提升了抗擊黑客攻擊的能力。Frontier 是以太坊發展史的第一個里程碑。
第二階段:[Homestead: 家園]#
2016 年 3 月 14 日圓周率日,以太坊發布了第二個階段 Homestead。它是以太坊版本的第一次硬分叉計劃,在高度為 1150000 的區塊發生。因為硬分叉之後的版本與之前的版本不能兼容,因此所有節點必須在分叉之前完成版本升級,才能與主鏈的數據保持一致。
這是以太坊第一個穩定版的網絡,標誌著以太坊能夠平穩運行,不再是不安全和不可靠的網絡。但是在技術上,與 Frontier 相比,並沒有特別明顯的突破。這一階段的主要改進包括:
1. 取消金絲雀合約:去除了以太坊區塊鏈上的中心化功能和機制。
2. 引入 Mist 錢包:提供了圖形界面的 mist 錢包客戶端,讓用戶可以方便地持有或者交易 ETH。以太坊不再是只供技術人員的開發工具,普通用戶也可以方便地體驗和使用以太坊。
值得一提的是,Homestead 是以太坊的第一個正式和穩定版網絡,在這一階段發布之後兩個月,以太坊開發者大會 DEVCON-2 6 月 16 日在中國上海舉行,大會的主題聚焦在智能合約和網絡安全上。然而第二天就發生了區塊鏈歷史上最嚴重的一起黑客攻擊事件:震驚幣圈的 The DAO 攻擊。因為 The DAO 項目編寫的智能合約漏洞被黑客成功攻擊導致 360 萬 ETH 被盜,ETH 最終獲得大多數社區成員投票決定強行實施硬分叉,在區塊高度 1,920,000 時分叉成功,挽回了 The DAO 眾籌參與人的損失。但是不認可此次分叉的那部分人仍然留在原來的那條原始鏈上挖礦和交易,這就是被後來成為以太經典的 ETC,以太坊從此一分為二。
第三階段:[Metropolis: 大都會]#
大都會又分為兩個階段:拜占庭(Byzantium)和君士坦丁堡(Constantinople),將通過兩次硬分叉實現技術的升級。
拜占庭計劃於 2017 年 10 月 16 日在 4370000 區塊高度被激活,成功完成分叉。它涉及的升級主要有:
1. 調整區塊難度評估的公式:規定了不能通過操縱叔塊來強制增加區塊高度,提高了挖礦的難度,保證了區塊產生速度的穩定性。
2. 調整挖礦獎勵:挖礦收益從每個區塊 5 個 ETH 降低到 3 個。
3. 延遲引爆 “難度炸彈”(Difficulty Bomb):為了以太坊的共識機制順利從 POW 過渡到 POS,以太坊提前於 2015 年 9 月規劃了在過渡期間逐漸提高挖出新區塊難度的 “難度炸彈” 機制。根據這個機制,在 POW 後期,挖礦難度將會提高到無法產生新區塊,以太坊網絡將會被冻结形成 “冰河時期”。目的是最終淘汰 POW 機制,避免礦工繼續在舊的 POW 鏈上作業從而產生兩條獨立的鏈,導致社區分裂。拜占庭升級將 “難度炸彈” 計劃推遲了 1 年時間。
君士坦丁堡硬分叉在幾經推遲之後,於 2019 年 2 月 28 日在區塊高度達到 7280000 時被觸發。
君士坦丁堡升級總共包括 5 個改進協議,分別是 EIP 1234、EIP145、EIP 1014、EIP 1052 和 EIP 1283。比較重要的內容包括:
1. 優化了 gas 費用:減少 SStore 操作碼的 GAS 耗費,以太坊虛擬機中允許 dApp 開發人員優化某些操作,以節省 gas。提升了以太坊網絡的可擴展性。
2. 推遲 “難度炸彈”:“難度炸彈” 時期推遲 500 萬區塊,歷時約 12 個月,屆時將會進行再次投票。
3. 智能合約驗證:允許智能合約只需通過檢查另一個智能合約的哈希值來驗證彼此。節省大量時間和精力,提高了驗證智能合約的效率。
4. 減少區塊獎勵:再次將挖礦獎勵從每個區塊 3ETH 減少到 2ETH。這是以太坊第三次區塊獎勵減少。
這一次升級影響最大的應該是區塊獎勵,對礦機廠商和礦工,甚至以太坊挖礦生態都會產生比較大的影響和調整。因為挖礦收益減少,機會成本增加,在以太坊上挖礦將會變得性價比低於其他幣種,因此可能會有不少以太坊礦工會轉而去挖 ETC。而礦池也很有可能為了留住礦工慢慢轉向其他幣種。
伊斯坦布爾(Istanbul)#
伊斯坦布爾是在9069000在塊高執行的,執行時間是在 2019 年 12 月 8 日,伊斯坦布爾分叉有以下幾個重要改進:
- 降低 calldata(是一個存儲數據的位置,將在第 6 章介紹)參數的 gas 消耗(EIP2028);
- 降低 alt_bn128 (橢圓曲線) 預編譯函數的 gas 消耗(EIP1108);
- 增加了 chainid 操作碼,讓智能合約可以識別自己在主鏈還是分叉鏈或二層網絡擴容鏈上(EIP-1344);
- 添加 BLAKE2 預編譯函數,讓以太坊可以和專注隱私功能的 Zcash 鏈交互,提高以太坊的隱私能力。
其中 1 2 3 點對以太坊的二層網絡擴容方案是重大利好,因為很多二層網絡方案會把很多交易打包在一起傳遞給智能合約驗證(通過 alt_bn128 函數驗證)。
伊斯坦布爾分叉另外還有兩個重新調整 gas 費用的改進:EIP-1884 EIP-2200,這裡不詳細介紹,有興趣可以通過鏈接閱讀。
信標鏈創世塊#
2020 年 12 月 1 日,信標鏈正式啟動,是以太坊邁向 POS 共識的重要一步。
信標鏈啟動後,以太坊有兩條獨立的鏈,但此時的信標鏈僅可以進行共識,無法進行任何交易。
柏林(Berlin)#
柏林升級在12244000進行,優化了某些以太坊虛擬機操作的燃料成本,並增加了對多種交易類型的支持,柏林升級的修改有:
倫敦(London)#
倫敦升級在 12965000 進行(2021/08/05 日)。引入了 EIP-1559,對交易費進行了修改,同時還對交易費用的退款處理進行了修改,修改有:
- EIP-1559 - 改善交易費市場
- EIP-3198 - 從區塊返回 BASEFEE
- EIP-3529 - 減少以太坊虛擬機操作的 Gas 退款
- EIP-3541 - 防止部署以 “0xEF” 開頭的合約
- EIP-3554 - 將冰河世紀推遲到 2021 年 12 月
TheMerge 合併#
2022 年 9 月 15 日,信標鏈與以太坊 POW 鏈合併,這是一個重要的里程碑,合併之後不再使用 POW 共識,合併之後,兩條鏈使用新名字:共識層與執行層。
執行層負責交易執行(EVM),共識層負責共識出塊。
第四階段:[Serenity: 寧靜]#
以太坊的最後發展階段,意味著一個功能完善,穩定的時期,以太坊因此走向 “寧靜”。也是我們熟知的以太坊 2.0 時期。
以太坊的 2.0 將會隨著兩次升級的成功而開啟,在 “寧靜” 到來之前,還將經歷 “伊斯坦布爾” 和 “以太坊 1.X” 兩個階段。
伊斯坦布爾硬分叉於 2019 年 12 月 8 日,在高度 9069000 成功啟動,提出了 6 個改進提案。以太坊這次升級的關鍵詞是成本和速度。實現了提高性能、優化成本、改進與 Zcash 的互操作性,並支持圍繞智能合約的更有創造性的功能。
1. 成本:降低預編碼、代碼價格、gas 費等各類開發的成本,交易數據成本從每字節 68gas 降低到 16gas。這樣一個區塊中可以容納更多數據,增加以太坊的帶寬,擴展性得到提高。
2. 速度: TPS 上升至 3000,以太坊網絡每秒能夠處理 3000 筆交易。而在之前,以太坊每秒處理的交易數量僅為 30 筆左右。
未來:以 rollup 為中心的開發路線#
Vitalik 在 2022 年 11 月 5 日,發表了以太坊的最新發展路線圖:
新的路線圖,包含:The Merge、The Surge、The Scourge、The Verge、The Purge、The Splurge 六大階段,六個階段在同時推進。
The Merge 階段:已經大部分完成,預計 4 月份進行上海升級,激活取款功能。
The Surge 階段:推動以 Rollup 為中心的擴容,將使得 rollup 的開銷降低。
The Verge 階段:引入 Verkle 樹,優化數據存儲及驗證。
The Purge 階段:清理數據、簡化存儲,降低驗證者硬盤空間性能要求。
The Splurge 階段:進行 EVM 改進及全面引入零知識證明