區塊鏈的不可能三角一直是業界難以跨越的障礙,眾多公鏈計畫都試圖透過創新的架構設計來逾越這一鴻溝,以期成為所謂的「以太坊殺手」。然而,現實是殘酷的,多年來,以太坊的霸主地位依然穩固,區塊鏈的不可能三角仍然無法突破。那麼,公鍊是否有辦法填補不可能三角的空白呢?這正是Mustafa Albasan 提出模組化區塊鏈概念的初衷。
模組化起源
模組化區塊鏈的概念起源於兩篇白皮書。第一篇是由Mustafa Albasan 和Vitalik 在2018 年共同撰寫的,題為《數據可用性採樣和欺詐證明》。這篇文章闡述如何在保持安全性和去中心化的前提下解決區塊鏈的可擴展性問題。具體方法是讓輕量級客戶端接收並驗證來自全節點的詐欺證據,同時設計資料可用性證明系統,以減少鏈上容量與安全性之間的權衡。
隨後在2019 年,Mustafa Albasan 撰寫了關於Lazy Ledger 的白皮書,詳細介紹了一個創新的架構。在這個架構中,區塊鏈僅用於對交易資料進行排序並確保其可用性,而不負責執行和驗證交易。這個架構旨在解決現有區塊鏈系統的可擴展性問題。當時,他稱之為“智能合約客戶端”。
智慧合約透過Celestia(第一個模組化區塊鏈)在該客戶端上的另一個執行層進行執行。隨後,Rollup 的出現使這個概念變得更加明確。因為Rollup 的邏輯是在鏈下執行智慧合約,並將結果聚合成證明,然後上傳到「客戶端」的執行層。
透過對區塊鏈架構的深入思考和新的擴展技術,他定義了一種名為「模組化區塊鏈」的新範式。
什麼是模組化區塊鏈?
傳統的單體區塊鏈架構通常由以下四個功能層組成:
執行層:此層主要負責處理交易和執行智慧合約,包括交易的驗證、執行和狀態更新。
資料可用性層:在模組化區塊鏈中,資料可用性層確保網路中的資料可存取和驗證。此層通常包括資料儲存、傳輸和驗證等功能,以確保區塊鏈網路的透明度和信任。
共識層:此層負責節點間的協議,以實現網路中資料和交易的一致性。透過特定的共識演算法(例如工作證明(PoW)或權益證明(PoS))驗證交易並建立新區塊。
結算層:此層負責完成交易的最終結算,確保資產的轉移和記錄永久保存在區塊鏈上,決定區塊鏈的最終狀態。
單體區塊鏈將這些組件整合在同一個系統中,這種高度整合的設計往往導致一些固有問題,如可擴展性差、靈活性差以及維護和更新困難等。
然而,Celestia 認為單體區塊鏈不再需要獨自承擔所有任務。 Web3 的未來發展將是「模組化區塊鏈」,透過區塊鏈模組化並將其流程劃分為多個「專有層」,每個專有層處理特定的功能層,從而建立更優秀的系統。此外,這些系統應該是獨立的、安全的且可擴展的。
模組化設計原則
如果將系統設計成可以分割、更換或替換的較小零件,那麼這種設計就具有模組化特性。其核心理念是專注於做好一些特定事物(部分或單一功能層),而不是試圖涵蓋所有方面。 Cosmos Zones、Polkadot 平行鍊等都是我們以往所熟悉的模組化專案的典範。
新視角
從模組化的新視角出發,單體區塊鏈及其相關的模組化堆疊的重新設計空間將得到極大的拓展。各種具有不同特定用途和架構的模組化區塊鏈可以組合在一起,實現協同工作,多樣化的設計可能性催生了許多有趣且富有創意的專案。接下來,我們將探討關於不同功能層的當前爭議以及Celestia 如何從模組化的角度詮釋「模組化」。
執行層以以太坊為中心
如果我們將Rollup 視為模組化執行層,會發現大多數模組化執行層專案都是建立在以太坊之上的。顯然,這是因為以太坊擁有豐富的資源來作為護城河,其去中心化程度是最佳選擇,然而它的可擴展性相對較差,因此在功能層面的重新設計具有巨大潛力。
透過比較最近上線的Move 系統語言公鏈(APT、SUI)的慘淡表現以及以太坊上Layer2 的空前熱潮,我們可以看出區塊鏈基礎設施的敘事已經從開發公鏈轉向了開發以太坊Layer2。那麼模組化的存在究竟是好是壞呢?以太坊為中心的執行層會扼殺公鏈創新嗎?
區塊鏈擴容視圖
首先,從執行層的角度,將現有的鏈重新分類。這裡參考Nosleepjon 的文章《Tatooine’s Double Sun》來解釋目前區塊鏈的執行層分類。
目前,區塊鏈可分為以下四類:
單線程單體區塊鏈:這類區塊鏈一次只處理一筆交易。受限於其效能,許多專案已轉向Rollup 或水平擴展解決方案。代表項目包括:以太坊、Polygon、幣安鍊和Avalanche。
並行處理單體區塊鏈:此類區塊鏈能夠同時處理多筆交易。代表項目有:Solana、Monad、Aptos 和Sui。
單線程模組化區塊鏈:這種模組化區塊鏈一次處理一筆交易。代表項目包括:Arbitrum、Optimism、zkSync 和Starknet。
平行處理模組化區塊鏈:這類模組化區塊鏈可同時處理多筆交易。代表專案有:Eclipse 和Fuel。
單體平行處理架構與模組化架構
關於採用哪種方法,一直以來都有很多討論,特別是涉及模組化與全局並行處理的概念時。此外,還有三個主要的觀點陣營:
模組化陣營:模組化的擁護者(許多也是以太坊的支持者)認為,單一的區塊鏈無法解決區塊鏈的不可能三角問題。在以太坊上堆疊樂高積木被認為是在保持安全性和去中心化的同時實現可擴展性的唯一方法。而且,模組化具有更多的控制性和可自訂性。
單體平行處理陣營:這個陣營(引用了《Monolithic vs. Modular:誰是區塊鏈的未來?》中的Kodi 和espresso 觀點)認為,單片平行處理的新公鏈架構(如Move 系統、Solona等)具有較高的整合度,整體效能會比模組化的碎片化設計更優,同時模組化架構並不安全,尤其是在需要大量跨鏈通訊的情況下,駭客的攻擊面更廣。
中立陣營:當然,也有人持中立態度,認為兩者最終可以共存。例如,Nosleepjon 認為最終的博弈是雙方各有千秋,公鏈競爭依然存在,Rollup 也將相互競爭。
總結
這個問題的焦點實際上可以歸結為模組化方案的摩擦缺點(如跨鏈安全性不足、系統流程不佳等)是否超過了新公鏈的中心化問題。從市場爭論來看,無論是Rollup 中心化隔離器的缺點,還是跨鏈橋的安全隱患,都沒有導致人們轉向新的公鏈。這是因為所有這些問題似乎都有改進的空間,而新的公鏈無法複製以太坊鏈的龐大生態護城河和去中心化優勢。
另一方面,新公鏈雖然在架構上具有效能和整合性優勢,但生態上與以太坊生態過於相似,同質化程度高,流動性不足。缺乏一個專屬應用能夠體現出自身的架構優勢,自然也沒有理由讓人放棄以太坊生態。 Rollup 的可塑性夠高,未來新架構的Rollup 改進還有很大的空間。
當Rollup 也具備非EVM 鏈的大部分優點時,未來很難再出現「Solana Summer」。所以在這種情況下,我認為模組化方案的摩擦劣勢小於公鏈中心化的問題。而中立的情況似乎不存在,以太坊的虹吸效應將像「iPhone」一樣,吸引大量注重擴展性的開發者到第Layer2,新的公鏈將成為一座鬼城。
因此,在關於基礎設施的未來方面,我無疑地更傾向於模組化。以太坊的分類擴展將是公鏈賽局的終局,通用鏈之間的Layer2 競爭,超級應用鏈之間的Layer3 競爭。
目前一級市場融資的項目也印證了這一點。除了大量的以太坊Layer2 項目和比特幣的擴容項目之外,幾乎沒有新的公鏈。
然而,這個產業始終是建立在以太坊上發展的,目前的趨勢似乎過於集中,這樣的現狀確實值得思考。缺乏競爭可能會阻礙一個產業的發展,這個產業需要多樣性和更多的選擇。如果使用者體驗逐漸趨於同質化,新的公鏈將如何創造出破局的契機,目前還看不到。當以太坊不斷完善自身缺陷的同時,如何找到更大的差距來針對非EVM 系統進行精準打擊需要重點關注。
DA 方案競爭
近期,業界熱議從執行層轉向資料可用性層(DA 層),特別是關於Rollup 應該採用哪種資料可用性方案的問題。這場討論起源於以太坊基金會研究員Dankrad Feist 的一條推文,探討了主題的各個面向。在他看來,沒有以太坊DA 的Rollup 不屬於Layer2。因此,先前關於Layer1 的戰爭是否會演變成正統(擁有以太坊DA)Layer2 和非正統Layer2 之間的戰爭呢?目前業界對於DA 的解決方案主要有三種:
公鏈作為結算層
以以太坊為例,在Rollup 中進行交易時提交給以太坊的費用主要包括以下幾類:
執行費用:這是執行交易所需計算資源的補償。它包括執行交易所需的燃料費,通常與交易的複雜性和執行時間成正比。在Rollup 中,執行費用可能包括鏈下執行交易的費用,以及產生和驗證交易證明的費用。
狀態費:狀態費與更新以太坊主鏈上的狀態有關。在Rollup 中,這包括向主鏈提交新狀態根的費用。每次Rollup 聚合器產生新的狀態根並將其提交到主鏈時,都會產生狀態費用。該費用可能與狀態更新的頻率和複雜度成正比。
數據可用性費用:將數據發佈到Layer1 的費用。
在這些費用中,數據可用性費用佔比最大,且成本較高。例如,Arbitrum 在今年5 月6 日因以太坊GAS 費用激增,單日向以太坊支付了376.8ETH GAS 費用。
這是因為Rollup 以Calldata 上傳的形式將數據上傳到以太坊,並永久儲存這些數據,導致成本非常昂貴。然而,Rollup 的安全性和合法性是三種方案中最好的,而且方案的成本降低目前正等待Cancun 升級後的EIP-4844 更新。透過引入事務格式,用Blob 承載Transactions,讓交易格式比一般交易格式多一個Blob 位元來承載Layer2 的資料。此外,Blob 資料在1 個月後就會被節點刪除,從而大大節省了儲存空間。
Blob 的事務格式提供了比Calldata 更便宜的資料可用性。因為一方面,Calldata 存在於Execution Payload 中,而Blob 資料儲存在Prysm 節點或Lighthouse 節點(而不是Geth)中,當合約需要讀取Calldata 時,會消耗更多的資源。另一方面,Blob 資料是短期存儲,節點會在一個月後刪除Blob 資料。儘管如此,GAS 成本仍會高於後兩種方案。
Validiums DA 模式
對於應用鏈類型的Rollup(如過去的dYdX、Immutable 等),通常採用header Rollup 專案所引入的Layer 2 可擴展性引擎(目前最常見的是StarkEx,但Zk 系列header 專案也有類似的計劃)。在DA 模式下,由於應用鏈運算量較大,他們更傾向於使用Validiums,這是一種低成本、高吞吐量的方案。
Validium 的目標是利用鏈下資料可用性和計算,類似於ZK-rollup,透過發布零知識證明來驗證以太坊上的鏈下交易。然而,與ZK-rollup 將資料保留在鏈上不同,Validiums 將資料保留在鏈下,其成本比使用以太坊低90%,使其成為替代方案中最具成本效益的解決方案。
但由於數據仍在鏈下,Validium 的實體營運商可以凍結用戶的資金。為防止這種極端情況,需要再次引入資料可用性委員會(DAC) 計劃,DAC 必須透過其法定人數簽署每次狀態更新來確認已收到資料。這是一個有爭議的做法,因為你必須先信任實體的安全性,而不是鏈本身。 Dankrad Feist(上述EIP-4844 的創建者)在推特上直接點名了這個方案。
模組化DA
從模組化的角度來看,重新設計DA 層的方法有很多種,這可能導致各個專案的具體實現有差異。因此,要詳細描述模組化DA 專案需要大量篇幅,其中,以Celestia 專案為代表來闡述DA 專案的設計。
Celestia
作為首個提出模組化區塊鏈概念的項目,Celestia 在該領域中具有極高的知名度和先驅地位。其願景在於解決區塊鏈可擴展性和模組化方面的問題。基於COSMOS 架構建構的Celestia 為開發人員提供了更大的靈活性,使他們能夠輕鬆部署和維護區塊鏈應用程式。同時,透過為dApp 創作者和區塊鏈開發者提供模組化、可擴展的區塊鏈架構,Celestia 支援各種應用程式和服務的需求,降低了部署區塊鏈的成本與複雜性。
工作原理和架構
解耦執行:Celestia 的邏輯在於將協議分解為不同的層,每一層都專注於特定的功能,從而可以重新組合以建立區塊鏈和應用程式。 Celestia 主要關注層級結構中的共識層和資料可用性層。與某些Layer1 類似,Celestia 使用Tendermint(一種拜占庭容錯(BFT) 共識演算法)對交易進行排序。但與其他Layer1 不同的是,Celestia 不處理交易的有效性,也不執行交易。它只對交易進行打包排序和廣播,所有交易有效性規則均由客戶端的Rollup 節點強制執行(即實現共識層和執行層的解耦)。
值得注意的一個關鍵點是「不推理交易有效性」。這意味著攜帶隱藏交易資料的惡意區塊也可以發佈到Celestia。那麼,驗證過程該如何實施呢? Celestia 在這裡引入了兩個核心技術:2D Reed-Solomon 編碼和資料可用性取樣(DAS)。
單體區塊鏈的整體架構與Celestia 的模組化架構形成鮮明對比
DAS:該方案允許輕節點驗證區塊資料的可用性,而無需下載整個區塊。輕節點僅需一部分區塊資料進行採樣(具體實現依賴2D Reed-Solomon 編碼,詳見下文)。與先前提到的Dac 不同,DAS 不依賴可信任實體的安全性;只要鏈足夠去中心化,資料就可被信任。
2D Reed-Solomon 編碼(糾刪碼):2D Reed-Solomon 編碼的核心思想是在行和列上分別應用Reed-Solomon 編碼。這樣,即使二維資料的某些行和列出現錯誤,也可以進行修正。透過對區塊資料進行編碼,將區塊資料劃分為kk 個區塊,排列成kk 的矩陣,並透過多次Reed-Solomon 編碼擴展為2k2k 的擴展矩陣。計算擴展矩陣行和列的4k 個獨立默克爾根(Merkle roots),這些默克爾根被用作批量中的區塊資料承諾。
Celestia 輕節點取樣2k2k 資料塊。每個輕節點在擴展矩陣中隨機選擇一組唯一座標,並向全節點查詢有關這些座標和對應默克爾證明的資料區塊。每個接收到正確默克爾證明的資料區塊都將廣播到網路。
抽像地說,可以將區塊資料劃分為方陣(例如8×8),透過編碼,在原始資料上添加額外的「校驗」行和列,形成更大的方陣(例如16×16)。透過對這個大方陣內的部分資料進行隨機取樣並驗證其準確性,就可以確保整體資料的完整性和可用性,即使部分資料遺失或損壞,仍然可以使用校驗和資料來恢復整個資料。
區塊縮放:Celestia 實現了隨輕節點數量增加而實現縮放的功能。只要網路中有足夠的節點對整個區塊進行採樣,Celestia 就能保持安全性。這意味著隨著更多節點加入網路進行採樣,區塊大小可以相應地增加,而無需犧牲安全性或去中心化特性。然而,在傳統的單體區塊鏈上,增加區塊大小可能會犧牲去中心化,因為更大的區塊大小會提高節點下載和驗證資料的硬體要求。
主權Rollup:這是Celestia 首次提出的概念,它結合了多種區塊鏈設計元素,包括Layer1 區塊鏈、rollup 以及早期比特幣網路中的Mastercoin 等。主權Rollup 與智能合約Rollup(如Optimism、Arbitrum、zkSync 等)之間的主要差異在於交易驗證方式。在智慧合約Rollup 中,交易由部署在以太坊上的智慧合約進行驗證。而在主權Rollup 中,Rollup 節點本身負責驗證交易。
主權Rollup 將其交易發佈到其他區塊鏈(如Celestia)以進行排序和資料可用性處理。接著,主權Rollup 的節點對正確的鏈進行確認。這種設計使得主權Rollup 能夠從DA 層繼承多個安全屬性,包括活躍度、安全性、重組抵抗和審查抵抗。
對於智慧合約Rollup,升級取決於結算層的智慧合約。要升級Rollup,需要修改智能合約。這可能需要多個簽章來控制誰可以發起智能合約的更新。儘管團隊控制升級多重簽章的情況很常見,但透過治理來控制多重簽章也是可行的。由於智能合約位於結算層,因此受到結算層社會共識的限制。
主權Rollup 透過類似於Layer 1 區塊鏈的分叉進行升級。發布新的軟體版本後,節點可以選擇將其軟體更新為最新版本,如果節點不同意升級,它們可以繼續使用舊軟體。這樣的選項使得社區中運行節點的人可以決定是否接受新的更改,即使大部分節點進行了升級,也無法強制它們接受升級。這種特性使主權Rollup 成為真正的「主權」Rollup。
量子重力橋(QGB)是Celestia 生態系統的關鍵組成部分,它充當了Celestia 和以太坊(或其他EVM L1 鏈)之間的橋樑,實現了兩個網路之間的數據和資產傳輸。透過引入Celestium(EVM L2 Rollup)的概念,利用Celestia 實現數據可用性,同時選擇以太坊作為結算層。
這樣就實現了充分利用兩個網路優勢,即Celestia 的可擴展性和資料可用性,以及以太坊的安全性和去中心化特性。在Celestia 上的驗證器可以運行QGB,使Celestium 能夠為區塊資料提供強大的資料可用性保證,而成本僅為以太坊calldata 的一小部分。
QGB 是實現Celestia 可擴展、安全和去中心化區塊鏈生態系統願景的關鍵部分。它促進了區塊鏈技術未來所需的互通性。目前,該專案正在研究Zk QGB,以進一步降低驗證的Gas 成本。
DA 經濟學
我們來談談DA 未來有多少經濟價值。
這個假設是由Delphi 的研究員Jon Charbonneau 提出的,基於Polygon Hermez 的預測,即他們在Danksharding 中最終每筆交易只需14 個位元組。根據上述EIP-4844 規格,在1.3 MB/s 的情況下,Layer2 可達到約10 萬TPS,預計收入將高達驚人的300 億美元。
在如此巨大的利益驅使下,未來的DA 市場競爭將異常激烈。除了三大解決方案之外,Stark 的Layer3、zkPorter 以及其他一些模組化DA 專案也將加入戰局。因此,從現有的Layer2 專案來看,通用鏈更傾向於使用以太坊DA,而應用鍊和長尾鏈將成為「非正統DA」的主要客戶。我個人認為,模組化DA 以及快速發展的Layer3 將是未來的主流選擇。
結語
邁向去中心化依然是產業的主流概念,模組化區塊鏈本質上是對以太坊價值觀的延伸,也是試圖打破區塊鏈不可能三角的嘗試。儘管其設計富有多樣性,但這也導致了施工的複雜性。由於模組化建造中有眾多模組可供選擇,而不同模組之間存在潛在的盲盒風險,如何建構更穩定的模組化系統便成為了一個需要關注的問題。另一方面,在模組化趨勢的推動下,數十個Layer2 將進一步削減流動性,跨鏈通訊和安全也將成為未來發展的重點。最近,比特幣的模組化也成為了熱門方向,其中一些方案具有一定的可行性,值得適度關注。