作者:GeekCartel
一. 引言
模組化區塊鏈是一種創新的區塊鏈設計範式,旨在透過專業化和分工來提高系統的效率和可擴展性。在模組化區塊鏈誕生之前,單一(Monolithic)鏈需要處理所有的任務,包括執行層、資料可用性層、共識層以及結算層。模組化區塊鏈將這些工作視為可自由組合的模組來解決這些問題,每個模組都專注於特定的功能。
執行(Execution)層:負責處理和驗證所有交易,以及管理區塊鏈狀態變更。
共識(Consensus)層:就交易順序達成一致。
結算(Settlement)層:用於完成交易,驗證證明,並在不同執行層之間架起橋樑。
資料可用性(Data Availability)層:負責確保所有必要的資料對網路中的參與者是可取得的,以便於驗證。
模組化區塊鏈的趨勢不僅是技術上的變革,更是推動整個區塊鏈生態系統迎接未來挑戰的重要策略。 GeekCartel 將對模組化區塊鏈的概念以及相關項目進行分析,旨在提供全面、實用的模組化區塊鏈知識解讀,幫助讀者更好地理解模組化區塊鏈,同時展望未來的發展趨勢。注意:本文內容不構成投資建議。
二. 模組化區塊鏈的先導者-Celestia
在2018 年,Mustafa Albasan 和Vitalik Buterin 發表了一篇開創性的文章,為解決區塊鏈的可擴展性問題提供了新想法。 「資料可用性抽樣與詐欺證明」介紹了一種方法,透過這種方法區塊鏈能隨著網路節點增加而自動擴展儲存空間。 2019年,Mustafa Albasan 深入研究並撰寫了“Lazy Ledger”,提出了一個只處理數據可用性的區塊鏈系統概念。
基於這些理念,Celestia應運而生,作為第一個採用模組化結構的資料可用性(DA)網路。它利用CometBFT和Cosmos SDK構建,是一個權益證明(PoS)區塊鏈,有效提高了可擴展性,同時保持了去中心化特性。
DA層對任何區塊鏈的安全性都至關重要,因為它確保任何人都可以檢查交易帳本並對其進行驗證。如果區塊生產者在非所有資料可用的情況下提出了一個區塊,區塊可以達成最終確定性但會包含無效交易。即使區塊是有效的,但那些無法完全進行驗證的區塊資料將對用戶和網路的功能造成負面影響。
Celestia實現了兩個關鍵功能,分別是資料可用性抽樣(DAS) 和命名空間默克爾樹(NMT)。 DAS 使輕節點能夠驗證資料可用性,而無需下載整個區塊。 NMTs 使得區塊數據可以被劃分為不同應用程式的單獨命名空間,這意味著應用程式只需要下載和處理與它們相關的數據,大大減少了數據處理需求。重要的是,DAS 允許Celestia 隨著用戶數量(輕節點)的增加而擴展,而不會影響最終用戶的安全性。
模組化區塊鏈正在以前所未有的方式使得建立新鏈成為可能,不同類型的模組化區塊鏈可以以不同目的和不同架構的方式協作工作。 Celestia官方提出了幾種模組化架構設計的想法及實例,向我們展示了模組化區塊鏈的靈活性和可組合性:
圖1 Layer1 與Layer2架構
Layer 1和Layer 2:Celestia稱之為樸素的模組化,最初是為了以太坊作為單體Layer 1的可擴展性而構建的,Layer 2 專注於執行,Layer 1提供其他關鍵功能。
- Celestia支援基於Arbitrum Orbit、Optimism Stack以及Polygon CDK(即將支援) 技術堆疊構建的鏈使用Celestia作為DA層,現有的Layer2 可以用Rollup技術將其資料從發佈到以太坊上切換到發佈到Celestia。對區塊的承諾發佈在Celestia 上,這比將資料發佈到單一鏈上的傳統方法更具可擴展性。
- Celestia支援基於Dymension技術組件建構的RollApp(專用於應用程式的鏈)作為執行層,與以太坊的Layer1和Layer2概念類似,RollApps的結算層依賴Dymension Hub(後面將展開解釋),DA層使用Celestia,鏈之間透過IBC協議交互(IBC基於Cosmos SDK, 是一種允許區塊鏈相互通信的協議。使用IBC的鏈可以共享任何類型的數據,只要它是以字節為單位編碼的)。
圖2:執行、結算與DA層架構
執行、結算和數據可用性:優化的模組化區塊鏈,例如可以將執行、結算和數據可用性層在專門的模組化區塊鏈之間解耦。
圖3:執行和DA層架構
執行與DA:由於實現模組化區塊鏈的目的是靈活的,因此執行層不僅限於將其區塊發佈到結算層。例如,可以建立一個模組化堆疊,該堆疊不涉及結算層,只涉及共識層和資料可用性層之上的執行層。
在這個模組化堆疊下,執行層將是主權(sovereign)的,它將其交易發佈到另一個區塊鏈,通常用於排序和資料可用性,但處理自己的結算。在模組化堆疊的上下文中,主權Rollup負責執行和結算,而DA 層則處理共識和資料可用性。
主權Rollup與智能合約Rollup的差別在於:
- 智能合約Rollup交易由結算層的智能合約驗證。主權Rollup的交易由主權Rollup的節點進行驗證。
- 與智慧合約Rollup相比,主權Rollu的節點擁有自主權。在主權Rollup中,交易的排序和有效性是由Rollup自己的網路管理,而不依賴單獨的結算層。
目前Rollkit和Sovereign SDK提供了用於在Celestia 上部署主權Rollup測試網的框架。
三. 探索區塊鏈生態中的模組化方案
1. 執行層模組化
在介紹執行層模組化之前,我們應該先了解什麼是Rollup技術。
目前執行層模組化技術主要依賴Rollup,這是在Layer1鏈外運作的擴容解決方案。這種解決方案在鏈外執行交易,這意味著它佔用更少的區塊空間,也是以太坊重要的擴容方案之一。執行交易後,它將向Layer1 發送一批交易資料或執行證明,並在Layer1 進行結算。 Rollup 技術為Layer1網路提供了可擴展性解決方案,同時保持了去中心化和安全性。
圖4: Rollup技術架構
以以太坊為例,Rollup 技術可以透過使用ZK-Rollup或Optimistic Rollup來進一步提高效能和隱私。
- ZK-Rollup 使用零知識證明來驗證打包的交易的正確性,從而確保交易的安全性和隱私性。
- Optimistic Rollup 在提交交易狀態到以太坊主鏈之前,首先假設這些交易是有效的,在質詢期期間,任何人都可以計算詐欺證明來驗證交易。
1.1 以太坊Layer2:建構未來的擴容解決方案
以太坊最初採用側鍊和分片技術進行擴容,但是側鏈犧牲了一些去中心化和安全性來實現高吞吐量;Layer 2 Rollups 的發展速度比預期的要快得多,並且已經提供了大量的擴展,並且在實現Proto-Danksharding之後將提供更多。這意味著不再需要“分片鏈”,現在已從以太坊的路線圖中刪除。
以太坊將執行層外包給基於Rollup技術的Layer2s來減輕主鏈負擔,EVM為在Rollup層上執行的智慧合約提供了標準化和安全的執行環境。一些Rollup解決方案在設計時考慮到了與EVM的兼容性,使得在Rollup層上執行的智能合約仍然可以利用EVM的特性和功能,如OP Mainnet,Arbitrum One和Polygon zkEVM等。
圖5: 以太坊的第2層擴充解決方案
這些Layer2s執行智慧合約並處理交易,但仍依賴以太坊進行以下操作:
結算: 所有Rollup交易都在以太坊主網上完成。 Optimistic Rollups的使用者必須等待質詢期過去,或在反詐騙計算後交易被視為有效。 ZK Rollups的使用者必須等到有效性得到證明。
共識與資料可用性:Rollups以CallData的形式將交易資料發佈到以太坊主網,使任何人都可以執行Rollup交易並在必要時重建其狀態。在以太坊主鏈上確認之前,Optimistic Rollups 需要大量的區塊空間和7天的挑戰期。 ZK Rollups 提供即時最終確定性,且將可用於驗證的資料儲存30 天,但需要大量的運算能力來建立證明。
1.2 B² Network:開創比特幣ZK-Rollup
B² Network是第一個比特幣上的ZK-Rollup,可在不犧牲安全性的情況下提高交易速度。利用Rollup技術,B² Network提供了一個能夠運行圖靈完備智能合約進行鏈下交易的平台,從而提高了交易效率,並最大限度地降低了成本。
圖6:B² Network架構
如圖所示,B² Network的ZK-Rollup Layer 採用zkEVM 解決方案,負責Layer2 網路內用戶交易的執行和相關證明的輸出。
與其他Rollup不同的是,B² NetworkZK-Rollup由多個元件組成,包括帳戶抽像模組、RPC Service、Mempool、Sequencers、zkEVM、Aggregators、Synchronizers 和Prover。其中帳戶抽像模組實現了本機帳戶抽象,它允許用戶靈活地將更高的安全性和更好的用戶體驗編程到他們的帳戶中。 zkEVM 與EVM 相容,它還可以幫助開發人員將DApp 從其他EVM 相容鏈遷移到B² Network。
Synchronizers確保將資訊從B²節點同步到Rollup層,包括序列資訊、比特幣交易資料等細節。 B² 節點充當鏈下驗證者,是B² 網路中多個獨特功能的執行者。 B² 節點中的比特幣Committer模組建立一個資料結構來記錄B² Rollup數據,並產生一個被稱為「B²銘文」的Tapscript。然後,比特幣Committer發送一個單位為一聰(satoshi )的UTXO到一個包含$B^{2}$銘文的Taproot位址,Rollup資料將被寫入比特幣。
此外,比特幣Committer設定一個時間鎖定的挑戰,讓挑戰者質疑zk證明驗證的承諾。如果在時間鎖定期間沒有挑戰者或挑戰失敗,那麼Rollup最終在比特幣上確認;如果挑戰成功,Rollup將被回滾。
不論是以太坊還是比特幣,從本質上講,Layer1都是單一鏈,它們從Layer2 接收擴展的資料。在大多數情況下,Layer 2 的容量也取決於Layer1 的容量。因此,Layer1 和Layer2 堆疊的實作對於可擴展性來說並不理想。當Layer1達到其吞吐量上限時,Layer2也會受影響,這可能導致交易費用上升和確認時間延長,影響整個系統的效率和使用者體驗。
2. DA層模組化
除了Celestia的DA解決方案受到Layer2s的青睞之外,還有其他專注於DA的創新方案相繼出現,在整個區塊鏈生態系統中發揮了關鍵作用。
2.1 EigenDA:為Rollup技術賦能
EigenDA是一種安全、高吞吐量和去中心化的DA服務,其設計靈感來自Danksharding。 Rollup 能夠將資料發佈到EigenDA,以便在整個EigenLayer 生態系統中獲得更低的交易成本、更高的交易吞吐量和安全的可組合性。
在以太坊Rollup建構去中心化的暫時性資料儲存時,資料儲存可以由EigenDA 業者直接處理。營運商(Operators)是指參與網路運作,負責處理、驗證和儲存數據,EigenDA 可以隨著質押量和營運商的成長而水平擴展。
EigenDA結合Rollup技術,同時將DA 部分轉移到鏈下處理以實現可拓展性。因此,實際的交易資料不再需要在每個節點上複製和存儲,減少了對頻寬和儲存的需求。鏈上僅處理與資料可用性相關的元資料和問責機制(問責使資料儲存在鏈下,也可以在必要時驗證其完整性和真實性)。
圖7: EigenDA的基本資料流
如圖所示,Rollup將交易批次寫入DA層,與使用詐欺證明來偵測惡意資料的系統不同,EigenDA將資料分割成區塊並產生KZG承諾和多重揭露證明,EigenDA 要求節點只下載少量資料[ O(1/n)],而不是下載整個blob。 Rollup的詐欺仲裁協議也能夠驗證使用blob 資料是否與EigenDA 證明中提供的KZG 承諾相符。在進行此驗證時,Layer2 鏈可確保Rollup狀態根的交易資料不會被排序器/提議者操縱。
2.2 Nubit:比特幣上第一個模組化DA解決方案
Nubit是可擴充的、比特幣原生DA層。 Nubit正在開創比特幣原生的未來,旨在提高資料吞吐量和可用性服務,以滿足生態系統不斷增長的需求。他們的願景是將龐大的開發者社群納入比特幣生態系統,並為他們提供可擴展、安全和去中心化的工具。
Nubit 的團隊成員是來自UCSB(加州大學聖塔芭芭拉分校)的教授和博士生,享有傑出的學術聲譽和全球影響力。他們不僅精通學術研究,而且在區塊鏈工程實施方面具有豐富的經驗。團隊與domo(Brc20的創造者)一起撰寫了模組化索引器的論文,將DA層的設計加入到比特幣meta protocol的索引器結構中,參與到行業標準的建立和製定。
Nubit 的核心創新:共識機制、無需信任的橋接和數據可用性,它利用創新的共識演算法和閃電網路來繼承比特幣完全抗審查的特性,利用DAS提高效率:
- 共識機制:Nubit 探討了一種由SNARK 提供支援的基於PBFT(實用拜占庭容錯)的高效共識,用於簽章聚合。 PBFT 方案與zkSNARK技術結合將驗證者之間驗證簽章的通訊複雜度顯著減少,在不需要存取整個資料集的情況下驗證交易的正確性。
- DAS:Nubit的DAS是透過對區塊資料的小部分進行多輪隨機抽樣來實現的。每一輪成功的抽樣增加了數據完全可用的可能性。一旦達到預定的置信水平,就認為區塊數據是可訪問的。
- Trustless Bridge:Nubit 使用了一個Trustless Bridge,其利用了閃電網路的支付通道。這種方法不僅與本地比特幣支付方法保持一致,且不會增加額外的信任要求。與現有的橋接方案相比,為使用者帶來了較低的風險。
圖8:Nubit的基本組件
我們進一步利用一個具體的用例來回顧圖8所示的完整的系統生命週期。假設Alice想要使用Nubit的DA服務完成一筆交易(Nubit支援多種資料類型,包括但不限於銘文,Rollup data等)。
- 步驟1.1: Alice首先需要透過Nubit的無信任橋支付gas費來繼續服務。特別是,Alice需要從無信任橋接器中獲得一個公共挑戰,記為X (h)(X是從可驗證延遲函數(VDF)的雜湊範圍到挑戰域的加密雜湊函數,h是某個高度區塊的哈希值)。
- 步驟1.2 和步驟2: Alice必須獲得與當前回合相關的VDF的評估結果R,提交R以及她的資料和交易元資料(如地址和nonce)發送給驗證器,以便將其合併到記憶體池中。
- 步驟3: 驗證者在達成共識後提出區塊及其頭的過程。區塊頭包括對資料的承諾及其相關的Reed-Solomon Coding(RS Code),而區塊本身包含原始資料、相應的RS Code和基本的交易細節。
- 步驟4: 生命週期以Alice的資料檢索結束。輕客戶機下載區塊頭,而全節點獲取區塊及其頭。
輕客戶機承擔DAS流程以驗證資料可用性。此外,在提出閾值數量的區塊後,該歷史的檢查點透過比特幣時間戳記記錄在比特幣區塊鏈上。這可確保validator集可以阻止潛在的遠端攻擊並支援快速解除綁定。
3. 其他解決方案
除了專注於模組化特定層的鏈,去中心儲存服務可以為DA層提供長期支援。還有一些協定和鏈為開發者提供了客製化和全端方案,這些方案使用戶輕易地建立自己的鏈,甚至無需程式碼建置。
3.1 EthStorage - 動態的去中心化存儲
EthStorage是第一個實現動態的去中心化存儲的模組化Layer2,提供由DA 驅動的可編程鍵值(KV)存儲,以1/100 到1/1000 的成本將可編程鍵值擴展到數百TB甚至PB。它為Rollups 提供了長期的DA 解決方案,並為遊戲、社交網路、AI 等完全鏈上的應用程式開闢了新的可能性。
圖9: EthStorage的應用場景
EthStorage的創辦人,Qi Zhou,自2018年全心投入Web3產業,持有喬治亞理工學院的博士學位,曾任職於Google和Facebook等頂尖公司的工程師。其團隊也獲得了以太坊基金會的支持。
作為以太坊坎昆升級的核心特性之一,即EIP-4844(也稱為Proto-dank sharding),引入了用於Layer2 Rollup存儲的臨時資料塊(blob),提高了網路的可擴展性和安全性。網路無需驗證區塊中的每筆交易,只需確認附加到區塊的blob 是否攜帶正確的數據,這大大降低了Rollup的成本。但是,Blob 資料僅暫時可用,這意味著它將在幾週內被丟棄。這產生了一個重大影響:Layer2 無法無條件地從Layer1 衍生出最新狀態。如果無法再從Layer1 檢索到某段數據,則可能無法透過Rollup來同步鏈。
有了EthStorage 作為長期的DA 儲存解決方案,Layer2s可以隨時從其DA層取得完整資料。
技術特點:
EthStorage可以實現去中心化的動態儲存:現有的去中心化儲存解決方案可以支援大量資料的上傳,但不能修改或刪除,只能重新上傳新資料。而EthStorage 透過原創的鍵值儲存範式,實現CRUD功能,即創建、更新、讀取和刪除儲存的數據,從而顯著增強了數據管理的靈活性。
基於DA層的Layer2去中心化解決方案:EthStorage 是一個模組化的儲存層,只要有EVM,有DA來減少儲存成本,就可以在任何區塊鏈上運行它(但當前很多Layer1不具備DA層),甚至在Layer2上也可以。
高度整合ETH:EthStorage的客戶端是以太坊客戶端Geth的超集,這意味著運行EthStorage的節點的時候,依然可以正常參與以太坊的任何流程,一個節點可以是以太坊的驗證者節點的同時也是EthStorage的資料節點。
EthStorage的工作流程:
用戶將他們的資料上傳到應用程式合約,然後該合約與EthStorage 合約互動以儲存資料。
在EthStorage Layer2 網路中,儲存供應商會收到有關等待儲存的資料的通知。
儲存供應商從以太坊資料可用性網路下載資料。
儲存供應商向Layer1 提交儲存證明,證明Layer2 網路中有大量副本。
EthStorage合約獎勵成功提交儲存證明的儲存提供者。
3.2 AltLayer - 模組化客製化服務
AltLayer提供了一個多功能的、無程式碼的Rollups-as-a-Service(RaaS)服務。 RaaS 產品專為多鍊和多虛擬機世界而設計,支援EVM 和WASM。它還支援不同的Rollup SDK,例如OP Stack、Arbitrum Orbit、Polygon zkEVM、ZKSync 的ZKStack 和Starkware,不同的共享排序服務(例如Espresso和Radius)以及不同的DA 層(例如Celestia,EigenLayer)以及Rollup 堆疊不同層的許多其他模組化服務。
透過AltLayer可以實現多功能的Rollup堆疊,例如,一個為應用程式而設計的Rollup 可以使用Arbitrum Orbit構建,同時使用Arbitrum One作為DA 和結算層,而另一個為通用用途而設計的Rollup 可以使用ZK Stack構建,使用Celestia 作為DA 層,以太坊作為結算層。
註:看到這裡你可能會疑惑,為什麼結算層可以由OP和Arbitrum來實現?事實上,目前這些Layer2s的Rollup堆疊正在實現類似Cosmos提出的「鏈間」(interchain)工作來實現互聯:OP提出了Superchain,OP Stack作為支援Optimism技術的標準化開發堆疊,將不同的Layer2網路整合在一起,促進了這些網路之間的互通性;Arbitrum提出了Orbitchain策略,允許基於Arbitrum Nitro(技術堆疊)在Arbitrum 主網上創建和部署Layer3,也被稱為應用鏈。 Orbit Chains可以直接結算到Layer2s也可以直接結算到以太坊。
3.3 Dymension - 全端模組化
Dymension是一個基於Cosmos SDK的模組化區塊鏈網絡,旨在透過使用IBC標準來確保RollApp的安全性和互通性。
Dymension將區塊鏈功能分為多層,Dymension Hub作為結算層和共識層為RollApp提供安全性、互通性和流動性,RollApp作為執行層。資料可用性層是Dymension 協定支援的DA提供者,開發人員可以根據自己的需求選擇合適的資料可用性提供者。
結算層(Dymension Hub)維護RollApps的註冊器和相應的重要訊息,如狀態、定序器列表、當前活動定序器、執行模組校驗和等。 Rollup服務邏輯被固定在結算層內,因此形成了一個原生互通性的中心。 Dymension Hub作為結算層有以下特色:
在結算層上本地提供Rollups 服務: 提供了與基礎層相同的信任和安全假設,但具有更簡單、更安全、更有效的設計空間。
通訊與交易:Dymension的RollApp透過內嵌模組在結算層上實現Inter-RollApp通訊和交易,提供信任最小化的橋接。此外,RollApps還能透過Hub與啟用IBC的其他鏈進行通訊。
RVM(RollApp虛擬機器):Dymension結算層在詐欺爭議時啟動RVM。 RVM能夠在各種執行環境(如EVM)中解決爭議,擴展了RollApp執行範圍的能力和靈活性。
抗審查:經歷Sequencer審查的使用者可以向結算層發布一個特殊的事務。此事務被轉送到Sequencer,並要求在指定的時間範圍內執行。如果交易沒有在指定的時間內處理,Sequencer將受到處罰。
AMM(自動做市商):Dymension在結算中心引進了一個嵌入式的AMM,從而創建了一個核心金融中心。為整個生態系提供共享流動性。
四. 多生態模組化區塊鏈對比
在前文中,我們深入探討了模組化區塊鏈系統和眾多代表性項目,現在我們將把焦點轉移到不同生態間的對比分析上,旨在客觀全面的理解模組化區塊鏈。
五. 總結與展望
正如我們所看到的,區塊鏈生態正朝著模組化的方向發展。在過去的區塊鏈世界中,各條鏈孤立運作,相互競爭,這使得用戶、開發者和資產在不同鏈之間難以流動,限制了生態系統的整體發展和創新。在WEB3世界中,問題的發現與解決是共同努力的過程。一開始,比特幣和以太坊作為單一鏈吸引了大量關注,但隨著單一鏈問題的暴露,模組化鏈逐漸受到關注。因此,模組化鏈的爆發不是偶然,而是發展的必然。
模組化區塊鏈透過讓各個組件獨立優化和定制,提高了鏈的靈活性和效率。但這種架構也需面對挑戰,如通訊延遲和系統互動的複雜性增加。實際上,模組化架構的長期效益,如提高的可維護性、可重複使用性和靈活性,通常會超過其短期的效能損失。未來,隨著技術發展,這些問題將找到更好的解決方案。
GeekCartel認為區塊鏈的生態系統都有責任在整個模組化堆疊中提供可靠的基礎層和通用的工具,以促進鏈與鏈直接的流暢鏈接,如果生態系統能夠更加和諧和互聯,用戶將能夠更輕鬆地使用區塊鏈技術,也會吸引更多的新用戶進入Web3。