共識至上:重新思考ZK 時代的基礎層

作者:krane, lamby (Asula), sylve, lancelot (Hyle) 來源:bedlam research 翻譯:善歐巴,金色財經

介紹

在過去一周,我們看到了許多關於以太坊共識層路線圖的提案。最值得注意的是,Justin Drake在Devcon 2024 的演講中闡述了他對以太坊ZK 時代的願景。它被稱為beam 鍊或beam 分叉,為以太坊批量實現了許多重大升級,包括縮短slot 時間、加快最終確定性和以太坊共識的「snarkification」。人們對該提案的雄心壯志和這些變化的時間表反應不一。然而,考慮到以太坊的經濟規模,我們也應該承認,謹慎對待以太坊有多重要。儘管承認這一點,但考慮一下以rollup 為中心的生態系統的基礎層的最大雄心勃勃的未來是什麼樣的還是很有用的。本著「不為過去的所累,只為未來」的精神,本文介紹了一種利用ZK 和共識研究進展的未來。

我們將首先從基本原理的角度研究基礎層,然後探索共識研究中的核心概念。最後,我們將深入探討如何將這項研究應用於新一代基礎層設計,尤其是在ZK 機制下。

基礎層

如今,大多數Rollup 都採用中心化排序器來對交易進行排序和執行。排序器產生區塊後,也負責產生執行證明以供其他人驗證。為了使執行可驗證,第三方需要Rollup 的狀態資料以及執行證明。狀態資料和證明通常發佈到資料可用性(DA) 層,狀態轉換由驗證層(通常被誤稱為結算層)驗證。

在早期,以太坊制定了以rollup 為中心的路線圖,並成為最初的基礎層,同時執行DA 和驗證。以太坊的獨特狀態(即在以太坊上發行的大量有價值資產)使其成為rollup 的天然驗證或結算層。透過使用以太坊作為基礎,rollup 不僅可以繼承其安全性,還可以繼承其流動性。無論如何,當時市場上沒有專門的結算或DA 選項。

即使在當今擁有許多專門層的世界裡,擁有最大PoS 驗證器集和blob 支援的以太坊作為DA 層也是一個非常安全的選擇。此外,以太坊上的資產家族的數量和市值一直在持續增長。由於「結算」是特定於資產的,因此對於允許強制退出的rollup,必須在發行資產的鏈上進行驗證。如果rollup 想要允許強制退出以太坊發行的資產,它必須使用以太坊進行驗證。

今天的以太坊看起來是這樣的:

然而,專門的DA 層和結算層也確實在與以太坊直接競爭執行這些操作。例如,Celestia和EigenDA已經提供了明顯更高的DA 吞吐量(儘管安全模型不同)。同樣,Initia正在擴展驗證或結算中心的概念,透過提供預言機、統一的錢包體驗和內建互通性,為生態系統內的用戶提供更無縫的體驗(這也成為過去幾個月以太坊路線圖上的一個重要點)。

所有這些系統都採用與以太坊相同的形式,基礎層被分解為數據可用性和驗證,每個層都作為各自操作的專門樞紐:

nGxJlhq3a0l5VW1ayYqW5Mkga9e60pbJ4rN24Z6e.png

新設計的關鍵見解在於DA 層和驗證層必須進行的最佳化分離。區塊鏈的最初作用是在兩個互不信任的交易對手之間實現可信任第三方的去中心化。在以rollup 為中心的系統中,基礎層的作用是充當rollup 之間去中心化的可信任第三方,以實現它們之間的互通性。一旦基礎層驗證了rollup 的狀態,所有其他rollup 都可以隱含地信任基礎層。以rollup 為中心的設計的另一個核心屬性是,它允許應用程式在平均情況下(透過某種程度上中心化的排序器)為用戶提供快速且廉價的交易確認訪問權限,而不會在最壞情況下(透過強制退出基礎層)損害最終的審查阻力。

鑑於我們了解數據可用性和驗證之間的分離,以及基礎層在提供最終的審查阻力、Rollup之間的互通性和資產發行方面的核心功能,我們可以推斷如何建立更好的基礎層。目前,Rollup每隔幾個小時將狀態資料發佈到基礎層,這意味著Rollup排序器提供的預先確認僅在此時間範圍內在基礎上完成。數據吞吐量高於以太坊L1 的基礎層可以讓Rollup更頻繁地發布數據,減少從Rollup預確認到基礎層確認的時間,從而提高Rollup的安全性。同樣,以更高的速度進行驗證可以實現Rollup之間的更快互通性,從而無需流動性橋樑和做市商。我們可以利用對基礎層必須處理的工作負載形狀的具體見解來建構具有更高吞吐量和更快Rollup間通訊的基礎層。

整合區塊鏈具有「熱狀態」區域,例如經常受到攻擊的DEX 池。這使得所有參與者的交易的相對排序變得非常重要。另一方面,rollup 通常在很大程度上獨立的狀態空間上運行,大多數交易僅影響其自己的rollup 內的狀態。雖然跨rollup 互動確實會發生(例如,當使用者在rollup 之間轉移資產或rollup 相互組合時),但這些互動是明確的、定義明確的並且是提前知道的。由於每個rollup 中的絕大多數交易都在脫節的狀態下運行,並且跨rollup 交易是透過特定的互通性機制處理的,因此在基礎層上對所有rollup 資料進行嚴格的全排序的必要性較小。相反,只有在rollup 明確互動的情況下才能選擇性地執行排序:

HaaEfmlNoUbNl3zZ5yF8KaFQI65V7FglMvMQh6co.png

兩個Rollup向基礎層發布狀態差異列表和其狀態轉換的ZK 證明

注意:我們假設Rollup 在此處發布狀態差異清單以及其Rollup狀態轉換的ZK 證明。

這裡的核心見解圍繞著交易之間的因果關係,並支撐了圍繞有向無環圖(DAG) 共識模型所做的大量工作。一般來說,DAG 演算法試圖明確指出依賴關係,以便計算/處理可以並行。借鑒這些想法,我們預計rollup 基礎層將會出現,其中共識在很大程度上被放寬,以支援更高的吞吐量和更低的延遲。

Rollup 狀態的自然劃分錶明,強制所有Rollup 交易遵循總順序可能是一種不必要的開銷。 delta和Hylé等系統利用了這種洞察力,允許Rollup 獨立進行,只需要協調跨域資產轉移。然而,這並不是完全消除共識;相反,這是對真正需要共識的地方的改進。創新之處在於認識到這種排序可以局限於實際需要的地方,而不是在所有交易中全局強制執行。

這種分區的最大影響是創建一個優雅的Rollup 解決方案,以增加專門執行環境的吞吐量,而不會犧牲與其他的Rollup 可組合性。

因果排序與全排序

在進一步討論之前,讓我們先回顧一下排序。廣義上講,共識是網路中所有節點對有效交易排序的一致意見:

  • 線性區塊鏈必須就交易的全序達成一致,也就是在所有參與節點看來,事件發生的完整線性順序。彼此無關的交易仍會整齊地置於全域順序中。

  • 另一方面,因果排序只是對交易進行排序,即先發生的交易排在依賴其輸出的交易之前。沒有因果關係的交易不需要相互排序。這也稱為偏序。 DAG 只是在一組交易中實現偏序的資料結構。偏序也為DAG 中不相交部分之間的平行交易執行打開了大門。在這裡,沒有所有節點都同意的單一、全域的交易排序。

全序可以建立在DAG 之上。它需要額外的共識機制來就並發事件的順序達成一致。 Narwhal And Tusk協定或Sui 的Mysticeti中較新的演進就是一個例子。

PR8JzkDaaYtfT0IOq8HEoNEC1422fu5hjslMC3KK.png

DAG 內的交易可以獨立於其他不相關的交易來確認。一旦交易獲得大多數驗證者的認可,它就被視為有效。允許單獨確認交易而不是在區塊內確認交易可以大大提高交易吞吐量,因為可以並行提出和確認許多交易。這可以被認為是單一領導者共識的泛化,其中任何驗證者都可以提出新交易(注意:這也可以被視為提出一個包含一個單獨交易的區塊)。

總結一下DAG 中交易驗證的工作原理:

  • 使用者將交易廣播給驗證器節點的子集。

  • 當節點收到交易時,它首先根據圖的本地視圖檢查該交易是否與其目前所知的任何交易相衝突。

  • 如果有衝突,例如試圖花費相同的資金,則交易會被拒絕。

  • 如果沒有衝突,接收節點將與網路中的其他節點進行交互,以就交易的有效性達成某種形式的一致。其中一種方法是子採樣,其中節點透過對其他節點的子集進行採樣並詢問他們是否根據自己的本地觀點認為該交易有​​效來開始幾輪查詢。如果採樣節點的閾值為肯定響應,則查詢輪次被視為成功,並且表示已達到法定人數。重複此採樣過程,直到節點對交易有效性充滿信心。此過程允許節點快速就交易有效性達成機率共識,而無需全局一致。重複採樣有助於確保整個網路達成共識,使得衝突交易極不可能同時被接受。

xRaCG8YyEgH8OdrZNpqo5HU7ZjWRdp1gjRufjlYD.png

對交易驗證進行子採樣

需要重申的是,任何節點在任何給定時間都可以運行此互動式流程來實現法定人數,從而允許有多種路徑來達成共識。從某種意義上說,每個驗證器或副本都在運行自己的區塊鏈,並定期與其他節點同步。這種在協調之前先推進多個不同區塊鏈的想法也在非DAG 設計中進行了探索,例如Autobahn(仍然依賴於數據傳播和排序的分離)。在Autobahn 中,每個驗證器維護自己的交易通道,然後在同步過程中進行協調。雖然本文中沒有明確稱它們為區塊鏈,但我們認為通道與區塊鏈非常接近,同步過程類似於合併多個區塊鏈。

基礎層中的因果關係

現在,既然我們了解因果關係的概念,我們可以試著拼湊出這個概念與基礎層的關係。如前所述,rollup 通常會發布狀態資料或狀態差異列表,這些列表對應於其自身持久性分區狀態上的狀態更新。兩個rollup 發布的資料不會對某些「熱狀態」產生爭用,因為資料彼此完全不相交。這放寬了基礎層對全域排序的需求。此外,要驗證新的rollup 狀態,只需驗證先前發布的rollup 狀態。因此,基礎層可以自由地對這些rollup 交易進行排序,使它們能夠彼此獨立地進行,而不必等待全局排序:

KCHOwUtFFFk5FD2Cr1yC9GT0S3SrOVJ7WSrFs6IU.png

從更廣義上講,rollup 應該能夠自由地將資料和證明發佈到基礎層,而無需擔心費用。當資料在網路中傳播時,基礎層的驗證者將驗證rollup 排序器發布的證明。如果一定數量的驗證者驗證了該證明,則假定交易已確認。這樣的系統將允許rollup 以資料通過基礎層傳播的速度實現確認。從理論上講,這也應該縮短排序器預先確認和基礎層確認之間的時間。

4Nryc8KdJRiE6BPil7NJY2OMlxR2tWBw5a41d8jX.png

上述系統取決於基於ZK 的執行分片,而不是複製執行作為可驗證應用程式的未來。

在兩個rollup 之間移動資料的跨分片交易需要排序,但這也是部分的。例如,將資產X 從rollup A 轉移到rollup B 需要rollup A 的提款交易達到法定人數,然後rollup B 才能包含存款交易。來自基礎層的快速確認將為同一生態系統中rollup 之間的互通性提供可靠的保證,從而為基礎層創造網路效應。快速的互通性加上大量有價值的資產可能足以使基礎層對潛在的rollup 具有吸引力。總而言之,這種專門的設計將允許:

  • Rollup交易的確認時間快速。

  • Rollup之間的快速互通性(無需流動性橋樑或做市商)。

  • 用於Rollup的專用DA 吞吐量。

  • 用於Rollup的專用驗證工具(更多證明系統)。

簡要說明:基礎資產的價值累積

上述討論為rollup 提供了一個廉價、快速且安全的基礎層。然而,目前圍繞以rollup 為中心的路線圖的大部分討論都圍繞著rollup 存在下ETH 和以太坊的價值累積。擁有用戶關係的L2(如Base)能夠對其區塊空間收取溢價,並且只需將其收入的一小部分以DA 費用的形式返還給以太坊。

透過允許rollup 更頻繁地發布狀態資料來實現快速互通性,基礎層可以獲得一些原本會損失給做市商和流動性橋樑的收入。儘管更好的互通性系統為基礎層帶來的價值完全取決於需要相互通訊的rollup 數量。在rollup 不滿足多個應用程式需求的設定中,基礎層的價值累積變得更加清晰。應用程式只需使用基礎層進行互動即可實現可組合性。應用程式可以獲得高吞吐量和對自己空間的控制權,而不會犧牲可組合性。

還有一些論點認為,透過改進基礎層的執行來提高原生代幣的價值累積。這實際上允許基礎層與rollup 競爭,違背了以rollup 為中心的設計原則。包含執行的另一種方法(也可能是我們的首選方法)是建立enshrined rollup,其中基礎層資產透過重新質押來保護rollup 排序器。如果需要,基礎層驗證者集甚至可以充當rollup 的排序器集(儘管驗證者集不必相同)。事實上,在Martin Köppelmann 在Devcon 2024 上的演講之後,enshrined 或原生rollup 的話題開始升溫。對於像以太坊這樣的生態系統,它將允許ETH 賺回一些損失的價值,同時也允許開發人員在rollup 上更自由地進行實驗,因為rollup 的質押可能會比以太坊Layer-1 低得多。

結論

總的來說,我們認為ZK 時代代表著以太坊和整個區塊鏈真正令人興奮且前瞻性的未來。在這篇文章中,我們概述了ZK 與最先進的共識的結合如何代表以rollup 為中心的系統中基礎層的潛在新方向。透過將零知識證明與借鑒自基於DAG 的共識機制的想法相結合,我們可以重新構想真正針對rollup 進行最佳化的基礎層。共識僅應用於實際共享狀態的地方,而不是作為所有操作的統一要求。隨著生態系統持續朝向模組化設計發展,我們預期這種更細緻入微的基礎層共識方法將成為模組化區塊鏈的標準。

總的來說,我們認為,鑑於幾項新的支援技術剛剛投入生產,基礎層必須採用這項技術才能保持競爭力。

我們不能害怕擁有更大的夢想。

Total
0
Shares
Related Posts