全長4857 字,預計閱讀15 分鐘 作者:Echoic 編輯:MiX
模塊化區塊鏈就是將執行層、結算層、共識層、數據可用性層四個組件中至少一個組件外包給外部鏈,從而大大降低了提高擴展性的成本:
1、最令大家熟知的就是將執行層進行解耦的Rollups(四大天王arbitrum、optimism、starnet、zksync),Rollups 在費用和交易速度的優化大家都有目共睹。
2、模塊化的區塊鏈還具有主權。前陣子dYdX 從StarkWareLtd 出走,搬家到了Cosmos 的消息沸沸揚揚,而dYdX 出走的部分原因很可能就是為了重新拿回主權,即在協議的功能和升級、網絡和協議的治理、生態系統的建設和基礎設施具有更高的主動權。
3、通過模塊化區塊鏈,新的區塊鏈還能夠毫不費力地部署和啟動,而無需花費大量時間或金錢成本。在之前,人們想要構建區塊鏈就必須自己從頭到尾搭建執行層、結算層、共識層、數據可用性層,現在只需要自己搭建和定制其中的一個組件,再把缺少的組件從其他地方挪過來,既省錢又省力。
總結一下,模塊化區塊鏈具有以下優點:降低交易費用、提升交易速度、重新拿回主權、低成本地構建新區塊鏈、可組合性。
未來模塊化也許真的能夠突破區塊鏈不可能三角問題。雖然Rollups 在排序器的中心化問題被人詬病,Celestia 主網尚未上線,一切美好幻想是否落地還不得而知,但各路人馬在解決不可能三角問題上的前赴後繼,以及對擴展性的不懈探究,未來的發展依舊令人期盼。
更多作者文章首發Twitter @echoic2021 歡迎關注與互動編輯@ MixWeb3
一、單鏈Monolithic blockchains
單鏈包含四個組件:
1、執行層:確保所執行的交易進行正確的狀態更新。執行層必須確保被執行的交易是有效的,即交易的結果是有效的狀態機轉換。
2、結算層:確保有一個使得執行層能夠驗證證明、解決欺詐糾紛的環境,並作為執行層之間的橋樑。
3、共識層:確保交易的順序達成一致。
4、數據可用性層:確保交易數據的可用性。
單鍊和模塊化區塊鏈的對比單片區塊鏈在單個層上同時完成上述的所有事情,其限制在於:
1、低效的交易驗證:節點必須重新執行交易以檢查有效性。
2、資源約束:區塊鏈受單個節點的資源容量約束。
3、可擴展性:為了提高吞吐量,必須在一定程度上犧牲安全性或去中心化。
二、模塊化區塊鏈基礎知識
(1)什麼是模塊化區塊鏈
模塊化區塊鏈:將「執行層、結算層、共識層、數據可用性層」四個組件中至少一個組件完全外包給外部鏈的區塊鏈。
模塊化區塊鏈能夠最大限度地降低運行節點的成本。
由於在單片鏈上為數百萬或數十億用戶提供服務過於復雜,且解決能力有限,人們提出了分片和Layer2 解決方案,後來逐漸演變成模塊化區塊鏈。模塊化的實現最初方案是Rollups,後來這個概念進一步擴大成模塊化區塊鏈。
(2)模塊化區塊鏈的第一原則
1、去中心化:模塊化區塊鏈通過降低用戶操作節點和驗證網絡的成本來優先考慮網絡安全。
2、安全:在存在惡意驗證者的情況下,去中心化的用戶網絡最終負責維護區塊鏈的安全性。
3、可擴展:擴展使模塊化區塊鏈能夠增加容量,而不會增加用戶驗證和保護網絡的成本。
如果區塊鏈可以增加它處理的交易數量,而不會增加節點驗證交易的成本,那麼它就是可擴展的。模塊化區塊鏈堆棧中使用的欺詐證明、有效性證明和數據可用性採樣等技術使節點能夠比完整節點更有效地驗證交易,同時保持同等的安全性。
(3)模塊化區塊鏈的優勢
1、具有主權:儘管使用了其他層,但新的模塊化區塊鏈可以像Layer1 一樣具有主權。這允許區塊鏈在未經任何底層許可的情況下響應黑客攻擊並推送升級。
主權(Sovereignty):在Token、協議的功能和升級、網絡和協議的治理、生態系統的建設和基礎設施具有更高的主動權。
2、方便推出新的區塊鏈:由於模塊化區塊鏈不需要處理所有功能,新區塊鏈可以簡單地將現有的模塊化區塊鏈用於他們希望卸載的組件。
像Optimint 這樣的Rollups “SDK”與Cosmos SDK 相結合將有助於促進新區塊鏈的創建,而無需引導安全驗證器集。
3、提高可擴展性:通過模塊化可以在不犧牲安全性或去中心化的情況下實現擴展。
三、模塊化區塊鏈的三種架構
(1) Layer 1 & Layer 2
最初構建樸素的模塊化堆棧是為了向Layer1 提供可擴展性。在這個堆棧中, Layer1 提供所有關鍵功能,包括執行,而Layer2 只專注於執行。 Layer1 允許Layer2 發佈區塊,同時充當連接Layer2 的樞紐。
在大多數情況下, Layer2 的容量也取決於Layer1 的容量。因此, Layer1 和Layer2 堆棧的這種實現對於可擴展性來說不是最理想的。
(2) 執行、結算和數據可用性
優化模塊化區塊鏈堆棧可以提供的更多好處,通過模塊化區塊鏈將各個功能解耦:
1、執行層
應用程序所在的環境和執行狀態更改的環境,位於模塊化堆棧的頂部,其作用與Layer2 相同。
2、結算層
執行層的可選中心,用於驗證證明、解決欺詐糾紛。用於在執行層和結算層之間建立信任最小化橋樑,並提供了一種執行層之間相互連接的方式。
執行層可以選擇將其完整的區塊發佈到結算層,之後結算層將構建自己的區塊,包括來自執行層的交易,並將交易數據發佈到共識和數據可用性層。這只是結算層在模塊化堆棧中發揮作用的多種方式之一。因為沒有執行功能,所以結算層只發布交易數據,而不是整個區塊的內容。
信任最小化橋樑:兩個區塊鏈之間的橋樑不需要中間人、委員會或誠實的多數假設來確保資金不會被盜。例子是以太坊和建立在其之上的Rollups 之間的橋樑。
3、共識和數據可用性層
共識就交易順序達成一致,數據可用性驗證交易數據是否可供下載。在多數情況下這兩層之間互相協作,例如專門研究數據可用性的模塊化區塊鏈需要達成共識才能對數據進行排序,否則無法確定數據的歷史記錄。
(3)執行和數據可用性
在前兩個模塊化堆棧中,執行層只專注於執行,並將剩餘的功能卸載到其他層。然而,由於模塊化區塊鏈的用途很靈活,因此執行層不僅限於將其塊發佈到結算層。例如,可以創建一個不涉及結算層的模塊化堆棧,只涉及共識和數據可用性層之上的執行層。
由於不涉及結算層,因此只有數據可用性層負責為交易排序和數據可用性提供安全性。這使執行層能夠獲得將共識與執行分離的全部可擴展性優勢,因為沒有中間層將交易數據轉發到基礎層(共識和數據可用性層)。
四、模塊化結算層
由於模塊化區塊鏈僅處理一部分功能,因此可以進行更多的解耦,比如解耦出結算層,可以通過模塊化區塊鏈進行結算層的優化和專業化。
模塊化堆棧中的結算層可以專注於結算,同時將其餘組件(如共識和數據可用性)外包給其他模塊化區塊鏈。通過引入欺詐或有效性證明,結算層可以增強輕客戶端的安全性,允許他們驗證有效或無效塊。
(1)結算層為rollups 提供功能
1、Proof Verification 和Dispute Resolution:rollups 發布其證明以供外部驗證的地方,這對於依賴交互式欺詐證明的OP-Rollups 特別有用。
2、促進橋接的中心:如果rollups 通過一個共同的結算層,它們可以相互橋接。
3、流動性來源:存在於同一個結算層的流動性可以被頂部的所有rollups 使用。
( 2)模塊化堆棧中的結算
五、模塊化可擴展性
站在可擴展性的角度,可以進行執行層、數據可用性層、結算層的模塊化劃分。
(1)執行層
Rollups 本身就是一種區塊鏈,將其塊發佈到基礎層以確保有效性和數據可用性。隨著時間的推移,出現了兩種主要的Rollup 設計,optimistic 和zk-rollups。
1、Optimistic Rollups
Optimistic Rollups 將其區塊發佈到基礎層,基礎層接收區塊並樂觀地假設交易是正確的。為了允許在懷疑區塊無效的情況下挑戰Rollups 塊,提供了一個爭議窗口(dispute window),如果一個塊受到挑戰,則使用欺詐證明(fraud proof)來驗證它是否無效。一旦爭議窗口關閉,就不能對區塊提出挑戰。
Optimistic Rollups 提供的可擴展性:
其一:將執行從Layer1 移走,一旦交易在Optimistic Rollups 上執行, Layer1 就不需要重新執行它們,因為它們自動被假定為正確的,從而減輕了Layer1 執行的負擔。
其二:減輕Layer1 的狀態增加。通過將應用程序和交易轉移到不同的鏈上, Layer1 可以降低其狀態增長的速度。大量的狀態增加會增加對節點的硬件要求,這會對去中心化產生負面影響。
2、ZK-Rollups
對於發佈到Layer1 的每個Rollups 區塊都會附帶一個有效性證明(validity proof),以證明該區塊的正確性。一旦驗證了有效性證明,交易就被認為是最終的,不需要爭議窗口來判斷Rollups 區塊的有效性。
ZK-Rollups 提供的可擴展性:
其一:減輕Layer1 的執行瓶頸和狀態增長,提供與Optimistic rollups 類似的可擴展性優勢。此外,ZK-Rollups 還通過使用有效性證明為計算驗證提供可擴展性。
其二:在大多數區塊鏈中,區塊生產者執行交易並將它們放入一個區塊中,隨後由節點重新執行以驗證正確性。有效性證明允許節點有效地驗證交易而無需重新執行它們——它們只需驗證有效性證明。
(2)數據可用性層
通過分離共識和執行,數據可用性層也可以進行可擴展性優化,而不受提供結算層功能的限制。關鍵技術是數據可用性採樣,通過多輪抽樣小隨機塊,它允許節點無需下載整個塊來驗證可用,從而減少輕節點的帶寬。
(3)結算層
現在的結算層仍然承受著應用程序及其相應的基於用戶的交易活動的負擔,這導致結算層擠滿了來自個人用戶和執行層的交易。結算層可以使用與執行層和數據可用性層相同的技術進行擴展,但目前結算層的擴展效果還不理想。
六、創建新的區塊鏈
隨著Cosmos SDK 及其相應的共識引擎Tendermint 等SDK 的興起,與之前的區塊鏈相比,現在已經可以更輕鬆地創建新的區塊鏈,而區塊鏈創建的下一次演變將由模塊化架構實現。
例如,一個新的區塊鏈將能夠使用SDK 創建,並且能夠立即使用現有的模塊化區塊鏈。新的區塊鏈可以使用在數據可用性層之上啟動的結算層,由於執行層不需要共識機制,因此它們不需要大量的驗證集或進行代幣分配。新的區塊鏈將能夠毫不費力地啟動,而無需花費大量時間或金錢成本。
在數據可用性層上啟動結算層的區塊鏈像獨立的區塊鏈一樣具有主權,而結算層之上的Rollups 不具有主權,它們依賴結算層來驗證他們的交易。
原始的Rollups 類型的執行層在部署到結算層時,需要對以太坊虛擬機進行兼容。而現在解耦了數據可用性層,可以不處理來自執行層的任何交易或狀態更新,僅發布原始交易數據,使得新的Rollups 可以很快地部署到沒有兼容限制的數據可用性層。
主權區塊鏈(Sovereign blockchain):通過社會共識對自身及其應用進行獨立控制的區塊鏈。主權鏈有能力應對黑客攻擊並推動升級。
附錄:模塊化資料
(1)關於Celestia
過往區塊鏈設計將執行作為核心功能,但Celestia 設計者認為執行是新鏈的工作(指基於Celestia 創建的新鏈來負責處理執行),而Celestia 專注於基礎層(共識和數據可用性),這樣可以從基礎層緩解單片鏈的最大瓶頸:吞吐量和狀態膨脹。
數據可用性層對吞吐量的重要性:吞吐量分為數據吞吐量和交易吞吐量,數據吞吐量與數據可用性層密切相關,因為它們的主要工作是為數據提供高容量。狀態膨脹:指支付一次GAS費會讓你的數據在以太坊區塊鏈上永久保存,從而導致一個無限的、不斷增長的狀態,其中甚至有很多無用數據。
Rollups 和Celestia 的區別在於Rollups 專注於執行(無結算、共識和數據可用性層),Celestia 專注於共識和數據可用性(無執行和結算)。
Celestia 的模塊化架構,將區塊鏈解耦為數據、共識和執行。執行層在區塊鏈之上,然後Celestia 專注構建數據可用性層,接收到來自rollup打包的交易,並通過共識協議Tendermint 以主動排序交易,這樣將所有交易的歷史記錄都存於Celestia 的區塊中。
Celestia 帶來的優勢在於:
1、dApp開發者在搞定執行層的基礎上,還能享有更完整的安全性和可擴展性,Celestia上的rollups本質上是擁有自己主權的區塊鏈,且首次為rollups帶來了分叉的能力,而無需擔心安全性減弱。
2、節點可以自由執行與其dapp相關的交易,不需要每個人都執行所有交易,例如,遊戲的節點不必執行與DeFi相關的交易。
3、讓節點用很小的樣本驗證一個區塊,同時可以使用等級不高的硬件設備充當節點,如家用電腦與手機等。
4、極強的可擴展性,它的可用性規則由資源有限的輕節點自動執行,通過數據可用性採樣(Data Availability Sampling,DAS) 來完成,也就是說, 輕節點只需下載和驗證區塊頭。
但輕節點帶來的問題則是,作惡節點發佈區塊並隱藏無效交易時,輕節點無法做出判斷。但數據可用性採樣(DAS)加入一定的校驗機制,讓各個數據段之間產生關聯,即使數據丟失,只要所有輕節點採樣到的數據達到一定比例,就能把完整數據計算出來。
所以參與數據採樣的輕節點越多,網絡越安全,也支持區塊空間的適當增加,整體達到擴容的效果。當然,這些採樣節點的數量最終會與用戶需求有關,Celestia可以隨著用戶需求的增長提供低廉而穩定的費用。
(2)模塊化區塊鏈項目和技術路線匯總
免責聲明:本文僅供參考,不得被用作法律、稅務、投資、理財或任何其他建議。