一文速覽以太坊的最新進展:合併、上海升級、資料分片

買賣虛擬貨幣

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

編輯:南風

以太坊是一個正在經歷重大變化的協議。從中期來看,我們正在推動以太坊協議的升級,從而使其能夠得以擴充套件並滿足不斷增長的全球需求,同時也改善以太坊網路的安全性和去中心化。這是一條漫長而曲折的道路,但以太坊「集市」中的研究者和開發者們比以往任何時候都更加活躍。

在閱讀下文之前,請記住本文並不是一個“官方”的路線圖,只是對以太坊現狀的有限且主觀的看法。

01. 命名已經改變

時間線→ 進行中

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

執行 & 共識

無論出於何種目的,“Eth2”和“Eth2”這兩個術語已經不再用於以太坊的核心開發中,可參見 Tim Beiko 撰寫的《Great Renaming》文件:

https://notes.ethereum.org/@timbeiko/great-renaming

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

不會有任何資料會被丟失,不需要進行任何遷移。

我們已經轉向使用“執行”(Execution) 和“共識”(Consensus),而不再使用“Eth2”和“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

🙏感謝閱讀,也感謝 Danny Ryan、Tim Beiko 和 Mario Havel 的審閱。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读