2024年,以太坊周圍發生了許多重要事件。今年初,以太坊通過Dencun升級引入了blob。這次升級大大降低了現有彙總鏈的交易費用,為彙總鏈生態系統的快速擴展奠定了基礎。
(Dencun升級後,OP鏈的費用降低 | 來源:Optimism X)
然而,隨著生態系統中的dapp遷移到高度可擴展的彙總鏈和替代的Layer 1 (L1) 網絡,Ethereum本身的用戶活躍度開始下降。此外,隨著彙總鏈不再向以太坊提交高額費用,社區開始出現擔憂。
2024年也是以太坊面臨挑戰的一年,像Solana和Sui等以擴展性為重點的L1網絡展示了強大的實力。這些網絡產生的TPS(每秒交易量)使得彙總鏈上的活動顯得相對較小。
在這種背景下,出現了類似“以太坊的彙總鏈路線圖有缺陷”或“以太坊的發展太慢,難以成功”的批評聲音。那麼,以太坊真的走在正確的道路上嗎?以太坊在2025年甚至2030年將會是什麼樣子?
本系列文章將從技術細節分析以太坊路線圖中的部分內容,探討其未來發展。第一部分將聚焦於Beam Chain。
如果要選出今年以太坊社區中討論最多的話題,那可能就是以太坊研究員Justin Drake在Devcon上公佈的Beam Chain提案。這一公告引起了廣泛關注,也伴隨著大量的討論。接下來,讓我們分析一下這個提案的意義。
Beam Chain提案的核心思想是徹底重構以太坊的共識層。Justin Drake提出了以下三個理由,說明為什麼當前的共識層——Beacon Chain——需要重新設計:
目前,以太坊的共識層路線圖包含了以下幾個要素:
在這些領域中,標記為粗體的四個方面代表了超越單純修改Beacon Chain的根本性變化。例如,鏈的SNARK化指的是將共識層的狀態處理轉換為ZK技術,這需要從哈希函數到Merkle化/序列化狀態方法的根本性變更。
此外,更快的槽時間和更快的最終性是為了在保持安全性的同時實現性能提升的新設計——這是最初設計中未優先考慮的因素。實現這些變更需要對共識層進行廣泛的修改。
Beam Chain提議通過一次硬分叉來實現這些變化。總結如下:
接下來,讓我們探討如何實現這些變化以及它們所帶來的技術影響。
目前,以太坊的槽時間為12秒,且一個與槽連接的區塊需要2-3個時期(大約15分鐘)才能達到最終性。提高這些時間將對以太坊用戶、應用程序以及在以太坊上構建的彙總產生積極影響。
這一主題在以太坊研究人員中被稱為SSF(單槽最終性),旨在將以太坊區塊達到最終性的時間從大約15分鐘減少到12秒內,從而為用戶提供更快的確認。要理解單槽最終性,我們必須先理解以太坊當前的共識算法——Gasper。
Gasper的一個關鍵設計原則是確保在設定時間後,槽中提議的區塊能夠獲得一定程度的經濟安全,同時最大程度地減少每個驗證者的通信負擔。為此,以太坊將所有驗證者分成多個委員會,分佈在32個槽中。每個槽最多可包含64個委員會,目標是將每個委員會組成128個驗證者(如果活躍驗證者的總數超過該數量,委員會人數可增加)。
每個委員會中的驗證者獨立驗證區塊並進行投票,使用BLS簽名。BLS簽名機制允許將多個簽名聚合為一個,這意味著委員會中的指定節點收集這些簽名並將它們編譯成一個緊湊的數據包。通過廣播這個聚合的簽名,下一個區塊提議者可以以最小的數據確認該區塊已被正確驗證。
(BLS簽名聚合:以太坊驗證者之間的協作 | 來源:eth2book)
總之,以太坊的Gasper通過以下機制實現了可擴展性和經濟安全:
然而,由於Gasper是基於時期(epoch)工作的,並且必須驗證各時期之間的“連接性”,所以一個槽要達到最終性之前,必須驗證連接性。在Gasper中,至少需要兩個時期(64個槽)才能實現與以太坊完全經濟安全等效的最終性。
這導致瞭如下的圖示表示:
(以太坊的經濟最終性 | 來源:Orbit SSF)
這帶來了各種挑戰,並降低了用戶體驗。例如:
例如,在2024年3月,由於以太坊鏈重組的處理不當,Polygon zkEVM經歷了超過兩天的鏈停頓。
減少最終性的時間並非不可能,像Tendermint等共識算法已經在多個協議中得到了應用。然而,採用Tendermint機制的挑戰在於節點之間頻繁的P2P通信,這帶來了可擴展性的限制。
在Tendermint中,如果節點數量為N,它的消息複雜度為O(N^3)。這意味著隨著節點數量的增加,它們之間的通信頻率呈指數增長,限制了可擴展性。因此,像以太坊這樣的協議,擁有大量驗證者,不能直接採用Tendermint機制。
需要進一步的工作來解決這些問題,以便將Tendermint風格的共識應用於以太坊。
Orbit SSF旨在修改Gasper的委員會機制,以減少槽的最終性時間,同時保持較高的經濟安全性。
該提案建議將32個槽的時期大小減少為單個槽(約12秒)。然而,如前所述,這將增加驗證者通信的資源消耗,可能對以太坊的去中心化產生負面影響。
為了解決這個問題,Orbit SSF提出了以下方案:
通過增加每個以太坊驗證者的最大質押金額,可以在驗證者數量較少的情況下實現相同級別的經濟安全性。
Orbit SSF建議引入一個單一的“超級委員會”,而不是每個槽都有多個委員會。擁有較高質押金額的驗證者將幾乎總是按比例被包括在委員會中,從而確保即使委員會較少,經濟安全性水平仍然得以保持。
下一次以太坊升級Pectra包括EIP-7251,提議將驗證者的最大質押金額(MaxEB)從32 ETH提高到2048 ETH。雖然這一提案對以太坊節點基礎設施運營商具有吸引力,但它也是Orbit SSF的前提條件。
然而,如果質押金額較大的驗證者幾乎總是被包括在委員會中,較小的單獨驗證者可能會遭遇獎勵減少,從而對以太坊的去中心化產生不利影響。為此,Orbit SSF調整了獎勵機制,使得年化回報率(APR)隨著質押金額的增加呈線性增長,同時確保較大驗證者更頻繁地被納入委員會。
(Orbit SSF中驗證者被納入委員會的獎勵與概率 | 來源:Orbit SSF)
此外,Orbit SSF轉向了“基於委員會的最終性”。在Gasper中,委員會只有在兩個或更多時期過去後才能對最終性作出貢獻,而Orbit SSF允許每個槽分配的委員會實時貢獻最終性。其目標是使委員會成為最終性的更積極貢獻者,並更快地實現可擴展性。
(Orbit SSF中的最終性使用“限額與緩慢旋轉”機制 | 來源:Orbit SSF)
關鍵在於委員會成員的組成。Orbit SSF提出了一種“緩慢旋轉”機制,其中大額質押的驗證者在委員會中幾乎是固定的,而小額驗證者則在委員會中輪換進出。這使得代表經濟安全閾值的F值可以設置得非常高,同時保持驗證者之間的最小通信開銷,並確保最終性時間保持較低。
例如,設定n = 3並且設定一個非常大的F值,可以使以太坊在大約三個槽內實現最終性,從而實現Justin Drake提出的3槽FFG(快速最終性共識)。
然而,將F值提升到以太坊整個驗證者集的級別並不容易。這可能會降低進行51%攻擊的成本。因此,Orbit SSF面臨的主要挑戰是如何在確保以太坊安全性依然強大的同時,儘量不犧牲去中心化,技術性地提高F值。
短槽時間(4秒槽)
即使實現了SSF(或3槽最終性),以太坊用戶仍然會經歷至少12秒的交易確認時間。這給用戶帶來了兩個主要缺點:
此外,12秒的區塊時間對於彙總鏈尤其不利,特別是基於彙總鏈的Rollups。例如,Taiko通過將每個L2區塊發佈到L1來實現基於彙總鏈的Rollup。因此,Taiko的區塊時間可能增加到至少12秒,有時甚至超過24秒。
為了解決這個問題,提出了兩種解決方案:
a. 將以太坊的區塊時間減少到4秒或8秒
b. 使用預確認
降低以太坊的區塊時間是一個正在積極討論的話題。它已經被正式化為EIP-7782,提議將槽時間從12秒減少到8秒,從而將以太坊的可擴展性提高33%。然而,8秒的槽時間可能對用戶體驗或基於彙總鏈的Rollups來說並不是最優的,達成更短的槽時間似乎更加可取。
話雖如此,較短的區塊時間可能會導致驗證者集合的集中化。由於物理限制,地理位置較遠的驗證者面臨較長的通信時間,而4秒的槽時間可能會在某些情況下使通信變得不可行。
以太坊主網的區塊傳播時間統計數據提供了對4秒區塊時間可行性的洞察。以下圖表展示了區塊傳播時間的分佈。
(CDF of message arrival times | 來源:Gossipsub消息傳播延遲)
大約98%的區塊在4秒內傳播完成,而約2%的區塊需要更長時間。根據這些數據,4秒的區塊時間看起來是可行的。然而,區塊時間不僅僅包括通信——它還包括執行和投票。考慮到這些因素,4秒的區塊時間中只有大約2秒用於通信。在這種情況下,達成4秒的區塊時間是具有挑戰性的。
為了解決這個問題,必須減少傳輸數據的大小,最大化客戶端P2P組件的性能,或者提高物理通信效率。
在此期間,預確認可以改善用戶體驗。預確認允許區塊生產實體向用戶承諾,“您的交易將包含在下一個區塊中”,從而比槽時間更快地向用戶交付結果。
預確認的優點是L1驗證者可以在不需要分叉或客戶端修改的情況下使用它。例如,Commit-Boost是一個允許以太坊驗證者生成並安全傳播預確認的軟件。
Commit-Boost與MEV-Boost類似,是一個可選的驗證者側車,使驗證者能夠安全地生成和傳播“承諾”。根據使用場景,這些承諾可以有多種形式:
通過使用第三種類型的預確認架構,即使區塊時間較長,用戶的感知延遲也可以顯著降低。當驗證者接收到用戶的交易時,他們可以執行該交易並將結果返回給用戶。由於此結果基於驗證者的承諾,而不是區塊創建,因此用戶可以在毫秒級別內收到該結果。
然而,Commit-Boost的效果取決於驗證者的採用。如果只有少數驗證者使用它,對用戶體驗的影響將有限。儘管如此,Commit-Boost已經獲得了以太坊社區的強烈支持,並有可能成為像MEV-Boost一樣廣泛使用的中間件。它得到了知名驗證者運營商的支持,如Rocket Pool、Renzo、SSV、Luganodes、Nethermind、Puffer、A41和Figment。此外,它還獲得了來自EF、Lido和Eigenlayer的資助,並得到了區塊構建者Titan的強力支持。
然而,正如前面提到的,預確認更可能作為像MEV-Boost一樣的鏈下輔助工具使用,而不是直接集成到協議中。
Beam Chain在更快區塊時間中的作用
正如Justin Drake在演講中所討論的,Beam Chain的目標是減少區塊時間。因此,研究和實施可能會集中在將區塊時間減少到4秒,而不犧牲去中心化。這個問題可能會通過以太坊的完全snark化來解決,後面將對此進行進一步解釋。
Justin在演講中表示,Beam Chain的目標是利用ZK技術對共識客戶端進行snark化。這意味著什麼?如何實現?為什麼它是必要的?
目前,以太坊信標鏈通過要求驗證者“重新執行”每個區塊來驗證最終狀態根的正確性。這一重新執行過程帶來了效率問題,並且提高了驗證者的硬件要求,成為降低准入門檻的障礙。
Beam Chain的目標是用ZK技術的“驗證”來取代這一重新執行過程,從而大幅降低驗證者的硬件需求,使任何人都能在任何地方運行以太坊節點。為此,Beam Chain和以太坊將利用ZK SNARKs。
ZK SNARKs具備以下兩個關鍵特性:
ZK的應用方式是將以太坊共識所需的計算和數據轉換為ZK證明,證明計算邏輯已被正確執行。這意味著驗證者可以通過驗證ZK證明來達成共識,而無需重新執行整個區塊或存儲更新後的狀態。驗證ZK證明比重新執行整個區塊在數據規模和可擴展性方面更高效。
最終,這將極大降低以太坊驗證者的硬件要求。例如,Vitalik在《The Verge》文章中表示,其目標是讓驗證者甚至能夠在智能手錶等資源受限的環境中運行。
第一步是對狀態轉換函數進行snark化。狀態轉換函數通常採用以下形式:
f(S,B)=S’
其中:
所有區塊鏈都基於確定性的狀態轉換函數,以太坊也不例外。以太坊在共識層和執行層分別擁有不同的狀態轉換函數。如果這兩個都實現snark化,就可以使用ZK來驗證整個以太坊系統,從而實現完全輕量級的驗證者。
在Beam Chain中,目標是對共識層的狀態轉換函數進行snark化。目前,以太坊共識層的狀態轉換函數在每個slot執行,並執行以下操作:
該函數在驗證者從其他驗證者處接收區塊時都會執行。如果這個函數被snark化,驗證者就不再需要直接執行狀態轉換函數,而是隻需驗證一個證明,證明該函數已被正確執行。
那麼,誰來生成ZK證明?通常可能會認為區塊提議者應負責生成ZK證明,但並非所有驗證者都有能力生成ZK證明。Beam Chain的目標是在標準筆記本上3秒內生成一個ZK證明。但即便這一目標達成,運行在智能手錶或智能手機等設備上的驗證者可能仍然無法生成ZK證明。
在這種情況下,網絡可以依賴利他主義。共識層狀態轉換每個區塊只需要一個ZK證明,並且該證明並不一定必須由區塊提議者生成。換句話說,只要網絡中至少有一個實體為每個區塊生成ZK證明,就能確保Beam Chain的區塊被正確生成。
這一變更本身可能不會顯著提升驗證者的性能。共識層的狀態轉換函數涉及的操作相對較輕量,相比之下,執行層的狀態轉換函數更復雜。然而,主要瓶頸並不在於執行狀態轉換函數所需的資源,而是在於網絡帶寬。當驗證者交換的數據(區塊)變大時,他們在分配的時間內達成共識會變得更加困難。這也是以太坊在過去三年內一直保持 30M Gas 上限的原因之一。
如果該變更與執行層的 SNARK 化同步實施,驗證者將只需要交換遠小於完整區塊的數據。這是因為 SNARK 證明相比原始數據要緊湊得多。完全 SNARK 化後,以太坊的驗證者將交換更少的數據,從而降低對網絡帶寬的需求,相比當前系統更加高效。
總的來說,以太坊的完全 SNARK 化對驗證者有以下優勢:
因此,以太坊生態系統可能發生巨大變化,例如:
這將使驗證者的參與更加便捷,並提升去中心化程度
僅對 Beam Chain 的狀態轉換函數進行 SNARK 化是否足以作為共識層?
Beam Chain 還計劃 SNARK 化的另一個領域是簽名生成。目前,以太坊的共識層使用驗證者簽名作為證明數據,以最終確定區塊並在分叉情況下確定正確的鏈。
以太坊目前採用 BLS 簽名來實現這一目標。正如前文所述,BLS 簽名具有聚合特性,可以將多個簽名合併為一個,從而顯著提升以太坊共識流程的效率。然而,這一簽名機制存在一個根本性問題:它對量子計算機存在安全隱患。
以太坊信標鏈所使用的 BLS 簽名基於橢圓曲線。橢圓曲線簽名機制的安全性依賴於離散對數問題(DLP),而量子計算機的強大計算能力可能會攻破這一難題,使基於橢圓曲線的簽名天然地受到量子計算機的威脅。
量子計算技術正在快速發展,例如谷歌近期在量子計算芯片領域的突破。谷歌聲稱,其 Willow 量子芯片能夠在 5 分鐘內完成超級計算機需要 10^25 年才能完成的計算。雖然目前這一進展尚未從根本上威脅到橢圓曲線的安全性,但如果量子計算按照這一速度持續發展,區塊鏈系統可能會在幾年內面臨風險。
(向後量子密碼學標準過渡 | 來源:NIST IR 8547)
美國國家標準與技術研究院(NIST)已經啟動了抗量子簽名算法的標準化工作,以應對量子計算機可能導致的現有系統崩潰問題。
以太坊同樣重視這一問題。在 Beam Chain 中,目標是實現抗量子簽名算法。
抗量子簽名有多種類型,而 Justin 在 Beam Chain 的演講中特別提到了基於哈希的簽名算法。與橢圓曲線不同,哈希簽名不依賴於數學難題,因此量子計算機更難攻破它們。因此,哈希簽名被認為是抗量子的,Beam Chain 計劃採用這一類簽名。
主要挑戰在於哈希簽名缺少 BLS 簽名的聚合特性。以太坊在共識過程中依賴簽名聚合來提高效率。如果無法進行聚合,以太坊將難以支持大規模的驗證者集。
ZK 可以解決這一問題。其核心在於利用“證明聚合”(Proof Aggregation)技術,該技術能夠將多個 ZK 證明合併為單個證明。其機制如下:
(證明聚合示意圖 | 來源:Figment Capital)
這種方法使以太坊能夠在共識層實現與 BLS 簽名聚合相同的效率,同時具備抗量子能力。
總的來說,結合 ZK 的 Beam Chain 將帶來以下優勢:
Beam Chain 中 ZK 的底層證明系統將採用 zkVM。基於 RISC-V 的 zkVM 允許對任何編程語言的程序生成證明,提供更高的靈活性。
(Beam 狀態轉換將被編譯為 RISC-V 並在 zkVM 中證明 | 來源:Beam Chain 公告,作者 Justin Drake)
這與以太坊現有的客戶端生態系統高度契合,以太坊的客戶端是由多種語言開發的,這種多樣性有助於增強系統的容錯能力。在未來的 Beam Chain 中,不同的客戶端可以使用多種編程語言編寫狀態轉換函數,將其編譯為 RISC-V,並在任何基於 RISC-V 的 zkVM 中進行證明。因此,zkVM 是 Beam Chain 的自然選擇。
結論
如果 Beam Chain 成功實施,以太坊可能具備以下特性:
目前,Beam Chain 尚未被正式納入以太坊的路線圖,實現這一方案需要長期的研究、開發和測試。然而,如果以太坊最終推進 Beam Chain 分叉,其帶來的用戶體驗提升可能是革命性的。
至此,我們探討了通過 Beam Chain 視角,以太坊在未來五年可能的演變方向。在下一篇文章中,我們將從用戶體驗(UX)和抗審查性兩個角度探討 2025 年的以太坊可能呈現的樣貌。
附錄:Beam Chain 常見問題解答
(問):Justin Drake 的提案是私下討論的,這是否與以太坊“開放性”的核心價值觀相沖突?
(答):不會。Beam Chain 提案只是建議一次性實施以太坊現有路線圖中的某些部分。它是否會被採納仍需社區討論。上述所有內容已經有相關的 EIP 或在 Ethresear.ch 上的討論帖,因此 Beam Chain 並不是一個提出全新或未公開方向的提案。此外,以太坊路線圖的討論是公開進行的,每兩週一次的 All Core Devs Call 會議對所有人開放,任何人都可以參與。如果有人對路線圖持不同意見,或者有新的想法,可以在這些會議上表達,或者通過 EIP 提案或 Ethresear.ch 文章的形式提交新建議。
總而言之,Justin 的 Beam Chain 提案並不是要改變以太坊的路線圖,而是將路線圖的部分內容歸類到一個統一的名稱或 Meme 之下。
(問):實現 Beam Chain 需要 5 年的時間,這是否太久了?
(答):5 年可能看起來很長,但需要考慮以下兩個因素:
(共識客戶端多樣性 | 來源:以太坊客戶端多樣性)
以太坊的共識機制遵循基於 BFT 的協議,如果超過三分之一的驗證者行為與其他驗證者不同,區塊將無法最終確定。如果以太坊僅依賴一兩個客戶端,那麼這些客戶端中的任何一個 bug 都可能影響區塊生產。因此,以太坊一直致力於實現多客戶端架構,並使用多種編程語言進行開發。這種多樣性在以太坊當前的客戶端生態系統中表現得十分明顯。
如圖所示,以太坊的共識層目前至少運行著四個客戶端。為了將 Beacon Chain 替換為 Beam Chain,所有四個客戶端團隊必須進行合作開發。考慮到這一點以及以太坊龐大的驗證者集合,Beam Chain 的開發過程必須優先考慮穩定性,無法在幾個月或 1-2 年的時間框架內加速完成。
2024年,以太坊周圍發生了許多重要事件。今年初,以太坊通過Dencun升級引入了blob。這次升級大大降低了現有彙總鏈的交易費用,為彙總鏈生態系統的快速擴展奠定了基礎。
(Dencun升級後,OP鏈的費用降低 | 來源:Optimism X)
然而,隨著生態系統中的dapp遷移到高度可擴展的彙總鏈和替代的Layer 1 (L1) 網絡,Ethereum本身的用戶活躍度開始下降。此外,隨著彙總鏈不再向以太坊提交高額費用,社區開始出現擔憂。
2024年也是以太坊面臨挑戰的一年,像Solana和Sui等以擴展性為重點的L1網絡展示了強大的實力。這些網絡產生的TPS(每秒交易量)使得彙總鏈上的活動顯得相對較小。
在這種背景下,出現了類似“以太坊的彙總鏈路線圖有缺陷”或“以太坊的發展太慢,難以成功”的批評聲音。那麼,以太坊真的走在正確的道路上嗎?以太坊在2025年甚至2030年將會是什麼樣子?
本系列文章將從技術細節分析以太坊路線圖中的部分內容,探討其未來發展。第一部分將聚焦於Beam Chain。
如果要選出今年以太坊社區中討論最多的話題,那可能就是以太坊研究員Justin Drake在Devcon上公佈的Beam Chain提案。這一公告引起了廣泛關注,也伴隨著大量的討論。接下來,讓我們分析一下這個提案的意義。
Beam Chain提案的核心思想是徹底重構以太坊的共識層。Justin Drake提出了以下三個理由,說明為什麼當前的共識層——Beacon Chain——需要重新設計:
目前,以太坊的共識層路線圖包含了以下幾個要素:
在這些領域中,標記為粗體的四個方面代表了超越單純修改Beacon Chain的根本性變化。例如,鏈的SNARK化指的是將共識層的狀態處理轉換為ZK技術,這需要從哈希函數到Merkle化/序列化狀態方法的根本性變更。
此外,更快的槽時間和更快的最終性是為了在保持安全性的同時實現性能提升的新設計——這是最初設計中未優先考慮的因素。實現這些變更需要對共識層進行廣泛的修改。
Beam Chain提議通過一次硬分叉來實現這些變化。總結如下:
接下來,讓我們探討如何實現這些變化以及它們所帶來的技術影響。
目前,以太坊的槽時間為12秒,且一個與槽連接的區塊需要2-3個時期(大約15分鐘)才能達到最終性。提高這些時間將對以太坊用戶、應用程序以及在以太坊上構建的彙總產生積極影響。
這一主題在以太坊研究人員中被稱為SSF(單槽最終性),旨在將以太坊區塊達到最終性的時間從大約15分鐘減少到12秒內,從而為用戶提供更快的確認。要理解單槽最終性,我們必須先理解以太坊當前的共識算法——Gasper。
Gasper的一個關鍵設計原則是確保在設定時間後,槽中提議的區塊能夠獲得一定程度的經濟安全,同時最大程度地減少每個驗證者的通信負擔。為此,以太坊將所有驗證者分成多個委員會,分佈在32個槽中。每個槽最多可包含64個委員會,目標是將每個委員會組成128個驗證者(如果活躍驗證者的總數超過該數量,委員會人數可增加)。
每個委員會中的驗證者獨立驗證區塊並進行投票,使用BLS簽名。BLS簽名機制允許將多個簽名聚合為一個,這意味著委員會中的指定節點收集這些簽名並將它們編譯成一個緊湊的數據包。通過廣播這個聚合的簽名,下一個區塊提議者可以以最小的數據確認該區塊已被正確驗證。
(BLS簽名聚合:以太坊驗證者之間的協作 | 來源:eth2book)
總之,以太坊的Gasper通過以下機制實現了可擴展性和經濟安全:
然而,由於Gasper是基於時期(epoch)工作的,並且必須驗證各時期之間的“連接性”,所以一個槽要達到最終性之前,必須驗證連接性。在Gasper中,至少需要兩個時期(64個槽)才能實現與以太坊完全經濟安全等效的最終性。
這導致瞭如下的圖示表示:
(以太坊的經濟最終性 | 來源:Orbit SSF)
這帶來了各種挑戰,並降低了用戶體驗。例如:
例如,在2024年3月,由於以太坊鏈重組的處理不當,Polygon zkEVM經歷了超過兩天的鏈停頓。
減少最終性的時間並非不可能,像Tendermint等共識算法已經在多個協議中得到了應用。然而,採用Tendermint機制的挑戰在於節點之間頻繁的P2P通信,這帶來了可擴展性的限制。
在Tendermint中,如果節點數量為N,它的消息複雜度為O(N^3)。這意味著隨著節點數量的增加,它們之間的通信頻率呈指數增長,限制了可擴展性。因此,像以太坊這樣的協議,擁有大量驗證者,不能直接採用Tendermint機制。
需要進一步的工作來解決這些問題,以便將Tendermint風格的共識應用於以太坊。
Orbit SSF旨在修改Gasper的委員會機制,以減少槽的最終性時間,同時保持較高的經濟安全性。
該提案建議將32個槽的時期大小減少為單個槽(約12秒)。然而,如前所述,這將增加驗證者通信的資源消耗,可能對以太坊的去中心化產生負面影響。
為了解決這個問題,Orbit SSF提出了以下方案:
通過增加每個以太坊驗證者的最大質押金額,可以在驗證者數量較少的情況下實現相同級別的經濟安全性。
Orbit SSF建議引入一個單一的“超級委員會”,而不是每個槽都有多個委員會。擁有較高質押金額的驗證者將幾乎總是按比例被包括在委員會中,從而確保即使委員會較少,經濟安全性水平仍然得以保持。
下一次以太坊升級Pectra包括EIP-7251,提議將驗證者的最大質押金額(MaxEB)從32 ETH提高到2048 ETH。雖然這一提案對以太坊節點基礎設施運營商具有吸引力,但它也是Orbit SSF的前提條件。
然而,如果質押金額較大的驗證者幾乎總是被包括在委員會中,較小的單獨驗證者可能會遭遇獎勵減少,從而對以太坊的去中心化產生不利影響。為此,Orbit SSF調整了獎勵機制,使得年化回報率(APR)隨著質押金額的增加呈線性增長,同時確保較大驗證者更頻繁地被納入委員會。
(Orbit SSF中驗證者被納入委員會的獎勵與概率 | 來源:Orbit SSF)
此外,Orbit SSF轉向了“基於委員會的最終性”。在Gasper中,委員會只有在兩個或更多時期過去後才能對最終性作出貢獻,而Orbit SSF允許每個槽分配的委員會實時貢獻最終性。其目標是使委員會成為最終性的更積極貢獻者,並更快地實現可擴展性。
(Orbit SSF中的最終性使用“限額與緩慢旋轉”機制 | 來源:Orbit SSF)
關鍵在於委員會成員的組成。Orbit SSF提出了一種“緩慢旋轉”機制,其中大額質押的驗證者在委員會中幾乎是固定的,而小額驗證者則在委員會中輪換進出。這使得代表經濟安全閾值的F值可以設置得非常高,同時保持驗證者之間的最小通信開銷,並確保最終性時間保持較低。
例如,設定n = 3並且設定一個非常大的F值,可以使以太坊在大約三個槽內實現最終性,從而實現Justin Drake提出的3槽FFG(快速最終性共識)。
然而,將F值提升到以太坊整個驗證者集的級別並不容易。這可能會降低進行51%攻擊的成本。因此,Orbit SSF面臨的主要挑戰是如何在確保以太坊安全性依然強大的同時,儘量不犧牲去中心化,技術性地提高F值。
短槽時間(4秒槽)
即使實現了SSF(或3槽最終性),以太坊用戶仍然會經歷至少12秒的交易確認時間。這給用戶帶來了兩個主要缺點:
此外,12秒的區塊時間對於彙總鏈尤其不利,特別是基於彙總鏈的Rollups。例如,Taiko通過將每個L2區塊發佈到L1來實現基於彙總鏈的Rollup。因此,Taiko的區塊時間可能增加到至少12秒,有時甚至超過24秒。
為了解決這個問題,提出了兩種解決方案:
a. 將以太坊的區塊時間減少到4秒或8秒
b. 使用預確認
降低以太坊的區塊時間是一個正在積極討論的話題。它已經被正式化為EIP-7782,提議將槽時間從12秒減少到8秒,從而將以太坊的可擴展性提高33%。然而,8秒的槽時間可能對用戶體驗或基於彙總鏈的Rollups來說並不是最優的,達成更短的槽時間似乎更加可取。
話雖如此,較短的區塊時間可能會導致驗證者集合的集中化。由於物理限制,地理位置較遠的驗證者面臨較長的通信時間,而4秒的槽時間可能會在某些情況下使通信變得不可行。
以太坊主網的區塊傳播時間統計數據提供了對4秒區塊時間可行性的洞察。以下圖表展示了區塊傳播時間的分佈。
(CDF of message arrival times | 來源:Gossipsub消息傳播延遲)
大約98%的區塊在4秒內傳播完成,而約2%的區塊需要更長時間。根據這些數據,4秒的區塊時間看起來是可行的。然而,區塊時間不僅僅包括通信——它還包括執行和投票。考慮到這些因素,4秒的區塊時間中只有大約2秒用於通信。在這種情況下,達成4秒的區塊時間是具有挑戰性的。
為了解決這個問題,必須減少傳輸數據的大小,最大化客戶端P2P組件的性能,或者提高物理通信效率。
在此期間,預確認可以改善用戶體驗。預確認允許區塊生產實體向用戶承諾,“您的交易將包含在下一個區塊中”,從而比槽時間更快地向用戶交付結果。
預確認的優點是L1驗證者可以在不需要分叉或客戶端修改的情況下使用它。例如,Commit-Boost是一個允許以太坊驗證者生成並安全傳播預確認的軟件。
Commit-Boost與MEV-Boost類似,是一個可選的驗證者側車,使驗證者能夠安全地生成和傳播“承諾”。根據使用場景,這些承諾可以有多種形式:
通過使用第三種類型的預確認架構,即使區塊時間較長,用戶的感知延遲也可以顯著降低。當驗證者接收到用戶的交易時,他們可以執行該交易並將結果返回給用戶。由於此結果基於驗證者的承諾,而不是區塊創建,因此用戶可以在毫秒級別內收到該結果。
然而,Commit-Boost的效果取決於驗證者的採用。如果只有少數驗證者使用它,對用戶體驗的影響將有限。儘管如此,Commit-Boost已經獲得了以太坊社區的強烈支持,並有可能成為像MEV-Boost一樣廣泛使用的中間件。它得到了知名驗證者運營商的支持,如Rocket Pool、Renzo、SSV、Luganodes、Nethermind、Puffer、A41和Figment。此外,它還獲得了來自EF、Lido和Eigenlayer的資助,並得到了區塊構建者Titan的強力支持。
然而,正如前面提到的,預確認更可能作為像MEV-Boost一樣的鏈下輔助工具使用,而不是直接集成到協議中。
Beam Chain在更快區塊時間中的作用
正如Justin Drake在演講中所討論的,Beam Chain的目標是減少區塊時間。因此,研究和實施可能會集中在將區塊時間減少到4秒,而不犧牲去中心化。這個問題可能會通過以太坊的完全snark化來解決,後面將對此進行進一步解釋。
Justin在演講中表示,Beam Chain的目標是利用ZK技術對共識客戶端進行snark化。這意味著什麼?如何實現?為什麼它是必要的?
目前,以太坊信標鏈通過要求驗證者“重新執行”每個區塊來驗證最終狀態根的正確性。這一重新執行過程帶來了效率問題,並且提高了驗證者的硬件要求,成為降低准入門檻的障礙。
Beam Chain的目標是用ZK技術的“驗證”來取代這一重新執行過程,從而大幅降低驗證者的硬件需求,使任何人都能在任何地方運行以太坊節點。為此,Beam Chain和以太坊將利用ZK SNARKs。
ZK SNARKs具備以下兩個關鍵特性:
ZK的應用方式是將以太坊共識所需的計算和數據轉換為ZK證明,證明計算邏輯已被正確執行。這意味著驗證者可以通過驗證ZK證明來達成共識,而無需重新執行整個區塊或存儲更新後的狀態。驗證ZK證明比重新執行整個區塊在數據規模和可擴展性方面更高效。
最終,這將極大降低以太坊驗證者的硬件要求。例如,Vitalik在《The Verge》文章中表示,其目標是讓驗證者甚至能夠在智能手錶等資源受限的環境中運行。
第一步是對狀態轉換函數進行snark化。狀態轉換函數通常採用以下形式:
f(S,B)=S’
其中:
所有區塊鏈都基於確定性的狀態轉換函數,以太坊也不例外。以太坊在共識層和執行層分別擁有不同的狀態轉換函數。如果這兩個都實現snark化,就可以使用ZK來驗證整個以太坊系統,從而實現完全輕量級的驗證者。
在Beam Chain中,目標是對共識層的狀態轉換函數進行snark化。目前,以太坊共識層的狀態轉換函數在每個slot執行,並執行以下操作:
該函數在驗證者從其他驗證者處接收區塊時都會執行。如果這個函數被snark化,驗證者就不再需要直接執行狀態轉換函數,而是隻需驗證一個證明,證明該函數已被正確執行。
那麼,誰來生成ZK證明?通常可能會認為區塊提議者應負責生成ZK證明,但並非所有驗證者都有能力生成ZK證明。Beam Chain的目標是在標準筆記本上3秒內生成一個ZK證明。但即便這一目標達成,運行在智能手錶或智能手機等設備上的驗證者可能仍然無法生成ZK證明。
在這種情況下,網絡可以依賴利他主義。共識層狀態轉換每個區塊只需要一個ZK證明,並且該證明並不一定必須由區塊提議者生成。換句話說,只要網絡中至少有一個實體為每個區塊生成ZK證明,就能確保Beam Chain的區塊被正確生成。
這一變更本身可能不會顯著提升驗證者的性能。共識層的狀態轉換函數涉及的操作相對較輕量,相比之下,執行層的狀態轉換函數更復雜。然而,主要瓶頸並不在於執行狀態轉換函數所需的資源,而是在於網絡帶寬。當驗證者交換的數據(區塊)變大時,他們在分配的時間內達成共識會變得更加困難。這也是以太坊在過去三年內一直保持 30M Gas 上限的原因之一。
如果該變更與執行層的 SNARK 化同步實施,驗證者將只需要交換遠小於完整區塊的數據。這是因為 SNARK 證明相比原始數據要緊湊得多。完全 SNARK 化後,以太坊的驗證者將交換更少的數據,從而降低對網絡帶寬的需求,相比當前系統更加高效。
總的來說,以太坊的完全 SNARK 化對驗證者有以下優勢:
因此,以太坊生態系統可能發生巨大變化,例如:
這將使驗證者的參與更加便捷,並提升去中心化程度
僅對 Beam Chain 的狀態轉換函數進行 SNARK 化是否足以作為共識層?
Beam Chain 還計劃 SNARK 化的另一個領域是簽名生成。目前,以太坊的共識層使用驗證者簽名作為證明數據,以最終確定區塊並在分叉情況下確定正確的鏈。
以太坊目前採用 BLS 簽名來實現這一目標。正如前文所述,BLS 簽名具有聚合特性,可以將多個簽名合併為一個,從而顯著提升以太坊共識流程的效率。然而,這一簽名機制存在一個根本性問題:它對量子計算機存在安全隱患。
以太坊信標鏈所使用的 BLS 簽名基於橢圓曲線。橢圓曲線簽名機制的安全性依賴於離散對數問題(DLP),而量子計算機的強大計算能力可能會攻破這一難題,使基於橢圓曲線的簽名天然地受到量子計算機的威脅。
量子計算技術正在快速發展,例如谷歌近期在量子計算芯片領域的突破。谷歌聲稱,其 Willow 量子芯片能夠在 5 分鐘內完成超級計算機需要 10^25 年才能完成的計算。雖然目前這一進展尚未從根本上威脅到橢圓曲線的安全性,但如果量子計算按照這一速度持續發展,區塊鏈系統可能會在幾年內面臨風險。
(向後量子密碼學標準過渡 | 來源:NIST IR 8547)
美國國家標準與技術研究院(NIST)已經啟動了抗量子簽名算法的標準化工作,以應對量子計算機可能導致的現有系統崩潰問題。
以太坊同樣重視這一問題。在 Beam Chain 中,目標是實現抗量子簽名算法。
抗量子簽名有多種類型,而 Justin 在 Beam Chain 的演講中特別提到了基於哈希的簽名算法。與橢圓曲線不同,哈希簽名不依賴於數學難題,因此量子計算機更難攻破它們。因此,哈希簽名被認為是抗量子的,Beam Chain 計劃採用這一類簽名。
主要挑戰在於哈希簽名缺少 BLS 簽名的聚合特性。以太坊在共識過程中依賴簽名聚合來提高效率。如果無法進行聚合,以太坊將難以支持大規模的驗證者集。
ZK 可以解決這一問題。其核心在於利用“證明聚合”(Proof Aggregation)技術,該技術能夠將多個 ZK 證明合併為單個證明。其機制如下:
(證明聚合示意圖 | 來源:Figment Capital)
這種方法使以太坊能夠在共識層實現與 BLS 簽名聚合相同的效率,同時具備抗量子能力。
總的來說,結合 ZK 的 Beam Chain 將帶來以下優勢:
Beam Chain 中 ZK 的底層證明系統將採用 zkVM。基於 RISC-V 的 zkVM 允許對任何編程語言的程序生成證明,提供更高的靈活性。
(Beam 狀態轉換將被編譯為 RISC-V 並在 zkVM 中證明 | 來源:Beam Chain 公告,作者 Justin Drake)
這與以太坊現有的客戶端生態系統高度契合,以太坊的客戶端是由多種語言開發的,這種多樣性有助於增強系統的容錯能力。在未來的 Beam Chain 中,不同的客戶端可以使用多種編程語言編寫狀態轉換函數,將其編譯為 RISC-V,並在任何基於 RISC-V 的 zkVM 中進行證明。因此,zkVM 是 Beam Chain 的自然選擇。
結論
如果 Beam Chain 成功實施,以太坊可能具備以下特性:
目前,Beam Chain 尚未被正式納入以太坊的路線圖,實現這一方案需要長期的研究、開發和測試。然而,如果以太坊最終推進 Beam Chain 分叉,其帶來的用戶體驗提升可能是革命性的。
至此,我們探討了通過 Beam Chain 視角,以太坊在未來五年可能的演變方向。在下一篇文章中,我們將從用戶體驗(UX)和抗審查性兩個角度探討 2025 年的以太坊可能呈現的樣貌。
附錄:Beam Chain 常見問題解答
(問):Justin Drake 的提案是私下討論的,這是否與以太坊“開放性”的核心價值觀相沖突?
(答):不會。Beam Chain 提案只是建議一次性實施以太坊現有路線圖中的某些部分。它是否會被採納仍需社區討論。上述所有內容已經有相關的 EIP 或在 Ethresear.ch 上的討論帖,因此 Beam Chain 並不是一個提出全新或未公開方向的提案。此外,以太坊路線圖的討論是公開進行的,每兩週一次的 All Core Devs Call 會議對所有人開放,任何人都可以參與。如果有人對路線圖持不同意見,或者有新的想法,可以在這些會議上表達,或者通過 EIP 提案或 Ethresear.ch 文章的形式提交新建議。
總而言之,Justin 的 Beam Chain 提案並不是要改變以太坊的路線圖,而是將路線圖的部分內容歸類到一個統一的名稱或 Meme 之下。
(問):實現 Beam Chain 需要 5 年的時間,這是否太久了?
(答):5 年可能看起來很長,但需要考慮以下兩個因素:
(共識客戶端多樣性 | 來源:以太坊客戶端多樣性)
以太坊的共識機制遵循基於 BFT 的協議,如果超過三分之一的驗證者行為與其他驗證者不同,區塊將無法最終確定。如果以太坊僅依賴一兩個客戶端,那麼這些客戶端中的任何一個 bug 都可能影響區塊生產。因此,以太坊一直致力於實現多客戶端架構,並使用多種編程語言進行開發。這種多樣性在以太坊當前的客戶端生態系統中表現得十分明顯。
如圖所示,以太坊的共識層目前至少運行著四個客戶端。為了將 Beacon Chain 替換為 Beam Chain,所有四個客戶端團隊必須進行合作開發。考慮到這一點以及以太坊龐大的驗證者集合,Beam Chain 的開發過程必須優先考慮穩定性,無法在幾個月或 1-2 年的時間框架內加速完成。