原文:《模塊化區塊鏈:推動Web3生態進化的基礎設施》
作者:Ray
摘要
-
毋庸置疑,模塊化區塊鏈將會成為下一輪週期的基建設施新敘事,但這並不意味著單體區塊鏈將會被取代。相反,模塊化區塊鏈的發展會成為推動單體區塊鏈的進化和前進的重要助力。兩者將會優勢互補地共同引領和支撐下一個10億級用戶的Web3生態;
-
相比於模塊化區塊鏈準確的定義,通過交易和區塊數據感受和理解模塊化區塊鏈的執行層、數據可用層、共識層和結算層會產生更加直觀的認識;
-
執行層充當了單體區塊鏈交易擴容,計算外包的實踐先行者。數據可用層不僅是在做區塊鏈數據存儲的降本增效,也實現共識層保障之下數據驗證之後的可用性。共識層致力於復用去中心化的力量,打造全新的去中心化構建框架。結算層核心在於優化完善賬戶資產和交易流水的匹配,做到兩者之間的正確關聯;
單體區塊鏈的定義、發展、優缺點和解決方案
比特幣的誕生,標誌著一種去中心化電子現金系統的到來,人們通過它認識到了區塊鏈技術的概念和工作量證明的共識機制。隨後,以太坊的出現,作為一個世界計算機和智能合約平台,其強大的可編程性在金融、社交和遊戲等領域展現了廣闊的前景。儘管十多年的發展歷程中,區塊鏈在普及程度和技術沉澱方面都處於起步階段,但毫無疑問,其潛力依然是巨大無窮的。
通常情況下,我們現在所接觸的公鏈都可以被統稱為單體區塊鏈。它們以每筆交易為載體,通過區塊存儲合法有效的交易記錄,並通過特定的共識機制實現去中心化、無需信任、不可篡改的分佈式賬本網絡。
單體區塊鏈的特點是,它可以從錢包、應用、中間件到基礎設施,全方位獨立地建立完整的生態系統,並且各方之間維持緊密的關係,但是隨著生態發展和繁榮,它又會出現交易阻塞,交易成本上升,網絡參與門檻過高以及維護全網狀態的成本增加等問題。當遇到高並發使用情況時,由於交易吞吐量的限制,單體區塊鏈通常會變得昂貴且難以使用,用戶體驗也會受到很大影響。此外,隨著區塊鏈的不斷增長,整個網絡會出現狀態爆炸,維護網絡的門檻不僅提高,成本也不斷增加。
為了解決單體區塊鏈存在的問題,業內人士多年來,在擴容、狀態修剪等方面都進行了廣泛研究和探索,其中包括但不僅限於狀態通道、側鏈、Rollup、輕節點、分片、模塊化等技術。這些技術的研究和開發,不斷地優化區塊鏈的技術棧,並且提高區塊鏈技術的普及程度。
模塊化區塊鏈的定義及產品:
本質上,模塊化區塊鍊是通過聚合和組合的思想,重新定義和劃分區塊鏈的分層架構,並將其劃分為不同的模塊。這些模塊互相獨立,可以根據需求進行修改和擴展,並可以相互組合。這種組合而成的模塊化區塊鏈不僅可以提升各方面性能,還可以滿足多樣化的應用場景。
過去,站在單體區塊鏈的架構進行思考,我們習慣對其的拆分結果為:承載去中心化應用的應用層,負責執行去中心化應用智能合約邏輯的執行層,處理交易有效性、交易順序和區塊構成的共識層,維護、存儲交易和區塊的數據層以及進行點對點廣播通信的網絡層。
對於模塊化區塊鏈的分層理解,極易以單體區塊鏈的思維先入為主,由此會造成不少混淆。此時,可以從用戶的視角通過正在運行的以太坊樂觀Rollup的二層網絡Arbitrum直觀和深入的了解。通過Arbitrum白皮書關於二層網絡交易流的闡述:可以知道,用戶提交的交易不再直接與一層網絡進行交互,轉由二層網絡的定序器進行收集和批量處理,定序器將批量處理的多筆交易原始數據壓縮發送到一層網絡,與此同時,也會對批量處理的交易進行排序,計算用戶和網絡狀態轉變,然後將狀態結果發送到一層網絡進行結算。
二層網絡的定序器對交易進行收集和批量處理(執行層)
二層網絡壓縮處理交易以後發送到一層網絡(數據可用層)
至於結算的交易Arbitrum的區塊瀏覽器並沒有做很好的一一對聯,此處我們直接通Arbitrum官網部署在以太坊的智能合約入手,分析Delayed Inbox合約涉及到結算相關的函數:sendL1FundedContractTransaction,當結算出現分歧的時候調用;當結算沒有分歧的時候調用Outbox合約的updateSendRoot。相關合約地址請查閱:https://developer.arbitrum.io/useful-addresses。
現在,我們對於執行層、數據可用層、共識層和結算層各自的功能和作用有了明確直觀的認識。執行層是定序器對於交易的批量處理、包括原始交易數據壓縮和狀態的轉變計算。結算層負責確認狀態轉變的最終性。數據可用層是一層網絡對於執行層收集壓縮的交易數據的存儲和維護。至於共識層,保障的是執行層在數據可用層和結算層方面依賴的安全性。
按照從上而下的定義,模塊化區塊鏈的層次結構如下圖:
由於結算層涉及到不同執行層的交易有效性證明設計,例如樂觀欺詐證明和零知識證明,為此,我們暫不做進一步的理解。下面,我們將直接了解模塊化區塊鏈常說的執行層、數據可用層、共識層這三個模塊,著重在它們發展的背景,解決的問題,以及它們當前的發展情況和麵臨的挑戰。
執行層產品及項目
在沒有真正提出執行層產品之前,我們經常聽到一個詞:以太坊殺手。這說明區塊鏈用戶對於交易吞吐量、交易速度和交易成本等方面的性能需求和以太坊提供的現狀存在明顯的不匹配情況。為此,不少新公鏈嘗試從單體區塊鏈本身的交易結構、區塊設計、共識機制和網絡廣播機制進行探索和研究,構造全新的高性能公鏈,去實現海量交易吞吐量、快速交易速度和便宜的交易成本。與此同時,以太坊的生態對於各種各樣的技術和產品方案都進行探索研發。時至今日,以Rollup為主體方案Layer2路線佔據主導地位,其中欺詐證明的樂觀Rollup的Optimism和Arbitrum不管在項目構建、用戶吸引和留存都陸續超越其他EVM兼容的新公鏈,此外,以零知識證明為主的ZKRollup(Starknet、Hermez、zkSync、Scroll、Taiko等)、以並行交易為主的Fuel,AltLayer、Smooth等也在各自的方案領域繼續前進。
隨著Rollup等Layer2的茁壯發展,泛指這些Rollup和並行交易產品的執行層概念正式提出。當然,不僅是以太坊,抑或是在優化了TPS和交易成本的Solana、BNBChain、Cosmos、Aptos等公鏈,各自的官方或社區都提出自己的Rollup和執行層產品。由此,我們不僅進入多鏈並存的時代,也進入多類執行層並存的場景。這也為開發者、用戶和生態帶來不一樣的問題:各自的執行層產品獨立封閉,生態難以共享,用戶在彼此之間操作成本繁重,開發者構建和運營時間週期和成本昂貴。為此,以Rollup作為服務的產品同樣面世。例如Sovereigen Labs,Stackr Labs,Eclipse Builders,Dymension等。這些產品類比於執行層的Hub,將原本定位於二層網絡的Rollup轉變為Layer3,由此構造單Hub多Rollup的樹枝型執行層。
由於擴容場景的歷史需求,執行層的產品探索和研發多年,各自的方案在這麼多年都有獲得重大突破。在未來的周期裡,執行層的產品依然有不少尚未解決正在探索的問題:如去中心化定序器、zkEVM和並行交易等。
數據可用層產品及項目
大數據時代和雲時代的到來,作為現代社會基礎資源的數據,可以在各種決策場景提供幫忙和支撐,其戰略地位如同過去的石油一般。當我們提到區塊鏈的數據時,通常指的是鏈上存儲的各種交易數據和智能合約數據。這些數據存儲方式和傳統的數據庫有所不同,從某種角度而言,區塊鏈的數據存儲方式是分佈式的,即每個節點都要存儲一份完整的數據副本。當下,隨著鏈上用戶交易數據的活躍以及智能合約的繁榮,區塊鏈數據在線性增長的基礎上面,出現指數級增加的跡象。比特幣網絡從2016年55G的全網大小,一直按照每年50G增長,但是在2020年開始,其網絡大小的年增長量開始躍遷為60G,截至當下2023年2月,全網數據大小是459G。
https://www.blockchain.com/explorer/charts/blocks-size
作為世界計算機和智能合約平台,以太坊的全網數據遠比聚焦在支付領域的比特幣要大得多。通過Etherscan可以看到,現在成為以太坊默認全節點至少需要800多G空間,成為以太坊Archive全節點至少需要13000G存儲空間。
不僅整體的數據量龐大,並且大部分數據都是以非格式化的形式存儲的,由此造成區塊鏈數據的處理、索引和查詢難度極大。為此,站在單體區塊鏈的角度思考,如何高效地、廉價地存儲、快捷地處理和支持海量訪問區塊鏈數據成為極其重要的研究方向。
早在比特幣白皮書提出之時,中本聰對於網絡的狀態爆炸做了預先的解決方案:分別是Reclaiming Disk Space和Simple Payment Verification(SPV)。 Reclaiming Disk Space是允許節點對於耗費的歷史數據進行修剪從而降低全網數據大小,此方案在一定程度可以降低維護成本和參與門檻,但是由於全網數據體量的龐大,以及賬戶模型的單體區塊鏈,例如以太坊,維護的數據維度和UTXO模型不一樣,直接適用程度會比較有限,但基於Reclaiming Disk Space的思路,以太坊社區延申和追求的方案是將賬戶狀態從區塊鏈分離出去的Stateless Ethereum方案,。 SPV主要是提倡輕節點Merkle樹驗證區塊鏈交易數據的方案,在實現網絡的低參與門檻之外,保證交易數據的有效性。由於SPV的輕節點單純下載區塊頭信息進行驗證,所以可能會收到欺詐性證明攻擊。為此,現在Celestia的聯創Mustafa Al-Bassam、Mysten Labs的Alberto Sonnino和Vitalik曾在2018年發表《Fraud and Data Availability Proofs:Maximising Light Client Security and Scaling Blockchains with DishonestMajorities》提出欺詐性證明攻擊的解決方案,在此,單體區塊鏈的數據可用性可以被理解為輕節點在不完全同步區塊數據的前提之下,僅通過交易Merkle樹對於交易數據的有效性驗證。
對於模塊化區塊鏈的執行層而言,單體區塊鏈的數據轉變成為鏈上數據,執行層的交易數據通過壓縮存儲成為鏈上數據其上的鏈下數據。鏈上數據對於鏈上數據不僅有常規的存儲查詢等性能和成本的直接要求,還會依賴鏈上數據伴隨的共識機制進行安全性保證。如此,正是執行層產品的發展,豐富了單體區塊鏈的數據可用性,並擴展了數據可用層概念對應的上下文。
在繼續往下之前,我們必須明白,數據可用層和數據存儲層是不能混淆的概念。數據可用層強調的是可用性,是以數據的有效性角度進行思考。數據存儲層更多是站在計算機存儲器的角度去定義數據的存儲和使用性能,更多的關注是鏈上存儲的成本費用、讀寫效率等。數據可用性必然是基於數據存儲層延展出來的概念,此處延展的正是共識機制帶來的可用性。換一種說法,Don’t Trust,Verify,此處的Verify對應的即是數據可用性。
以太坊,作為現在執行層產品首選的數據可用層,由於其自身的Gas模型和Calldata結構,存在以下明顯的缺點:1,數據的操作和存儲成本高;2,數據的存儲容量有限;3,網絡資源分配不均。為此,以太坊通過EIP-4844的Proto-Danksharding、Data AvailabilitySampling(DAS)、Erasure Coding和Proposer/Builder Separation等提出自身的數據分片和狀態擴容方案。未來,以太坊將引入新的Blob交易類型和額外數據層,在保證數據可用性的前提之下,降低當前鏈上的動態存儲成本。至於其他專門的DA產品,不僅在數據可用採樣性、Erasure Coding等技術方案探索,也增加各自對於數據可用性領域的研究突破,例如Polygon Avail的Fast Sync技術和Celestia的主權性和互操作性。除了數據可用層的產品,在現有數據存儲層方面,我們也可以看到有BNB生態新推出的存儲側鏈Greenfield,以及Kvye和Arweave等組合類產品。
共識層產品及項目
Not your keys, not your crypto。在區塊鍊網絡,秘鑰代表著數字資產的所有權。為了確保秘鑰與數字資產對應的所有權,區塊鍊網絡必須實現強大的共識機制,以保證足夠的去中心化程度和安全性。共識機制保障的是符合單體區塊鏈交易格式的數據,例如比特幣保障的是其上的交易以及交易內置的腳本邏輯,以太坊保障的是EVM可以執行和驗證的交易。不僅如此,由於區塊鏈世界存在兩類具有明顯差異的共識機制(PoW和PoS),不同單體區塊鏈之間的不同共識,是難以進行互操作結合和使用的。另外,即使是原生支持多鏈互操作性的單體區塊鏈,例如Cosmos和Polkadot,儘管已經在交易格式,抑或是共識機制方面可以實現兼容,但仍然存在共識機制難以共享使用的情況。
進入共識層產品之前,讓我們先了解和熟悉PoW和PoS的發展和當下狀況。
PoW可以粗略地理解為用物理世界的算力保證區塊鍊網絡的安全,其面臨的最常見攻擊是51%算力攻擊和雙花攻擊,因此,只有網絡的算力足夠龐大,網絡的安全性才可以得以保障。很多新型的PoW公鏈,在冷啟動階段,由於早期算力的不夠,網絡很容易遇到安全問題。為此它們要么通過長時間高成本的算力積累,要么考慮借助比特幣等傳統PoW網絡的挖礦算力採用同樣的PoW算法進行聯合挖礦。由於區塊鏈的算力本質是隨著區塊高度的增加而逐漸增加的,聯合挖礦/合併挖礦是通過加密經濟激勵機制租用算力,當兩條公鏈利益重合匹配的時候,聯合挖礦/合併挖礦對於礦工而言是有吸引力的,但是,當新PoW公鍊和比特幣網絡利益出現衝突的時候,由於比特幣網絡並沒有辦法在協議層面製裁礦工,所以,礦工一般會採取不利於其他新PoW公鏈的行為。例如,在很早以前Namecoin就通過和比特幣網絡的算力進行聯合挖礦,由於聯合挖礦方案在某些場景會造成兩個網絡的利益不匹配,所以造成了Namecoin的潛在風險。對於實現了智能合約功能的比特網側鏈RSK而言,儘管RSK在與比特幣網絡的利益層面做了優化,但是其自身的迭代開發都受限於比特網的非圖靈完備性,故而在聯合挖礦方面的突破是有限的。另外,對於Quai Network此類從設計之初,原生地提出多鏈聯合PoW,在算力層面進行抱團取暖。即便如此,Quai Network也僅僅是將共識的冷啟動成本進行均攤而已,也無法做到PoW共識機制的複用和組合。
PoS共識機制的核心是利用權益保護網絡,權益的價值將決定網絡的總體價值,只有足夠高價值的權益才能保障高價值的網絡。現在流行的PoS機制是基於PBFT改良的,本質依然是權益的證明。常見的PoS網絡有知名的Cosmos和Polkadot。秉承著最小化信任的機制,Cosmos作為Hub,是不會主動干預生態應用鏈的共識機制。 Cosmos生態的應用鏈可以復用整個生態完善的開發棧,但是,在維護對應應用鍊網絡的時候,網絡驗證者集的成立和維護是需要極高的門檻和成本,這也是信任和安全的成本。不少應用鏈一般會用空投吸引Cosmos驗證者,提供高額的通脹獎勵鼓勵驗證者進行質押保護網絡。為減少共識機制的建立成本和提高應用鏈的安全,Cosmos 2.0提出各種改進方案,例如,可以藉用Cosmos為應用鏈進行安全共享ICS,可以為應用鏈進行共識共享的Space Mesh等。除此之外,Cosmos生態的Babylon也嘗試將比特幣網絡的PoW共識安全引入Cosmos生態用於保障應用鏈的安全。對於波卡而言,我們都知道其結合了極強的鏈上治理模型和前沿的共識理念。可以這麼理解,波卡通過平行鏈卡槽拍賣的機制,直接將共識機制的保障邊界擴展到其他鏈的交易。不可否認,這些機制在復用共識方面,是具有超前的理念,然後由於鏈上治理的效率和共識的強需求存在不匹配,由此造成波卡平行鏈的淡出視野。
現在,讓我們回到合併之後PoS共識機制的以太坊。以太坊是極佳的共識層產品資源,多年的PoW沉澱發展促使以太坊積累高額的價值,探索和迭代多年的PoS機制,配上以太坊完善的智能合約平台,以及蓬勃發展的以太坊執行層產品,促使將PoS以太坊作為新一代共識層產品的前提條件已經成熟。我們可以在現有以太坊質押的邏輯基礎上面,通過設計合理有效的激勵和懲罰機制,復用質押的以太坊,將此部分的以太坊保護其他類型的網絡,例如預言機網絡、跨鏈橋網絡等。這其中,EigenLayer在此賽道進行了多年的研究,其最近也發布對應的白皮書,正式提出Restaking的概念,並從slashing機制描述自身網絡的功能和設計。除此之外,近期火熱的以太坊流動性質押衍生品賽道產品,本質上面擁有大量質押的以太坊,一旦出現合適的共識層產品,流動性質押衍生品賽道的產品都將可以無縫地作為共識提供者參與進來。
結語
現代軟件開發流行面向服務的微服務架構,通過將應用程序拆分成為功能和特性獨立的服務,讓每個服務自主地開發、部署和運行,各個服務之間通過通信和數據共享的方式進行靈活組合,以此實現更高的擴展性、靈活性和可維護性。微服務架構的發展正在逐步成熟和完善,儘管在實踐中還存在一些挑戰和問題,如分佈式事務、服務治理、安全性等方面,但隨著技術的進一步成熟和經驗的積累,這些問題都逐漸得到解決。
模塊化區塊鏈,和微服務架構有不少相似之處,隨著區塊鏈的不斷發展,也將會成為區塊鏈技術的重要方向。當前,執行層產品,正不斷承擔更多交易計算的職能,在用戶數據、交易數據等各項指標都取得卓越的效果,數據可用層和共識層在各自的方案領域不斷前行,結算層的功能有待開發,各自之間潛在的靈活組合將會帶來更多無限的潛力。未來,我們有理由相信,模塊化區塊鏈將會帶來更多創新和機遇,為推動區塊鏈技術的應用和發展做出重要貢獻。
資料
https://developer.offchainlabs.com/docs/home
https://community.optimism.io/
https://zksync.io/dev/
https://scroll.io/
https://taiko.xyz/
https://www.paradigm.xyz/2022/08/dasData Availability Sampling: From Basics to Open Problems
https://arxiv.org/abs/1809.09044Fraud and Data Availability Proofs: Maximising Light Client Security andScaling Blockchains with Dishonest Majorities
https://ethereum.org/en/developers/docs/data-availability/
https://ethresear.ch/t/the-stateless-client-concept/172/13
https://notes.ethereum.org/@vbuterin/proto_danksharding_faq