'從歷次升級看以太坊的足跡'

""從歷次升級看以太坊的足跡

縱觀全局,區塊鏈技術出現的時間並不久。儘管有關區塊鏈的基本概念(密碼學、去中心化、點對點網絡和交易)已經被研究了數十年,但直到 2008 年比特幣誕生之後,人們才相信這些概念確實可以組合到一起、創造出可用的產品。尤其是以太坊,直到 2015 年才以一種公開的、可用的面貌出現在人們的視野中。儘管預期的發展時間線和具體細節有所變化,以太坊仍堅持按照計劃推進,不斷升級協議,以確保提高其可用性、安全性、功能性以及去中心化程度。

隨著今年 2 月君士坦丁堡升級的完成,以太坊也就踩在了 Serenity(也被稱為以太坊 2.0)階段的門檻上,只待再經過一系列硬分叉和階段性升級(包括 “以太坊 1.x”)便可實現。然而,為了更好地理解以太坊 2.0 的目標,我們先要回望一下當初是從何處啟航。這裡提供了一份以太坊大事記,回顧了以太坊歷史上重要的計劃內(外)硬分叉和升級,為下一階段的發展做準備。

Olympic | 2015 年 5 月 9 日

以太坊區塊鏈於 2015 年7 月正式公開上線。而在這之前的臨門一腳是 Olympic——第 9 個也是最後一個開放的測試網,用以進行概念驗證(PoC),讓開發者預先探索以太坊區塊鏈發佈後的運行情況。Vitalik 宣佈將發放共計 25000 枚 ETH 來獎勵對網絡進行壓力測試的開發者們。測試要求很明確:嘗試讓網絡超負荷,並 “瘋狂破壞網絡狀態”,從而瞭解協議將如何處理流量過高的情況。開發者需要對四個方面進行測試:交易活動、虛擬機運行、挖礦機制以及一般懲罰機制。

Frontier | 2015 年 7 月 30 日

經過幾個月的壓力測試後,以太坊網絡已經做好了進正式主網發佈的準備。7 月 20 日,以太坊的創世塊被挖出,社區開始逐漸擴大。在 Frontier 發佈前幾個月,Vinay Gupta 發表了一份說明,闡述了以太坊的發佈過程。慷慨激昂的陳詞中不乏對以太坊潛在用戶的警示,Gupta 表示 Frontier 是 “最原始形態” 的以太坊,開發者們應當謹慎行事。就在 Frontier 發佈的前幾天,Stephen Taul也像 Gupta 一樣對開發者發出了提醒:“與美國拓荒潮期間那些勇敢的開拓者們一樣,以太坊社區的參與者將發現巨大的機會,同時也將面臨許多挑戰。”

Frontier 協議包含以下幾個重要特性:

  • 區塊獎勵:當礦工們在以太坊區塊鏈上成功挖到一個區塊時,他們將收到以 ETH 發放的獎勵。在 Frontier 階段,礦工的區塊獎勵是每區塊 5 ETH。
  • Gas:在 Frontier 發佈後的初期,每個區塊的 Gas 上限被硬編碼為 5000gas。說白了,這就意味著網絡上不會有什麼大動作。這樣就留出了一段緩衝期,以便礦工開始在以太坊上工作,並讓早期用戶安裝客戶端。幾天後,該 Gas 上限自動解除,網絡可以按照計劃開始處理交易和智能合約。
  • Canary 合約:Canary 合約被納入了 Frontier ,用以告知用戶哪些鏈已遭受或易遭受攻擊。Canary 合約被會賦予 0 或 1 的值。如果合約被賦值 1,客戶端就能識別出這是一條出錯的鏈,並在挖礦時避開這條無效鏈。本質上來說,Canary 合約的這些功能使得以太坊核心開發團隊在網絡出現問題時能夠停止操作或交易。在以太坊早期階段,Canary 合約是一個極度中心化卻又不可或缺的保護機制。
  • 可用性:所有開發者的操作均通過命令行來執行,因為沒有圖形用戶界面。整個網絡是可用的,但用戶界面非常粗糙,只有熟悉以太坊並具備操作經驗的人才有能力使用。

Homestead | 2016 年 3 月 14 日

Homestead 升級是以太坊網絡的第一個硬分叉計劃,於 2016 年 3 月 14 日在第 1,150,000 個區塊上開始實施。總的來說,Homestead 升級主要包括對以太坊的三大重要改進措施。首先,它移除了 Canary 合約,去除了網絡中的中心化部分。其次,它在以太坊的合約編程語言 Solidity 中引入了新代碼。最後,它引入了 Mist 錢包,讓用戶能持有/交易 ETH 並編寫/部署智能合約。

Homestead 升級是最早實施的以太坊改進提案(EIP)之一。EIP 指的是向社區提出的建議,一旦它們得到認可,就會被納入網絡升級中。Homestead 升級包含三種 EIP:

EIP-2:Homestead 核心升級

EIP 2.1:將通過交易創建智能合約的成本從 21000 Gas 提高到 53000 Gas。之前,通過合約來創建合約(首選辦法)的成本比通過交易創建合約的成本更高。由於通過交易創建合約的 gas 成本提高,EIP 2.1 激勵用戶重新採用通過合約來創建合約的方法。

EIP 2.2:“所有 s 值大於 secp256k1n/2 的交易簽名被視為無效。ECDSA 恢復預編譯合約保持不變並接受較高的 s 值;在有合約需要恢復舊的比特幣簽名之類的情況下,這一功能就派上用場了。” [來源]

EIP 2.3:明確規定了,如果一個合約沒有收到足夠的 Gas 來完成整個操作過程,合約創建將 會“失敗”,而非創建一個空白合約,使得交易可能的輸出結果由原來的 [成功]、[失敗] 或 [空] 變為 [成功] 或 [失敗]。

EIP 2.4:取消了對用戶創建難度值較高的區塊的激勵,從而增加挖到區塊的概率。這一升級將出塊時間穩定在 10 秒到 20 秒,並將整個網絡恢復到大約 15 秒的目標出塊時間。

EIP-7

“在 0xf4 中新增了一個操作碼,DELEGATECALL。該操作碼與 CALLCODE 類似,不同之處在於它將發送方和數值從父作用域發送到子作用域,也就是說,被創建的調用與原始調用擁有相同的發送方和數值。”[來源]

EIP-8:面向未來的升級

EIP-8 是一項著眼於未來的網絡升級計劃改進提案。這一改進確保以太坊網絡上所有的客戶端軟件都能適應未來的網絡協議升級。

DAO 分叉 | 2016 年 7 月 20 日

除了計劃內的以太坊升級和硬分叉之外,還有一次計劃外的 DAO 事件值得被銘記。在 2016 年,一個名為 The DAO 的去中心化自治組織通過代幣發售籌集了 1.5 億美元資金。在6 月,The DAO 被黑客攻擊,有價值 5000 萬美元的 ETH 被一位不知名的黑客劫走。以太坊社區的大多數參與者決定實行硬分叉,恢復錢包中被盜的 ETH 並修補漏洞。然而,硬分叉沒有得到社區內所有參與者的一致認可,還有部分參與者繼續在那條原始鏈上挖礦並交易。未恢復被盜 ETH 的原始鏈被稱為以太經典(ETC),久而久之,其安全性逐漸降低,挖礦難度也在下降。社區的大部分參與者以及核心開發者則繼續在分叉鏈上工作——被竊的 ETH 回到了它們原本的持有者手中——這就是我們現在熟知的以太坊區塊鏈。

大都會:拜占庭分叉 | 2017 年 10 月 16 日

以太坊路線圖的下一步被稱為大都會(Metropolis),它將分為兩個階段進行:拜占庭(Byzantium)和君士坦丁堡(Constantinople)。拜占庭分叉於 2017 年在第 437 萬個區塊高度上激活,其中包含了以下 9 個 EIP:

EIP 100

調整區塊難度評估公式,將叔塊納入參考範圍。新的公式使得火幣增發率變得更加穩定,並確保無法通過操縱叔塊來強制提高發行率。

EIP 658

對於拜占庭硬分叉升級後的區塊,交易收據內會包含一個狀態字段來標誌成功(賦值為 1)或失敗(賦值為 0)。

EIP 649

“難度炸彈”是這樣一種機制:一旦被激活,每新挖出一個區塊所需的成本(即難度)都會提高,直到難度達到不可能挖出新的區塊為止。一旦達到這個難度,以太坊網絡將 “凍結”。難度炸彈最初於 2015 年 9 月被納入以太坊網絡,旨在幫助以太坊網絡從 PoW 轉型為 PoS。一旦實行了 PoS 機制,礦工們從理論上來說依然可以選擇支持舊的 PoW 鏈,這就會導致社區分裂併產生兩條獨立的鏈——一條由權益所有者(staker)維護,另一條由礦工維護。為了防止這種情況發生,難度炸彈機制應運而生,它會讓挖礦效率變得越來越低,最終確保整個網絡完成向 PoS 機制的過渡,而不會出現硬分叉的情況。在該提案中,難度炸彈(也稱冰河世紀)將推遲一年,此外區塊獎勵從 5 ETH 降至 3 ETH。

其餘拜占庭分叉 EIP 的具體內容(140、196、197、198、211、214)可以在這裡找到。

大都會:君士坦丁堡 | 2019 年 2 月 28 日

大都會升級的第二階段君士坦丁堡(Constantinople)原定於 2019 年 1 月中旬在第 708 萬個區塊高度上線。1 月 15 日,一家名為 ChainSecurity 的獨立安全審計公司發佈了一份報告,指出五個主要的系統升級中有一個會讓攻擊者有竊取資金的機會。針對該報告提出的問題,以太坊核心開發者和社區的其他成員投票決定暫緩升級,直到該安全問題得到解決。在 1 月末,核心開發者們宣佈將於第 728 萬個區塊高度上激活升級。2 月 28 日,第 728 萬個區塊高度上執行了君士坦丁堡硬分叉。以太坊網絡目前正處於君士坦丁堡階段。

EIP 145:按位移動指令

按位移動指令被添加至以太坊虛擬機(EVM)。這些指令讓二進制信息中的比特可以以動到左邊和右邊。這一改進意味著智能合約的按位移動操作將便宜 10 倍。

EIP 1052:智能合約驗證

智能合約能夠通過檢查另一個智能合約的哈希值來驗證其本身。在君士坦丁堡分叉之前,智能合約必須提取另一個合約的完整代碼才能進行驗證,這種驗證方式將耗費大量的時間和資源。

EIP 1014:CREATE2

狀態通道的可實施性變得更強。狀態通道是一種基於鏈下交易的以太坊擴容方案。

EIP 1283:SSTORE

降低 SSTORE 操作所需消耗的 Gas 成本。這一舉措使得交易中多個更新操作的成本更低。

EIP 1234:區塊獎勵以及暫緩難度炸彈

由兩部分組成:減少區塊獎勵以及暫緩難度炸彈。

礦工得到的出塊獎勵從每區塊 3 ETH 降至 2 ETH。這一舉措被稱為 “1/3 獎勵削減(Thirdening)”。

難度炸彈暫緩

EIP 1234 將難度炸彈的激活再次推遲了十二個月,屆時將再一次進行投票。

前景:伊斯坦布爾市(Istanbul)以及寧靜(Serenity)

展望未來,“寧靜(Serenity)” 將是以太坊區塊鏈的最後階段,不過要先經歷伊斯坦布爾分叉和 “以太坊 1.x.” 階段。伊斯坦布爾硬分叉將主要圍繞關於 ProgPoW 的決策。Serenity 將完成從 PoW 到 PoS 的轉化,以及其他一些重要升級。其中尤其要關注的是:信標鏈和分片概念的引入,以及用 eWASM(Ethereum-flavored Web Assembly)替代以太坊虛擬機(EVM)。Serenity 的所有升級將分階段進行,與此同時,以太坊 1.x 也將不斷完善,從而確保原 PoW 鏈的後續運行。我會在下一篇文章中講解後續硬分叉計劃和 Serenity ,敬請關注。

作者:ConsenSys

翻譯&校對:周瑾 & 閔敏

(本文來源於以太坊愛好者 EthFans,未經作者許可嚴禁轉載,違者法律必究)

"

相關推薦

推薦中...