作者:Zeke, YBB Capital
前言
區塊鏈的三角困境在過去一直是業界難以逾越的鴻溝,而前僕後繼的公鏈項目總想透過不同架構的設計試圖跨越這道鴻溝,並成為所謂的「以太坊殺手」。然而事實是殘酷的,這麼多年來以太坊一人之下的地位從未被超越過,區塊鏈的不可能三角也依舊牢不可破。那麼究竟是否存在一種方法為公鏈補足其缺口,以填滿不可能三角? Mustafa Albasan對於模組化區塊鏈的想法正是萌芽於此。
模組化的起源
模組化區塊鏈的誕生源自於兩本白皮書,2018年時Mustafa Albasan 與Vitalik 共同撰寫了一篇名為《Data Availability Sampling and Fraud Proofs》的論文。該文描述了一個透過允許輕客戶端接收並驗證來自完全節點的詐欺證明,以及設計資料可用性證明系統,減少了鏈上容量與安全之間的權衡,從而在不犧牲安全和去中心化的前提下,解決區塊鏈的擴展性。
接著在2019年,Mustafa Albasan 撰寫《Lazy Ledger》的白皮書時,詳細介紹了一個新架構,其中區塊鏈僅用於排序和保證交易數據的可用性,而不負責交易的執行和驗證。該架構的目的是解決現有區塊鏈系統的可擴展性問題。當時他把這個稱之為「智慧合約客戶端」。
而智慧合約的執行則透過另一個執行層在這個客戶端上執行,這便是Celestia 的雛形。之後Rollup的出現,使得這個構想更具確定性。因為Rollup 的邏輯就是離鏈執行智能合約,然後將結果匯聚為證明上傳至「客戶端」的執行層。
透過對區塊鏈的架構以及新擴容技術進行反思,他定義了一個新範式,並將其稱之為「模組化區塊鏈(Modular Blockchain)」。
什麼是模組化區塊鏈
傳統單片區塊鏈的架構通常由四個功能層組成:
- 執行層(Execution layer)-執行層主要負責處理交易和執行智能合約。它包括交易的驗證、執行和狀態的更新;
- 資料可用性層(Data-availability layer)-資料可用性層在模組化區塊鏈中負責確保網路中的資料可被存取和驗證。它通常包括數據的儲存、傳輸和驗證等功能,以保證區塊鏈網路的透明度和信任;
- 共識層(Consensus layer)-負責節點間的協議,以達成網路中資料和交易的一致性。它透過特定的共識演算法,如工作量證明(PoW)或權益證明(PoS),來驗證交易並創建新的區塊;
- 結算層(Settlement layer)-負責完成交易的最終結算,確保資產的轉移和記錄在區塊鏈上永久保存,決定區塊鏈的最終狀態。
單片區塊鏈使這些組件的工作都整合於同一個系統內完成,這種高度整合的設計方式必然會導致一些固有問題的存在,例如可擴展性差、靈活性差、維護以及更新困難。
而Celestia 認為單片區塊鏈不再需要自己完成所有事情。 Web3未來的演變將是“模組化區塊鏈”,透過使區塊鏈模組化,並將其流程分配到多個“專屬層”中,每個“專屬層”負責處理特定的功能層,從而創建一個更優的系統,並且該系統應具備獨立、安全、可擴展性的特性。
模組化設計原則
如果一個設計將系統分解成可以交換或替換的較小部分,那麼這種設計就是模組化的。其核心理念是只專注於做好部分事(部分或單一功能層的運作),而不是試圖做所有事情。如果用我們過去較為熟悉的項目來舉例,Cosmos Zones、Polkadot Parachains 其實都可視為模組化的一種。
新視角
基於模組化的新視角來看,對單片區塊鏈及其所屬的模組化堆疊,進行再設計的空間將極大的提升。具體用途和架構各不相同的模組化區塊鏈都可以透過組合達成協同工作。在設計多樣化的可能性下,這條賽道也誕生了非常多有趣的創新項目。而下文將以模組化視角去討論目前關於不同功能層的爭議及Celestia 是如何詮釋「模組化」的。
圍繞以太坊為中心的執行層
如果把Rollup看成對於模組化的執行層,我們會發現模組化執行層的專案幾乎都是建立在以太坊之上的。原因自然也不言而喻,以太坊擁有大量資源做為護城河並且去中心化程度是可選擇裡最強的,但其可擴展性卻很差,所以在功能層的再設計方面潛力極大。從近期上線的Move系語言公鏈( Aptos、Sui )的慘淡對比以太坊上Layer2的空前盛況,也不難看出區塊鏈的基建敘事也從做公鏈轉向為做以太坊的Layer2。那麼模組化的存在究竟是好是壞?圍繞以太坊為中心的執行層是否扼殺了公鏈的創新?
區塊鏈擴容圖景
首先以執行層為視角出發,將現有的鏈再歸類。這裡引用Nosleepjon文章《塔圖因的雙太陽》對區塊鏈目前的執行層分類做個說明。
目前的區塊鏈可劃分為四類:
1.單線程單片區塊鏈:一次處理一筆交易的單體區塊鏈。由於限制,其中大多數已轉向Rollup 或水平擴容路線圖。
代表項目:以太坊、Polygon、BNB Chain、Avalanche
2.並行處理單片區塊鏈:一次處理多筆交易的單體區塊鏈。
代表項目:Solana、Monad、Aptos、Sui
3.單線程模組化區塊鏈:一次處理一筆交易的模組化區塊鏈。
代表專案:Arbitrum、Optimism、zkSync、Starknet
4.並行處理模組化區塊鏈:一次處理多個交易的模組化區塊鏈。
代表專案:Eclipse、Fuel
單片平行處理架構VS 模組化架構
目前對於該採用那種方案,說法繁多,尤其是在模組化與整體並行處理這兩個概念間的對比。陣營也分為三種:
模組化陣營:模組化擁護者(大多也是以太坊擁護者)認為單片區塊鏈不可能解決區塊鏈的不可能三角。在以太坊上進行疊樂高才能在具備安全與去中心化特性的前提下,得到可擴展性。且模組化具備更多的控制權和可自訂性。
單片並行處理陣營:此陣營(引用Kodi與espresso在《單片VS 模組化:誰才是區塊鏈的未來?》的觀點)認為單片並行處理的新公鏈架構(Move系,Solona等)擁有高度的整合性,整體效能會優於模組化的碎片化設計,模組化的架構也不安全,尤其是需要大量跨鏈通信,駭客的攻擊面反而更廣。
中立陣營:當然也有持中立態度,認為兩者最終能共存的。例如Nosleepjon認為這個遊戲的終局是:兩者各有優點,公鏈的競爭還會存在,Rollup之間則是互相競爭。
EndGame
這個問題的重點,實際上可簡化為模組化的摩擦缺點(跨鏈不安全、系統不流暢等)是否大於新公鏈的中心化問題。從市場來看這個爭論,不論是Rollup中心化排序器的缺陷還是跨鏈橋的可能存在的危險性,都沒有讓人們轉向新的公鏈。是因為這些問題目前看來都有改進的空間,而新公鏈卻複製不了以太坊鏈上龐大的生態護城河與去中心化優勢。
另一方面,新公鏈在架構上雖然擁有效能及一體化的優勢,但生態上都是對以太坊生態的簡單Fork,同質化程度過高,也缺乏流動性。沒有什麼獨佔應用程式能體現自身架構優勢,自然也沒有讓人們不得不放棄以太坊生態的理由。而Rollup的可塑性夠高,未來新架構的Rollup提升空間還很大。當Rollup也具備非EVM鏈大部分優點時,「Solana Summer」這種情況以後很難發生。所以在這個問題上,我認為模組化的摩擦缺點小於公鏈中心化問題。而中立的情況似乎也不存在,以太坊的虹吸效應會如同「iPhone」一樣,將大量注重可擴展性的開發者吸引到二層去,新公鏈則會成為鬼城。
關於基建的未來,我無疑是更傾向於模組化,以太坊的分型擴容也將是公鏈遊戲EndGame的開始,Layer2之間競爭通用鏈,Layer3之間競爭超級應用鏈。
目前一級市場正在融資的項目情況也印證了這一點,除了大量的以太坊二層項目外,就是對比特幣的擴容項目,幾乎看不見新公鏈的身影。
但話又說回來,產業總是建立在以太坊上發展,現在的趨勢有點過度集中的味道,這種現狀真的好嗎?缺乏競爭會讓一個產業發展停滯,產業需要多樣性,需要更多選擇。但新公鏈如何創造破局的苗頭,到目前為止都還沒看到。當以太坊不斷完善自身缺點的同時,如何找到更大的縫隙去做精準打擊是非EVM系需要重點考量的問題。
DA方案的競技場
說完了執行層的爭議,我們再看數據可用性層(DA層)的爭議,關於Rollup應該採用哪種數據可用性方案爭論一直是業界近期的熱門話題,起因則是以太坊基金的研究員Dankrad Feist的一條推文討論了相關方面的話題。並在觀點中明確指出不使用以太坊DA的Rollup不是Layer2,那麼過去的Layer1戰爭是否會演變為正統(採用以太坊DA)Layer2與非正統Layer2之間的戰爭?那麼目前業界對於DA的解決方案主要有三種:
一.公鏈做為結算層
以以太坊為例,在Rollup進行一筆交易時向以太坊遞交的費用主要包括以下幾類:
執行費用(Execution Fee):對執行交易所需計算資源的補償。它包括了執行交易所需的gas費用,通常與交易的複雜性和執行時間成正比。在Rollup中,執行費用可能會包括在鏈下執行交易的費用,以及產生和驗證交易證明的費用;
狀態費用(State Fee):狀態費用與更新以太坊主鏈上的狀態有關。在Rollup中,這包括了將新的狀態根提交到主鏈的費用。每當Rollup聚合器產生一個新的狀態根並將其提交到主鏈時,都會產生狀態費用。這種費用可能與狀態更新的頻率和複雜度成正比;
數據可用性費用(Data Availability Fee):將數據發佈至Layer1的費用。
在這些費用中數據可用性費用的佔比最大,而且費用高昂,譬如Arbitrum在今年5月6日時由於以太坊的Gas 費激增,單日支付給了以太坊376.8ETH的天價Gas 費。
這是由於Rollup在上傳資料至以太坊時是使用Calldata的形式上傳的,且永久儲存這些數據,所以費用非常昂貴。但好處是擁有三個方案中最好的安全性和正統性,目前方案的成本下降需要等待坎昆升級的EIP-4844更新。透過引入Blob carrying Transactions的交易格式。讓交易格式與普通的交易格式相比,多了一個Blob的位置可以用來存放Layer2的資料。而且,Blob資料在一個月後會被節點刪除,大幅節省了儲存空間。
Blob這種交易格式能夠提供比Calldata更廉價的資料可用性。主要有兩方面原因:一方面,Callda存在於Execution Payload中,而Blob資料儲存於Prysm節點或Lighthouse節點中(而非在Geth中),相較於而言Calldata需要被合約讀取時所消耗的資源多很多;另一方面,Blob資料是短期存儲,一個月後節點會刪除Blob資料。但其Gas費用仍會高於後兩種方案。
二.Validiums DA模式
對於應用鏈類型的Rollup來說(例如曾經的dYdX、Immutable等),它們通常使用的是頭部Rollup專案推出的二層可擴展性引擎製作(目前最多的是StarkEx,但ZK系的頭部項目都有類似的方案)。而在DA模式上由於應用鏈運算量較大,它們更傾向於選擇使用Validiums這種低成本、高吞吐量的方案。 Validiums的原理是利用鏈下資料可用性和計算來設計,類似於ZK-Rollup,透過發布零知識證明以驗證以太坊上的鏈下交易。然而,不同於ZK-Rollup將資料保持在鏈上,Validiums將資料保持在鏈下,對比使用以太坊的方式費用下降90%,是可選擇情況下最具成本效益的解決方案。
但由於資料保持在鏈外,Validium的實體營運商可以凍結用戶的資金。為了防止極端情況發生,必須再引入了一個資料可用性委員會(DAC,Data Availability Committees)方案,DAC必須透過其法定人數對狀態的每次更新進行簽署來確認它已收到資料。這是一種頗具爭議的做法,因為你必須先相信實體的安全性而不是鏈。 Dankrad Feist(上文EIP-4844的提出者)發表的推文中,直接點名的便是這種方案。
三.模組化DA
從模組化的角度來說,DA層的再設計具有多種方式,可能會導致不同項目的具體實現方式有較大差別,所以對於模組化DA項目的詳細說明需要大量篇幅,此處則以Celestia為代表作為DA項目的說明。
Celestia
接著文章開頭部分,做為模組化區塊鏈概念的首個提出者, Celestia 是賽道中最知名、最早期的項目。其願景旨在解決區塊鏈擴展性和模組化的問題。 Celestia 為開發者提供了更多靈活性,使他們能夠更輕鬆地部署和維護區塊鏈應用程式。同時,它也正在降低部署區塊鏈的成本和複雜性,為dApp創建者和區塊鏈開發者提供了一個模組化、可擴展的區塊鏈架構,以支援各種應用和服務的需求。
工作原理與架構
解耦執行: Celestia 的邏輯是將協議分成不同的層級,每個層級專注於特定的功能,然後可以重新組合這些層級來建立區塊鏈和應用程式。 Celestia 則專注於層級中的共識和資料可用性層。與一些Layer1類似,Celestia 採用拜占庭容錯(BFT)共識演算法Tendermint進行交易排序,但又不同於其它Layer1。 Celestia 不會推理交易有效性,也不執行交易,只進行交易的打包排序、廣播,所有交易有效性規則均由Rollup節點在客戶端強制執行(即解耦共識層和執行層)。那麼注意一個關鍵點,「不推理交易有效性」。也就是隱瞞交易資料的惡意區塊,也可發佈到Celestia 上。所以校驗流程該如何實現? Celestia 在此引進了兩個核心,二維Reed-Solomon編碼與Data Availability Sampling (資料可用性取樣,簡稱DAS)。
單片區塊鏈的整體架構比較Celestia 的模組化架構
DAS:此方案用於輕節點驗證區塊資料的可用性,此方式不需要節點下載整個區塊。只需要採樣區塊的部分資料即可(具體的實作方式需要透過二維Reed-Solomon編碼,下文會詳細說明)。有別上文所說的DAC,DAS無需相信實體的安全,只需要鏈足夠去中心化,資料就可相信。
二維Reed-Solomon編碼(糾刪碼):二維Reed-Solomon編碼的基本思想是對行和列都分別應用Reed-Solomon編碼。這樣,即使在二維資料的某些行和列中出現錯誤,也可以進行修正。接著透過對區塊資料進行編碼,將區塊資料分割成kk的區塊,排列成kk的矩陣,並透過多次Reed-Solomon 編碼擴展為2k2k擴展矩陣。計算擴展矩陣的行和列的4k 個獨立的默克爾根;這些根的梅克爾根用作區塊頭中的區塊資料承諾。 Celestia 輕節點對2k2k資料塊進行抽樣。每個輕節點隨機選擇擴展矩陣中的一組唯一座標,並查詢全節點有關這些座標的資料區塊和相應的默克爾證明。每個接收到的,帶有正確默克爾證明的資料區塊都會被廣播到網路中。
如果抽象化一些理解,也可以這麼說將區塊資料分成一個方陣(例如,8×8),透過編碼,為原始資料添加額外的「校驗」行和列,形成一個更大的方陣(16×16) 。透過隨機抽樣這個大方陣中的部分數據,並驗證其準確性,即可確保整體數據的完整性和可用性。即使部分資料遺失或損壞,仍可利用校驗資料還原整塊資料。
區塊縮放:Celestia 會隨著輕節點數量的增加而擴展。只要網路上有足夠的節點來抽樣整個區塊,Celestia 就會保持安全。這意味著隨著更多的節點加入網路進行抽樣,區塊大小可以相應地增加,而不犧牲安全性或去中心化。而在傳統的區塊鏈上這樣做會犧牲去中心化,因為更大的區塊大小會為節點下載和驗證資料增加更大的硬體需求。
主權Rollup:這也是Celestia 首創的概念,結合了各種區塊鏈設計的元素,包括Layer 1 區塊鏈、Rollup和像Mastercoin 這樣的早期比特幣網路。主權Rollup 和智能合約Rollup(OP、ARB、ZKS等)之間的關鍵差異在於交易如何被驗證。在智能合約Rollup 中,交易由以太坊上的智能合約驗證。相反,在主權Rollup 中,Rollup 本身的節點驗證交易。
主權Rollup 將其交易發佈到另一個區塊鏈(如Celestia )以進行排序和資料可用性。主權Rollup 的節點然後確定正確的鏈。此設計允許主權Rollup 從資料可用性(DA) 層繼承多個安全性方面,包括活性、安全性、重組抵抗和審查抵抗。
對於智慧合約Rollup,升級取決於結算層上的智慧合約。升級Rollup 需要更改智能合約。可能需要多簽名來控制誰可以啟動智能合約的更新。儘管團隊控制升級多簽章很常見,但可能透過治理使多重簽章受控。由於智能合約存在於結算層上,它們也受到結算層的社會共識的約束。
主權Rollup 透過像第一層區塊鏈那樣的分叉進行升級。發布新的軟體版本,節點可以選擇將其軟體更新到最新版本。如果節點不同意升級,它們可以繼續使用舊軟體。提供選擇讓社區,即運行節點的人,決定他們是否同意新的更改。即使大多數節點升級,它們也不能被迫接受升級。與智能合約Rollup 相比,這個特性使得主權Rollup 成為「主權」 Rollup。
量子重力橋(Quantum Gravity Bridge 簡稱QGB):Celestia 生態系的關鍵組件,它作為Celestia 和Ethereum(或其他EVM L1 鏈)之間的橋樑,實現兩個網絡間的數據和資產轉移。透過引入了Celestium 的概念(EVM L2 Rollup),使用Celestia 進行數據可用性,但在以太坊上結算。從而達到同時利用兩個網路的優勢:Celestia 的可擴展性和資料可用性,以及以太坊的安全性和去中心化。
Celestia 上的驗證者可以執行QGB,使Celestium 以低於Ethereum 的Calldata 成本的部分提供區塊資料的強資料可用性保證。
QGB做為Celestia 實現可擴展、安全和去中心化區塊鏈生態系統願景的關鍵部分。它實現了區塊鏈技術未來所需的互通性。而專案目前還在製作Zk QGB,進一步降低驗證的Gas費用。
DA經濟學
我們再來聊聊DA具備多大的經濟價值。
這個假設是基於Polygon Hermez 預計他們最終每筆交易只需要14 個字節,在當前Danksharding 規範1.3 MB/s 下,Laeyr2的TPS可以達到10萬左右,那麼預計的收益將達到300億美元這個驚人的數字。
在如此巨大的蛋糕下,DA市場未來的紛爭將是非常激烈的。目前除了三個主流方案外,還有Stark的分型縮放Layer3、zkPorter,以及多個模組化DA專案都將加入戰爭。那麼從現有Layer2專案來看,通用鍊是完全傾向使用以太坊DA的。而應用鍊及長尾鏈將是「非正統DA」的主要客戶。我個人的看法是模組化DA和不久後的Layer3將會成為未來的主流選擇。
結語
在去中心化上前進依舊是這個行業的主流觀念,模組化區塊鏈本質上是對以太坊價值的延伸,也是打破區塊鏈不可能三角的嘗試,雖然設計上充滿了多樣化性,但也使建置更繁瑣複雜。而模組化搭建裡由於模組又具備多種選擇,不同模組的風險都是盲盒,如何建構一個較為穩定的模組化系統是需要注意的地方。另一方面的影響是,在模組化風潮的帶動下數十條Layer2 也將流動性再次割裂,跨鏈通訊與安全性也會是未來的重點。而BTC 的模組化也是最近較熱的方向,有了一些稍微可行的方案,也能適當地關注。