一文速覽以太坊的最新進展:合并、上海升級、數據分片…

撰文:Trent Van Epps,以太坊基金會成員

以太坊是一個正在經歷重大變化的協議,從中期來看,我們正在推動以太坊協議的升級,從而使其能夠得以擴展并滿足不斷增長的全球需求,同時也改善以太坊網路的安全性和去中心化。這是一條漫長而曲折的道路,但以太坊「集市」中的研究者和開發者們比以往任何時候都更加活躍, 在閱讀下文之前,請記住本文并不是一個“官方”的路線圖,只是對以太坊現狀的有限且主觀的看法,

01. 命名已經改變

時間線→ 進行中

讓我們首先來談談我們在以太坊領域中的命名。雖然從這個方面開始似乎有些奇怪,但要知道的是,以太坊的命名框架是由其發展路線圖來決定的。下面是最近流行的術語變化的兩個例子,以及這種命名變化背后的原因。

執行 & 共識

無論出于何種目的,“Eth1”和“Eth2”這兩個術語已經不再用于以太坊的核心開發中,可參見 Tim Beiko 撰寫的《Great Renaming》文檔:https://notes.ethereum.org/@timbeiko/great-renaming

這兩個舊的命名方式表達了兩個含義,即“Eth1在前,Eth2在后”和“Eth2誕生之后,Eth1就不復存在”,自 2020 年 10 月開始,以太坊核心研究者 Danny Ryan 就指出了這個問題。盡管 PoS 信標鏈自 2020 年 12 月初啟動以來一直與當前的 PoW 以太坊主網并行運行,但使用 Eth1 和 Eth2 這兩個術語會暗示當前的 PoW 以太坊在某種程度上已經消失了,實際上,當前以太坊主網上的鏈狀態將會在合并發生之后無縫地與信標鏈結合

不會有任何數據會被丟失,不需要進行任何遷移,

我們已經轉向使用“執行”(Execution) 和“共識”(Consensus),而不再使用“Eth1”和“Eth2”這兩個術語。我推薦你閱讀 Dany Ryan 的這篇深入闡述的文章:https://blog.ethereum.org/2021/01/20/the-state-of-eth2-january-2021/

簡而言之,執行指的是用戶層的所有東西,包括應用程式、賬戶余額、代幣等,這也可以被稱為“狀態”(state)。“共識”就是指將所有這些東西綁在一起的 PoS 共識機制,包括事務 (交易) 的最終性 (finality)、分叉選擇規則、驗證者和激勵機制。

在合并之后的環境中,執行層和共識層將一起共存

“特性”,而非“階段”

我們摒棄的另一個術語是“階段”(Phases)。在過去,這是指一個特定的協議變更,比如“階段0是指信標鏈”。

去年晚些時候,我們開始了非正式地、漸進地將“階段”重構為“特性”(features)。首先,使用具體的“特性”來命名會更加靈活:當協議的設計更新或者范圍擴大/縮小時,相比于直接使用該特性提案的名稱來命名,使用“階段X”的簡寫要更難以傳達這些變更,

其次,“階段”一詞暗示了順序性:“階段X”之后必須是“階段X+1”,這種命名方式行不通的一個很好的例子就是,當前正在進行中的合并」(之前被稱為“階段1.5”) 的優先級要高于「數據分片」(之前被稱為“階段1”),

偏向于使用具體的“特性”來命名意味著這些命名可以在需要時很容易重新排序,并更清楚地傳達它們的最終影響。

認知的靈活性

更抽象地說,我傾向于認為上述兩種變化都是基于認知的靈活性。換句話說,這是知識形成的一種靈活形式,讓我們的社區更好地理解以太坊「集市」中誕生出的非結構化創造力,

我們之所以能夠根據路線圖來做出自適應的決策,是因為我們不拘泥于階段或順序。承認并內化我們沒有完整的路線圖是一種謙卑,這是以太坊哲學的重要組成部分,我很高興看到它扎根于此。

更廣泛的以太坊社區可能需要一段時間來適應新的命名規范,但我們會適應的!提前感謝你幫助我們完成這一重要的努力 🙂

02. 合并

時間線→ 5-8 個月

既然我們已經討論了命名的變更,讓我們討論下一個令人興奮的以太坊特性:合并,合并指的是以太坊共識機制即將從工作量證明 (PoW) 轉變為權益證明 (PoS)

這是以太坊和更廣泛的加密領域最受期待的協議變更之一。在區塊鏈行業存在的大部分時間里,有關 PoW 及其對能源消耗的負面看法一直主導著大眾媒體,以太坊將成為有史以來轉變其共識機制的最大協議,并有望改變這種敘事,

合并給協議帶來的好處

合并包含了對以太坊協議的許多重大改進:

  • 當合并完成時,以太坊區塊鏈將變得更加安全,區塊將在某個時間點之后被“最終敲定”(finalized),同時將對重組區塊鏈的驗證者引入了罰沒機制,也即抑制驗證者對區塊或者內部交易進行重組。
  • 其次,PoS 消除了與 PoW 相關的大量能源消耗和硬件浪費研究者們預計以太坊的能耗將在合并之后下降高達 99.95%。常規消費級硬件將取代目前運行以太坊共識的 ASICs 和 GPUs 硬件,這兩大影響將為以太坊來帶更加節能、更加多樣化、地理上更加分散和抗脆弱的共識參與者。
  • 第三,以太坊 PoS 將為實現分片 (sharding) 搭建平臺,這也是一場重大的協議變化,將把以太坊區塊鏈分成的許多并行運行的分片鏈。通過為數據可用性和結算增加可用的區塊空間,分片將為 L2 擴容工作帶來額外好處。
  • 最后,合并將會減少 ETH 的年增發率,從當前的凈 3.5% 到大約凈 0%

通往合并的道路

合并奠定基礎的第一個重大事件是今年早些時候為期一個月的 Rayonism 黑客馬拉松活動,這項工作模擬了合并之后以太坊區塊鏈的樣子,以及共識/執行客戶端將如何彼此通信。

最近,我們進行了 Amphora 互操作性工作坊,這個為期一周的活動繼續在 Rayonism 成功的基礎上進行構建,并添加了從 PoW 過渡到 PoS 的關鍵時刻,10個客戶端團隊做出來貢獻,且截至該周周末,一個對這場從 Pow 向 PoS 過渡進行建模的開發者測試網已經成功運行了!

如果你想要了解更多關于這場活動的資訊,可以查看 Tim Beiko 的這篇文章《Amphora: A Major Merge Milestone》:https://blog.ethereum.org/2021/10/15/amphora-merge-milestone/

從這次活動中獲取的經驗已經納入到了最新版本的合并規范“Kintsugi”中,與此同時,還有一個稱為 Pithos 的長期開發測試網,這種情況將在 2021 年 Q4 至 2022 年 Q1 期間重啟多次,從而使用更新的規范來重新測試從 PoW 過渡到 PoS 的時刻,一旦這種過渡變得相當穩定,就可以對 Goerli 等現有的測試網進行升級以匹配合并規范,

感興趣的社區成員可以關注這個“The Merge Mainnet Readiness Checklist”(合并主網準備情況清單),上面對剩余未完成事項進行了全面概述:https://github.com/ethereum/pm/blob/master/Merge/mainnet-readiness.md

03. 上海升級

時間線→ 10-12 個月

合并之后的以太坊的一個有趣的地方就是,雖然新舊兩條鏈已經合并了,但客戶端仍然是相互獨立的:包括它們是如何架構的,以及致力于這些客戶端的團隊也是獨立的。對于驗證者來說,這意味著有大量的選擇性:每個執行客戶端都可以與每個共識客戶端結合在一起,反之亦然。出于好玩,我羅列了這些客戶端組合之后可能使用的新名稱:

推特來源:https://twitter.com/trent_vanepps/status/1445008969756467203?s=20

如果需要,獨立的執行層和共識層還允許進行非耦合的升級過程。這很好地符合了以太坊的“對關注點進行分離”(separation of concerns) 的哲學,換句話說,相比于“單片式區塊鏈”,此時的以太坊對于一些更小的變更將更容易管理,

然而,上海升級將會以耦合的方式同時對共識層和執行層進行升級,從而使驗證者的取款成為可能,也即允許驗證者將他們的 ETH 從共識層取款至執行層,從而將二者更加緊密地綁定在一起,當 ETH 從信標鏈 (共識層) 撤回至執行層時,ETH 就能像我們在當前的以太坊鏈上一樣使用了:可以將 ETH 作為價值存儲,或者用于支付 NFTs,或者支付交易費等等。當前還有一些針對執行層的其他的提案正在被考慮是否納入上海升級中,但這些提案尚未正式被接受。

在合并實際上線之前,我們將無法知曉這一可接受范圍,

04. 以太坊研究

時間線→ 進行中

在上述工作正在被規范、實現和測試的同時,還有其他并行的研究工作正在推動以太坊向前發展。

數據分片

當以太坊轉換為 PoS 之后,分片 (sharding) 可能是以太坊將會發生的最重要的變化,需要注意的是,當前的相關提案關注的是數據分片(data sharding),而不是分片執行,數據分片將為 L2s 網路提供更多可用于存儲數據的區塊空間,但這些分片還不支持像當前以太坊主網上我們所熟悉的本地用戶交易執行功能,目前,Rollups 網路使用以太坊主網來進行此類結算操作,對于這種類型的分片的基礎研究并不復雜,這意味著數據分片將可以更快地在主網上線并為 L2s 網路帶來好處!

上圖:原始示意圖來自Hsiao-wei Wang,由 Quantstamp設計 這種優先考慮數據可用性,符合了在過去 18 個月里可擴展性研究和 dApps 領域的動態進展。Vitalik 在 2020 年 10 月發表的《以 Rollup 為中心的以太坊路線圖》貼文很好地闡述了這一可能的未來,這是以太坊社區認知的靈活性的一個很好例子!

在未來某個時候,以太坊社區可能會決定增加分片執行功能,但這仍然是一個有待研究的問題。

狀態到期 & 弱無狀態性

這一領域的研究將改革以太坊協議處理狀態 (state) 的方式。狀態是指所有的用戶記錄,包括合約、代幣、NFTs 和地址。在當前的以太坊中,用戶每次交易都會產生一筆一次性的成本,從而使該筆交易記錄無限期地保存在以太坊狀態中,從長遠來看,這是不可持續的。

在過去幾年中,一些有著不同權衡的提案已經被探索,包括諸如狀態租金 (state rent) 和 ReGenesis 等,

其中一個主要的提案被稱為“Weak Statelessness”(弱無狀態性),該提案將變更以太坊節點存儲和處理狀態的方式:具體來說,只有區塊提議者 (block proposers) 將被要求存儲狀態,而所有其他節點都無需存儲狀態即可驗證區塊,以下是這種方式將對不同參與者產生的影響:

  • 用戶:可以丟棄狀態,但在提交交易時還需要提交一個“見證”(witness)。見證是指隨交易一起發送的、用于證實交易有效性的證明 (proofs);
  • 非驗證者的節點:可以丟棄狀態;
  • 驗證者/區塊提議者:如果依賴于第三方來生產區塊,則可以丟棄狀態;
  • 區塊生產者:仍然需要存儲所有狀態。負責使用用戶提交的見證 (witnesses) 來生產出包含有效狀態變更的區塊。

另一項提案成為“State Expiry”(狀態到期),根據此提案,如果狀態在一段規定時間內沒有被訪問,那么該狀態可以變為非活躍狀態,或者從活躍狀態變為“過期”。這可能是處于冷存儲狀態的 ETH,或者某個社區離開之后廢棄的 ERC20s 代幣等等。如果某個用戶想要重新激活其狀態,那么該用戶發送的任何交易都需要附上一個見證 (weitness)。對以太坊活躍狀態的大小進行限制的一大好處就是,節點在同步網路和繼續維護時將變得更容易,

這兩個概念都正在被積極研究、進行基準測試并通過概念證明 (PoC) 進行實現。想要更深入地了解目前的進展,可參考:

  • Guillame Ballet 整理的附有鏈接的摘要:https://notes.ethereum.org/@gballet/Sy-a6T5St
  • EthR&R Discord Guidebook 上的這些鏈接:https://github.com/tvanepps/EthereumDiscordGuidebook#statelessness–state-expiry

… 還有更多

我還要更多內容可以寫的,比如 EVM (以太坊虛擬機) 的改進和增強共識機制的方法,但我將把這些內容留著下一篇文章中講述。

如果你對研究上述這些重要的問題感興趣,請在推特上直接發資訊給我 (@trent_vanepps) 來邀請你加入以太坊 R&D Discord 哈拉頻道,或者你可以前往 EthResearch 論壇進行深入了解:https://ethresear.ch/top

0 条回复 A文章作者 M管理員
    暫無討論,說說你的看法吧