模組化區塊鏈給了很多垂類項目後來者居上的機會。
原用標題:公鏈終局會是區塊鏈模組化麼? ——以太坊模組化及 Celestia 學習 (24.02)
前言
以太坊 VS Celestia + Cosmos,大概取捨的就是以下這幾項: 正統性+安全性高+去中心化程度高 VS 可擴展性高(成本低+性能好+迭代容易)+可交互性好為什麼後者能夠被許多使用者認可,早期主要是體量較小、發展時間較短的專案方和使用者的雙邊需求決定的:
- 使用者:在許多使用者的認知當中,因為許多泛用戶對於產品是否好用、價格是否實惠的需求大於安全性(無論是 Web2 或 Web3);
早期專案方:需要好的擴展性以隨時進行策略調整,更低的成本來使專案有更長久的生命力。因此很難直接說 Celestia 等模組化區塊鏈是 “以太坊殺手”,而是有很大一部分人群對於高性能、性價比高、可擴展性好的 Web3 公鏈有需求。以太坊的正統性、安全性、頭部效應等依舊是不可撼動的,但不妨礙使用者在某些特定場景會有其他的選擇。
1. 背景
馬上要坎昆升級了,EIP-4844 Proto Danksharding 後預期會進一步降低 Layer2 的 Gas Fee。
以太坊在未來幾年將會完成分片方案 DankSharding(坎昆升級、EIP-4844 只是其中一個)。
然而,隨著 23 年 10 月 31 日 2 點 Celestia 主網上線,以及今年第一季大概率能夠看到 Avail(原 Polygon Avail,目前已經分離成為一個單獨的項目),第三方的共識層+DA 層完全了超車,提前實現了以太坊未來幾年才能實現的模組化目標,在坎昆升級前先一步大幅度降低了 Layer2 的成本,成為很多 Layer2 DA 層的選擇,蠶食屬於以太坊 DA 層的蛋糕。
此外,模組化區塊鏈為未來公鏈的提供了更多樣化的服務,Altlayer、Caldera 等 Raas 服務商成為了其中的受益者,希望藉此能夠有更多垂類公鏈(應用鏈)湧現出來,為 Web 3.0 應用創造更好的土壤。
本文主要將區塊鏈拆解,初步學習模組化區塊鏈專案 Celestia,同時對於以太坊坎昆升級中 Blob 有更深刻的一個認知。
1.1 起源
模組化區塊鏈最早的概念是由 Celestia 聯合創始人 Mustafa Albasan 和 Vitalik 於 2018 年共同撰寫的《數據可用性採樣和欺詐證明》( Data Availability Sampling and Fraud Proofs )。這篇論文主要討論如何在不犧牲以太坊安全性和去中心化的情況下解決可擴展性問題。令人沒想到的是,不光為以太坊,同時也為其他第三方 DA 層提供了技術方案。
大體邏輯就是全節點負責生產區塊,而輕節點負責驗證。
什麼是資料可用性採樣(Data Availability Sampling,DAS)?
PS:此技術是 Celestia 技術的核心,無意間為第三方 DA 層提供了解決方案。
內容翻譯並改編自:Paradigm-joachimneu 撰寫的《Data Availability Sampling: From Basics to Open Problems》
參考以下小黑屋模型:
暗室中有一個公告板(請參見下面的漫畫)。首先,區塊生產者進入房間並有機會在公告板上寫一些資訊。當區塊生產者退出時,它可以為驗證者提供一小段資訊(其大小不與原始資料線性縮放)。你帶著手電筒進入房間,手電筒的光束非常窄,而且電池電量很低,所以你只能閱讀佈告欄上極少數不同位置上的文字。你的目標是讓自己相信區塊生產者確實在公告牌上留下了足夠的訊息,這樣如果你打開燈並閱讀完整的公告牌,你就能夠恢復該文件。
這個模型對於以太坊來說是天然適合且不需要進行太多優化的,因為以太坊的驗證者(驗證節點)足夠多。但是對於其他驗證節點相對較少的公鏈而言則需要以更高的費用和更複雜的驗證方法來進行安全性的保障。
那麼對於驗證節點較少的項目方而言,會面臨兩種情況要么生產者表現誠實並寫下完整的文件,要么生產者行為不當並遺漏了一小部分信息,導致整個文件不可用。透過僅檢查少數位置的公告板,無法可靠地區分這兩種情況。
其中一個解決方案是:Erasure Correcting Reed-Solomon codes(糾刪里德所羅門碼)
糾刪碼的工作原理如下:
k 信息块
被編碼成一個更長的向量n 编码块
。比率r=k/n
代碼的冗餘度衡量代碼引入的冗餘度。隨後,從編碼區塊的某些子集,我們可以解碼原始訊息區塊。
簡單來講,就像兩點確定一條直線,在最初的 r、k、n 都確定的情況下,這條直線就確定了,而後想要復原這條直線,就只需要知道直線上的兩點。
里德-所羅門碼就是根據這種邏輯上進一步複雜化的,一旦知道多項式的評估不同的位置,可以在任何其他位置獲得其評估(通過首先恢復多項式,然後評估它)。
回到我們的資料可用性問題:不再要求區塊生產者在公告板上寫下原始文件,而是要求它將文件切入區塊,使用里德所羅門程式碼對它們進行編碼,例如速率,並寫出將編碼區塊發佈到公告板上。現在讓我們假設區塊生產者至少誠實地遵循編碼——稍後我們將看到如何消除這個假設。再次考慮兩種情況:要么生產者行為誠實並寫下所有塊,要么生產者行為不當並希望保持文件不可用。回想一下,我們可以從任何在...... 之外編碼區塊。因此,為了保持文件不可用,區塊生產者最多可以寫入大塊。換句話說,至少現在,超過一半的編碼區塊,將會遺失!
但現在這兩種情況,一個寫滿了的公告牌,和一個半空的公告牌,很容易區分:你檢查公告牌上的數字很小隨機採樣位置,如果每個採樣位置都有其各自的塊,則認為該檔案可用,如果任何採樣位置為空,則認為該檔案不可用。
什麼是詐欺證明(Fraud Proofs)?
排除無效編碼的方法之一。這種方法依賴於這樣一個事實:一些採樣節點足夠強大,可以採樣如此多的塊,以至於它們可以發現塊編碼中的不一致,並發出無效的編碼欺詐證明,以將有問題的文件標記為不可用。這方面的工作旨在最大限度地減少節點必須檢查(並作為欺詐證明的一部分轉發)以檢測欺詐的塊數量
該方案最終還是犧牲了很小一部分安全性,極端情況下資料會遺失。
有趣的是,該方案為第三方 DA 層專案 Celestia、Avail 的誕生奠定了基礎,以太坊為自己創造了競爭對手。
2019 年,Mustafa Albasan 撰寫了《LazyLegder》將區塊鏈的職責進行了簡化,只需要排序和確保數據可用性,由其他模組來負責執行和驗證(當時並沒有分成不同的層),從而使得區塊鏈的可擴展性問題得以解決。這篇白皮書應該算是模組化區塊鏈的雛形。 Mustafa Albasan 也是 Celestia 的共同創辦人之一。
Celestia 屬於第一個模組化區塊鏈的解決方案,早期是作為一個執行層公鏈的存在,讓智能合約在其上面執行。 Rollup 的擴容解決方案進一步明確了執行層的概念,鏈下執行智能合約,將執行結果批次壓縮成證明上傳到執行層。
關於 Rollup 證明的小補充
- 詐欺證明 (fraud proof) 是一個接受計算結果的系統,你可以要求有質押存款的人簽署以下形式的訊息:「我證明,如果使用輸入 X 進行計算 C,則會得到輸出 Y」。你會默認信任該訊息,但其他有質押存款的人會有挑戰計算結果的機會,他們可以簽名一條訊息,稱「我不同意,輸出結果應該為 Z,而不是 Y。」僅發起挑戰後,所有節點才會進行運算。這兩方中任何一方出錯都會失去保證金,並且所有基於錯誤計算的運算都會重新進行。
- ZK-SNARKs 是一種密碼學證明形式,可以直接驗證「輸入 X 後,執行計算 C,會輸出 Y」。在密碼學層面,此驗證機制是「可靠」的,因為如果輸入 X 後,進行計算 C,結果不等於 Y,則無法透過計算產生有效性證明。即使運行計算 C 本身花費大量時間,該證明也可以很快得到驗證。 ZK 意味著可以更有效率的完成證明和驗證,所以 Vitalik 對於 ZK-Rollup 也是十分推崇,但是和分片一樣,技術難度遠大於欺詐證明,也需要多年的時間實現,同時更具有效率或許會帶來額外的成本。
1.2 區塊鏈不可能三角問題的權衡
區塊塊鏈不可能三角:可擴展性、去中心化、安全性。
簡單定義一個衡量標準的話,
- 可擴展性:可擴展性(好)= TPS(高)+Gas fee(低)+驗證難度(低)
- 去中心化、安全性:去中心化程度(高)+安全性(好)= 節點數量(多)+單一節點硬體需求(低)
這兩者一般只能選擇滿足一個條件,一定程度上犧牲另外一個,這也是為什麼以太坊在可擴展性上的發展,是極為緩慢的;Vitalik 及以太坊基金會對於安全性和去中心化兩個特點有著最高優先權。
像是一些傳統的高效能 Layer1,例如:Solana(驗證者 1,777)、Aptos(驗證者 127),在驗證者都不如以太坊節點數量(5,000+)的情況下就開始追求可擴展性,代價就是對於節點的門檻要求高、營運成本貴;反觀以太坊在大幾十萬驗證者(目前 900k+),確保了絕對的去中心化和安全性的情況下,才開始追求可擴展性,足以看出以太坊基金會對這兩個特質的重視程度。
Solana 驗證者數量:
以太坊驗證者數量:
此外,相對於高效能 Layer1 對於節點的嚴苛要求以及中心化的驗證者,以太坊未來的升級,還會進一步減少驗證者的驗證難度,從而使對於用戶成為驗證者的要求進一步降低。
1.3 數據可用性的重要性
通常,交易提交到鏈上,首先會進入 Mempool,由礦工 “挑選”,打包成區塊,將該區塊拼接到區塊鏈上。包含這筆交易的區塊,會向網路內全體節點廣播。其他全節點將下載這個新區塊,執行複雜計算,驗證其中每一筆交易,確保交易真實有效。複雜計算與冗餘,是以太坊安全基礎,也帶來了問題。
1.3.1 數據可用性
節點通常有兩種:
- 全節點-下載並驗證所有區塊資訊及交易資料。
- 輕節點-非完全驗證節點,易部署,只驗證區塊頭(資料摘要)。首先,確保新區塊產生時,該區塊中的所有資料確實已發布,使得其他節點可校驗。若全節點未發佈區塊中所有數據,則其他節點無法檢測,該區塊是否隱藏惡意交易。
節點需要取得一定時間內的所有交易數據,並驗證,不存在已確認但未驗證的交易數據。這便是通常意義上的數據可用性。若某個全節點隱瞞一些交易數據,其他全節點在校驗後,會拒絕跟隨此區塊,但僅下載區塊頭資訊的輕節點則無法校驗,會繼續跟隨這條分叉區塊,影響安全。儘管通常區塊鏈會罰沒該全節點保證金,但這同樣會使質押給該節點的用戶受到損失。且當隱瞞資料的收益,超過罰沒成本,節點有動機隱瞞,屆時實際受損的,只會是質押用戶和該鏈其他使用者。
另一方面,若全節點部署逐漸中心化,節點間存在串通可能,會危及整條鏈的安全。
資料可用越來越受到關注,一方面因為以太坊 PoS 合併,另一方面則是 Rollup 發展。目前 Rollup 會運行中心化定序器(Sequencer)。使用者在 Rollup 上交易,定序器為交易排序、打包、壓縮,發佈到以太坊主網,由主網全節點透過詐欺證明(Optimistic)或有效性證明(ZK)驗證資料。只要定序器提交的區塊所有資料真實可用,以太坊主網才可據此追蹤、校驗、重建 Rollup 狀態,確保資料真實且使用者財產安全。
1.3.2 狀態爆炸與中心化
狀態爆炸是指,以太坊全節點累積的歷史和狀態資料越來越多,運作全節點所需的儲存資源越來越大,運作門檻提高,致使網路節點中心化。
因此,需要某種方式,使全節點在同步以及驗證區塊數據時,無需下載所有數據,只需要下載區塊的部分冗餘片段。
至此,我們明白了數據可用性很重要。那麼,如何避免「公地悲劇」產生?即大家都清楚數據可用的重要性,但仍需要一些實際的利益驅動,讓大家使用單獨數據可用層。
就像每個人都知道保護環境很重要,但看到路邊的垃圾,「我」為什麼要把它撿起來?為什麼不是別人?「我」把垃圾撿起來,能得到什麼好處?
1.4 簡單拆分區塊鏈
當發生鏈上行為時(例如:Swap、Stake、Transactions...)都要經過以下 4 個步驟
- 執行:開始交易
- 結算:驗證數據,處理問題
- 共識:全都節點同意
- 資料可用性:將資料同步到鏈上
以此為基礎,《LazyLedger》提出將區塊鏈模組化,Celestia 則是將模組化區塊鏈標準化:
- 執行層,Execution Layer
- 職責:負責執行智慧合約和處理事務所需,將執行結果以證明的形式交給結算層;同時也是面向使用者的各種應用部署的地方
- 對應項目:各種 Stack,Op stack、ZK Stack、Cosmos Stack、以太坊上的 Layer2
- 結算層,Settlement Layer
- 職責:負責提供全域共識和安全性,驗證 L2 執行結果的正確性,更新使用者狀態;例如:使用者帳戶的資產狀況變動;鏈本身狀態狀態的更新(Token 轉帳、新合約部署)
- 對應項目:Ethereum、BTC
- PS:節點越多,安全性越高
- 共識層,Consensus Layer
- 職責:負責全節點的一致性,確保將新添加的區塊有效以及確定 memepool 裡的交易順序
- 對應項目:Ethereum(信標鏈)、Dymension
- 資料可用性層,Data Availability Layer
- 職責:負責保證資料的可用性,使得執行層和結算層能夠分別運行;執行層的所有原始交易確保在這裡進行存儲,結算層通過 DA 層驗證
- 對應項目:Celestia、Polygon Avail、EigenDA(Eigenlayer 做的 DA)、Eth Blob+未來的 Danksharding、Near、中心化 DA
像 Celestia 是專注於數據可用性和共識層的 Layer1 區塊鏈;Optimism 和 Arbitrum 是專注於執行層的 Layer2 區塊鏈;Dymension 是專注於結算層。
2. 以太坊模組化進展
2.1 當下架構
一圖概括,不多贅述。
2.2 長期發展-分片成多個工作鏈
以太坊從巴黎升級(及 Merge)開始,就在將自身逐步模組化。
- 共識層/結算層:信標鏈
- 執行層:(完全外包給)Rollup
- DA 層:Calldata(現在)/Blob(坎昆升級後)/Danksharding(未來/終局)
Vitalik 當下對於未來以太坊擴容方案核心之一就是 Rollup-Centric,潛在的終局可以參考以下這個圖:
分片成多個不同擅長的工作鏈,共識、安全性和結算層都繼承以太坊,每個鏈都有對應的 Rollup 負責執行層。
目前研究下來,對於分片的技術難度這一部分公開資料較少,以太坊基金會認為需要未來幾年的時間才能完成完全的分片。
2.3 分片的過渡方案-EIP-4844 Proto-Danksharding/坎昆升級
Dencun 硬分叉已經確定將在 2024 年 3 月 13 日,具體對於 Gas fee 的降低和 TPS 的提升大致就可以有了結論。
坎昆升級最重要的就是加入了新的交易模式 Blob。
- Blob 的一些特點:
- 一個交易 2 個 Blob,258kb
- 一個 block 最大可以有 16 個 blob,2mb,但是以太坊有一個 gas fee 基準線,大於 1mb 的時候,這會導致下一個區塊鏈費率上升;理想狀態是 8 個 blob,即 1mb
- Blob 安全性等同於 L1,因為也是全節點儲存和更新
- 30 天後會自動刪除
- Blob 用 KZG Hashmmitment 作為 Hash,用於資料驗證,類似 Merkle。理解為就是一個下載證明狀態的
- 快取空間佔據網路資源相對較少,透過以太坊基金會透過 EIP-1559(對不同類型的交易分開 gas fee)為 blob 設了一個相對較低的 Gas fee Blob 可以理解為在以太坊每個區塊上外掛幾個快取包,交易資料都存到裡面供全節點驗證和挑戰,然後 30 天後就會消失,最後傳一個 KSG 證明它被驗證並達成共識了。
如何理解?
一個區塊現在是 150kb 左右,一個 Blob128kb,8 個 blob 大概 1M 的空間,擴大了 6、7 倍,此外 gas fee 透過 EIP-1559 降低;單筆交易要上傳的交易資料變少,單一區塊承載交易數量變多,最終達成了 TPS 上升和 gas fee 降低。
- KZG 證明(KZG Commitments)
KZG 證明和梅克爾樹(記錄以太坊的狀態)有點像,是記錄交易資料的狀態。
KZG 多項式承諾(KZG Polynomial Commitment)也被稱為卡特多項式承諾方案,是 Kate,Zaverucha 和 Goldberg 一起發表的。在一個多項式方案中,證明者計算一個多項式的承諾,並可以在多項式的任意一點進行打開,該承諾方案能證明多項式在特定位置的值與指定的值一致。
FRI 是 Starkware 採用的多項式承諾方案,可以實現量子層級的安全,但證明的資料量卻是最大;IPA 是 Bulletproof 和 Halo2 零知識演算法預設的多項式承諾方案,驗證時間相對較長,採用的專案有門羅幣,zcash 等,前兩者是不需要初始可信設定的。
在證明大小與驗證時間上,KZG 多項式承諾的優勢比較大,KZG 承諾也是目前應用最廣的一種多項式承諾方式。
2.4 小結
流程前後的變化 Rollup 原本要將打包壓縮好的交易:最重要的就是原本佔空間比較大的交易數據,變成了一個空間佔比很小、驗證時間很快的 KSG 證明。
2.5 其他觀點
以下引自:https://twitter.com/0xNing0x/status/1758473103930482783
坎昆升級之後以太坊 L2 的 Gas 費用真的會降低 10 倍以上嗎?
如今的市場有一個共識:在坎昆升級之後,以太坊 L2 的平均 Gas 費用將降低 10 倍甚至更高。
在坎昆升級的核心協定 EIP4844 的部署之後,以太坊主網將新增 3 個專門保存 L2 交易和狀態資料的 Blob 空間,而這些 Blob 擁有獨立的 Gas Fee 市場。預計 1 個 Blob 空間儲存的狀態資料最大規模約等於 1 個主網區塊,即~1.77M。
目前以太坊主網每日 Gas 消耗為 107.9b,其 Rollup L2 們的 Gas 消耗佔比~10%。
根據經濟學的供需曲線:
價格=需求總量/供給總量,
假設坎昆升級之後 Rollup L2 們 Gas 需求總量不變,而以太坊可以出售給 L2 的區塊空間從現在 1 個區塊的~10% 變成 3 個完整的 Blob 區塊,這相當於區塊空間的供應總量擴展了 30 倍,那麼 Gas 的價格將降低到原來的 1/30。
但這個結論並不可靠,因為其預設太多線性關係假設,並且抽象掉了太多應該納入計算和考慮的細節因素,特別是 Rollup L2 們之間對 Blob 空間的競爭與博弈策略對 Gas 價格的影響。
Rollup L2 們的 Gas 費用消耗,主要由資料可用性保存費用(狀態資料保存費)+資料可用性驗證費用兩部分組成。其中數據可用性保存費用,目前佔比高達~90%。
坎昆升級之後,對 Rollup L2 們來說,新增的 3 個 Blob 區塊,相當於新增的 3 個公地。依照科斯的公地理論,在以太坊 Blob 空間完全自由競爭的市場環境下,大概率會出現目前處於領先地位的頭部 Rollup L2 們濫用 Blob 空間的現象。這樣可以一方面確保他們的市場地位,另一個方面可以擠壓競爭對手的生存空間。
下圖是 5 家 Rollup L2 1 年的利潤統計情況,可以發現他們每月利潤規模呈現明顯季節性變化特徵,而沒有明顯的整體成長趨勢。
在這樣一個有天花板限制的內捲市場,Rollup L2 們處於一直高度緊張的零和博弈狀態,對開發者、資金、用戶和 Dapp 進行著激烈競爭。坎昆升級之後,他們激烈競爭的對象,又多了 3 塊新增的 Blob 空間。
在「肉就這麼多,別人多吃一口,你就少吃一口」的市場情況,Rollup L2 們之間很難帕累托最優的理想局面。
那處於領先地位的頭部 Rollup L2 們,將如何濫用 Blob 空間?
個人猜測,頭部 Rollup L2 們將修改序列器(Sequencer)的 Batch 頻次,將現在幾分鐘 1 次的 Batch 縮短到~12 秒 1 次,與以太坊主網出塊速度保持同步。這樣既可以提升自家 L2 上交易的快速確認性,還可以佔據更多的 Blob 空間來壓制競爭對手。
在這種競爭策略下,Rollup L2 們的 Gas 費消耗結構中驗證費用和 Batch 費用將會激增。這將限制新增的 Blob 空間對 L2 Gas 費用降低的正面影響。
結果如上圖所示,當 Blob 空間增加對 L2 Gas 費降低的正面影響,會邊際遞減。而且達到某個閾值之後,將幾乎失效。
基於上述分析,個人判斷坎昆升級後以太坊 L2 的 Gas 費用將下降,但下降幅度會不如市場預期。
以上。拋磚引玉,期待更多討論。
3. Celestia
Celestia 為其他 Layer1、Layer2 提供可存取的資料可用層和共識,基於 Cosmos Tendermint 共識及 Cosmos SDK 建置。
Celestia 是 Layer1 協議,相容於 EVM 鏈及 Cosmos 應用鏈,未來將支援所有類型的 Rollup,這些鏈可直接使用 Celestia 作為資料可用層,區塊資料將透過 Celestia 儲存、呼叫、校驗,再回到自有協議清算。
Celestia 也支援原生 Rollup,可直接在其上建置 Layer2,但不支援智能合約,所以無法直接建置 dApp
3.1 發展歷程
- Mustafa Al-Bassam — 共同創辦人兼 CEO,倫敦國王學院電腦科學學士學位,倫敦大學學院電腦科學博士學位。 Al-Bassam 16 時是著名駭客組織 LulzSec 的創辦人兼核心成員,並且長期從事駭客活動。 2018 年 8 月,Al-Bassam 參與創辦了區塊鏈拓展研究團隊 Chainspace,2019 年該團隊被 Facebook 收購。
- 19 年 5 月,發表了《LazyLedger》論文,並於同年 9 月創辦了 LazyLedger(後改名為 Celestia),擔任 CEO 至今。
- 2021 年 3 月 3 日種子輪融資 150 萬美元,資方包括 Binance Labs 等。
- 2021 年 6 月 15 日更新為 Celestia,並發布最小可行性產品,一個資料可用性採樣輕客戶端;2021 年 12 月 14 日開發線上線;2022 年 5 月 25 日,Mamaki 測試線上線
- 2022 年 8 月 3 日推出 Sovereign rollup 方案 Optimint
- 2022 年 10 月 19 日融資 5,500 萬美元,Bain Capital 和 Polychain Capital 領投,Placeholder、Galaxy、Delphi Digital、Blockchain Capital、Spartan Group、Jump Crypto 等參投。
- 2022 年 12 月 15 日推出新開發測試網 Arabica 和測試網 Mocha。
- 2023 年 2 月 21 日推出模組化 Rollup 框架 Rolkit。
- 2023 年 2 月 28 日推出激勵測試網嘉年華 Blockspace Race;7 月 5 日推出新測試網 Oolong。
- 2023 年 9 月 26 日發布治理代幣 TIA。
3.2 Celestia 構成
Celestia 主要包含三個組件; Optimint、Celestia-app 和 Celestia-node。
Celestia-node 元件的任務是為此區塊鏈達成共識和聯網。該組件可確定輕節點和完整節點如何產生新區塊、從區塊中採樣資料以及同步新區塊和區塊頭。
使用 Optimint,Cosmos Zone 作為 Rollup 直接部署在 Celestia 上。 Rollup 將交易收集到區塊中,然後將它們發佈到 Celestia 以獲得數據可用性和共識,鏈的狀態機位於 Celestia 應用程式中,它是處理交易處理和質押的應用程式。
在 Optimint 上,將在同步區塊、資料可用性層整合、通用工具和索引事務方面進行改進。在 Celestia 應用程式中,團隊將致力於交易費用的實施,並評估 ABCI++ 的升級。最後,團隊希望使其網路服務在 Celestia 節點上更加健壯,並完善輕節點和不良編碼詐欺證明。
- 如何與 Rollup 互動?
Celestia 把 Rollup 分成了自己原生的,和以太坊原生的。前者非常簡單,Rollup 可以直接和 Celestia 打交道,先上傳數據,然後讓 Celestia 查看數據可用性,最後 Rollup 在看到新狀態之後再去自己做驗證,整個過程裡 Celestia 可以說十分清閒,它甚至連 Rollup 上傳的數據代表了什麼都不知道(因為只有切片樣本),而 Rollup 找它來做數據可用性,也只是因為它更便宜,性能更好。
互動案例:
有一個堆疊,其中執行層不會直接將區塊資料發佈到結算層,而是直接發佈到 Celestia。在這種情況下,執行層只需將其區塊頭發佈到結算層,然後結算層將檢查某個區塊的所有資料是否包含在 DA 層中。這是透過結算層上的合約完成的,該合約從 Celestia 接收交易資料的 Merkle 樹。這就是我們所說的數據證明。
而在以太坊當中,情況就複雜了一些,首先以太坊目前還沒有分片和 DAS,但 Rollup 們即便承受不住鏈上處理成本,也可以轉戰鏈下,讓業內名氣最大的第三方審計機構做數據可用性,這成本甚至可以低到忽略不計。事實上,ZK 2.0 已經在這麼做了,StarkEx 和 Plasma 這類更不用提。當然在 Celestia 看來,鏈下驗證畢竟是中心化的,不能排除作惡的可能。但即便是這些機構作惡,這些鏈下驗證者能做的也僅僅是把交易凍結住一段時間。
ZK 2.0 的計劃是提供用戶更多選擇,如果用戶能忍受高成本,就是還是把數據可用性放到以太坊上做,如果用戶能接受交易在最壞情況下被凍結的假設,那麼 ZK 2.0 可以給一個超低 gas 出來。
- 整體架構
Celestia 將作為模組化堆疊中運行的所有各種類型的 rollup 之間的共享共識和資料可用性層。結算層的存在是為了促進其上各個 rollup 之間的橋接和流動性。也可能看到主權匯總獨立運作,沒有結算層。
3.3 如何實現輕節點驗證的同時確保安全性
其 DA 層的兩個關鍵功能是資料可用性採樣 (data availability sampling ,DAS) 和命名空間默克爾樹 (Namespaced Merkle trees,NMT)。
DAS 使輕節點無需下載整個區塊的情況下能夠驗證資料可用性。輕節點因僅下載區塊頭無法驗證資料可用性,Celestia 使用二維 RS 糾刪碼編碼方案(2-dimensional Reed-Solomon encoding scheme)對區塊資料進行重新編碼以實現輕節點的 DAS。資料可用性採樣(DAS)的工作原理是讓輕節點對小部分塊資料進行多輪隨機取樣。隨著輕節點完成更多輪的區塊資料採樣增加資料可用的信心。一旦輕節點成功達到預定的置信水準(例如 99%)就認為資料可用。
NMT 使 Celestia 上的執行層和結算層僅下載與其相關的交易。 Celestia 將區塊當中的資料劃分為多個命名空間,每個命名空間都對應於構建在 Celestia 上的 rollup 等應用,每個應用程式僅需下載和自己相關的資料從而提高網路效率。
Celestia 可以輕節點驗證,我們都知道節點越多,網路越安全;輕節點還有優點就是節點越多,網路速度越快,成本越低等好處。
Celestia 透過主要透過資料可用性和糾刪碼來識別隱藏交易資料的區塊,同時也是 Celestia 能夠降低成本的關鍵。
3.3.1 資料可用性採樣(Data Availability Sampling,DAS)和糾刪碼(Erasure Coding)
此技術方案解決資料可用性的驗證問題,使得 Celestia 可以輕節點驗證。
同時使得 Celestia 的成本是亞線性的。
一般來講,區塊鏈網路中的輕節點只會下載包含區塊資料(即交易清單)承諾(即梅克爾根)的區塊頭,這使得輕節點無法知曉區塊資料的實際內容,從而無法驗證資料可用性。
但在應用**二維 RS 糾刪碼編碼方案(2-dimensional Reed-Solomon encoding scheme)**之後,利用輕節點進行資料可用性抽樣成為了可能:
- 首先每個區塊的資料將被分成 kk 的區塊,排列在 kk 的矩陣當中,然後透過多次應用 RS 糾刪碼就可以將這樣一個包含區塊資料的 kk 的矩陣擴展成為一個 2k2k 的矩陣。
- 然後 Celestia 將為這個 2k*2k 的矩陣的行和列計算出 4k 個單獨的默克爾根作為區塊頭當中的區塊數據承諾。
- 最後在驗證資料可用性的過程當中,Celestia 的輕節點將對 2k*2k 的資料區塊進行取樣,每個輕節點會在這個矩陣當中隨機選擇一組唯一座標,並在全節點中查詢該資料區塊內容以及坐標處對應的默克爾證明,若節點收到了每個採樣查詢的有效回應,則證明了該區塊大概率具備數據可用性。
此外,每個收到正確默克爾根證明的資料區塊都會被傳播到網路當中,因此只要輕節點能夠一起取樣足夠的資料區塊(即至少 k*k 個獨特的資料區塊),完整的區塊資料就可以由誠實的全節點來進行復原。
資料可用性抽樣的實現,保證了 Celestia 作為資料可用性層的可拓展性。因為每個輕節點將僅需採樣區塊資料的一部分,這降低了輕節點和整個網路運行的成本。同時參與採樣的輕節點越多,他們可以共同下載和儲存的資料就越多,而這意味著整個網路的 TPS 也將隨著輕節點數量的增加而提高。
- 透過輕節點實現可擴展性
更多輕節點參與資料可用性採樣,網路可以處理的資料就越多。這種可擴展性特徵對於網路成長時保持效率至關重要。
可擴展性的決定性因素有兩個:集中採樣的資料量(可以採樣的資料量)和輕節點目標塊頭大小(輕節點的塊頭大小直接影響整體網路的效能和可擴展性)。
針對以上兩個因素,Celestia 利用集體採樣的原理,即透過許多節點參與資料的部分採樣,可以支援更大的資料區塊(即更高的每秒交易處理量,tps)。這種方法可以在不犧牲安全性的情況下擴展網路容量。此外,在 Celestia 系統中,輕節點的塊頭大小與塊的大小的平方根成正比增長。這意味著,如果要保持與全節點幾乎相同的安全性,輕節點將面臨與區塊大小的平方根比例的頻寬成本。
Rollup 驗證區塊的成本成長為線性,成本會隨以太坊互動需求狀況,上升會下降。
而 Celestia 的成本則是亞線性,成本最終會趨近於一個值,遠低於以太坊現有成本的值。在 EIP-4844 升級部署後,Rollup 資料儲存會從 Calldata 變成 Blob,費用降低,但仍舊比 Celestia 貴。
此外,糾刪碼的特性,使得萬一 Celestia 全節點發生大規模故障,輕節點們手中的若干枝幹數據,可恢復交易數據,確保數據仍可存取。
3.3.2 命名空間默克爾樹(Name-Spaced Merkle Tree)
此技術方案可降低執行層和結算層的成本。
簡單理解 Celestia 透過命名空間默克爾樹排序,可以使得使得 Celestia 上的任何 rollup 都只能下載與其鏈相關的數據,而忽略其他 rollup 的數據。
命名空間默克爾樹 (NMT) 使匯總節點能夠檢索它們查詢的所有匯總數據,而無需解析整個 Celestia 或匯總鏈。此外,它們還允許驗證節點證明所有資料已正確包含在 Celestia 中。
Celestia 將區塊當中的資料劃分為了多個命名空間,每個命名空間都對應著正在使用 Celestia 作為資料可用性層的執行層和結算層,以便每個執行層和結算層只需下載和自己相關的數據就能夠實現網路的功能。圖像點說,就是 Celestia 為每個使用它作為底層的使用者都建造了一個單獨資料夾,然後使用默克爾樹來為這些使用者做資料夾索引來幫助這些使用者找到並使用自己的檔案。
而這種能夠返回給定命名空間所有資料的梅克爾樹就被稱作命名空間默克爾樹。這株默克爾樹的葉子將按照命名空間標識符來進行排序,並且修改了哈希函數,以便樹上的每個節點都包含其所有後代的命名空間範圍。
當中的命名空間默克爾樹範例來看,包含八個資料區塊的梅克爾樹被劃分為了 3 個命名空間。
當命名空間 2 的資料被請求時,資料可用性層,也就是 Celestia 將會把 D3,D4,D5 和 D6 資料塊提交給他,並且讓節點 N2,N7 和 N8 來提交相應的證明,從而來保證所請求資料的資料可用性。此外應用程式也可以來驗證是否收到了命名空間 2 的所有數據,因為資料區塊必須和節點的證明相對應,其可以透過檢查對應節點的命名空間範圍來識別資料的完整性。當中的命名空間默克爾樹範例來看,包含八個資料區塊的梅克爾樹被劃分為了 3 個命名空間。
當命名空間 2 的資料被請求時,資料可用性層,也就是 Celestia 將會把 D3,D4,D5 和 D6 資料塊提交給他,並且讓節點 N2,N7 和 N8 來提交相應的證明,從而來保證所請求資料的資料可用性。此外應用程式也可以來驗證是否收到了命名空間 2 的所有數據,因為資料區塊必須和節點的證明相對應,其可以透過檢查對應節點的命名空間範圍來識別資料的完整性。
3.3.3 Sovereign Rollup
基於 Celestia 的 Rollup 基本上都算是 Sovereign Rollup。
- 定義:只把材料上傳到 L1(把 L1 當作資料庫)的 Rollup 叫做 Sovereign Rollup。換句話說,傳統 Rollup 是只負責執行,結算、共識、資料可用性都交給 L1,Sovereign Rollup 是組分執行、結算,將共識、資料可用性將給 L1。
- 優勢-升級自由
由於和 Layer1 沒有互通訊息或資產,因此 Rollup 不會受 L1 的影響(例如 L1 的升級或被攻擊),同時自身的拓展和升級也不再用顧慮 L1(例如,硬分叉)
- 劣勢—安全成本
有更高的安全風險,例如 DA 層偷懶
- 此外,Sovereign Rollup 的成本更低,採納輕節點驗證(上一部分剛講)
以下部分具體參考:An introduction to sovereign rollups,一文了解 Rollup 的分類
- 智能合約 rollup
像是 Arbitrum、Optimism、StarkNet 等 Layer2 我們稱為智慧合約 rollup,他們將所有的區塊資料都發佈到結算層(像以太坊),把 L2 的狀態(L2 各地址的餘額)寫到 L1 上。結算層的任務就是給區塊排序、檢查資料可用性、驗證交易正確性。
例如以太坊:模組化堆疊、智慧合約 rollup 的職責是執行,然後將其他的工作卸給以太坊(包括共識、資料可用性、結算)。
這樣做的目的是 L2 和 L1 就能互通訊息、互通資產:L1/L2 的 dApp 能同步訊息並合作、L1 的 ETH 能安全地在 L1/L2 之間流轉、L2 的 ARB/OP 也能安全地在 L1/L2 之間流轉。
智能合約 rollup 依賴在結算層的合約從而驗。結算層上的智能合約成為了驗證 smart contrct rollup 上新交易正確性的依據。
因此智能合約 rollup 與結算層有最小程度的信任。
- Sovereign rollup
Sovereign Rollup 便是拿掉 Settlement Layer(或是說將自己變成 Settlement Layer),單純將 L1 作為 Data Availability Layer 使用。
Sovereign rollup 將交易發布另一條公鏈上,這條鏈負責 DA 和排序,然後自己掌握結算層。
所以 sovereign rollup 取決於鏈本身的正確性,而不是 DA 層,因此需要有更強的信任。
- 對比
- 驗證方式不同:智能合約 rollup 的交易是透過結算層的智能合約來驗證;Sovereign rollup 的交易是透過自身的節點進行驗證。
- 具有升級的主權:智能合約 rollup 的升級取決於結算層的智能合約,升級 Rollup 需要更改智能合約(Arbitrium 的升級需要依賴以太坊智能合約的迭代),團隊用多簽控制升級是很常見,因此束縛很多。
- L1 本身能力有限:可能 L1 本身不支援複雜的運算來做到紀錄 Rollup 狀態並利用這個狀態進行訊息資產的互通等功能,例如像是在 Celestia 上只能單純放資料上去,或像是在 Bitcoin 上只能進行能力有限的運算,這樣的 L1 也就沒辦法成為 Settlement Layer;或許該 Rollup 本身就不需要另外一條鏈來作為 Settlement Layer,它有自己的原生代幣、生態,不需和 L1 互通資產。
- 拓展-Sovereign Rollup 運作方式,為什麼硬分叉等升級更便利
Sovereign Rollup 單純將 L1 作為 Data Availability Layer,把資料上傳到 L1,仰賴 L1 確保資料可得且資料排序不會改變。
Sovereign Rollup 的節點則是靠著讀取 L1 上的資料並進行解讀,來算出該 Sovereign Rollup 目前的最新狀態(智能合約 Rollup 可以直接取得狀態)。「解讀、算出」代表的其實就是 Sovereign Rollup 的共識規則。(State Transition Function:怎麼從 L1 資料中篩選出符合該 Sovereign Rollup 格式、規則的區塊和交易、篩選後怎麼驗證這些區塊和交易、驗證後怎麼執行這些交易來算出最新的狀態。)
如果兩個 Sovereign Rollup 的節點是不同版本,就可能會解讀出不同資料、或是算出不同的最新狀態,也因此這兩個節點就不會在同一條鏈上,它們各自所看到的其實就是兩條分岔的鏈的其中一條。(例如:以太坊硬分叉前後成為了 ETC 和 ETH)
這其實跟你跑不同版本的 Ethereum 節點一樣,兩個版本有可能不會是同一條鏈。例如硬分叉後,忘記更新節點版本、不願意更新節點版本的人就會自然地留在原本的鏈上(例如 ETC、ETHPoW),而更新節點版本的人就會在新的鏈上(ETH)。
因此,Sovereign Rollup 中大家可以各自依照自己群體的(社會)共識,去選擇節點版本、去解讀資料。如果今天該 Sovereign Rollup 社群出現像是 ETHPoW vs ETH 的分歧,那就是大家各走各的,選擇不同的節點版本去解讀資料,但資料還是原本那一份,沒有改變過。
當然分叉後,各自版本的節點就會上傳符合自己規則的資料到 L1,屆時兩邊都會直接過濾掉對方上傳的資料。
在中間的時間點下面的節點分岔到了 v1.1.2 版,之後彼此的區塊就完全區分開來。
3.3.4 節點要求
受益於 Celestia 的網路架構,Celestia 的輕節點營運硬體要求較低,最低僅需配置一個 2GB RAM 的內存,單核心的 CPU,超過 25GB 的 SSD 硬碟以及上傳下載 56 Kbps 的頻寬。除了輕節點以外,Celestia 的橋節點,全節點,驗證節點以及共識節點的要求相較於其他公鏈來講也不算高。因此未來 Celestia 主網上線後,預計網路的各類型節點數量將進一步上升,網路的去中心化程度也將進一步的提升。
3.4 經濟模型
從代幣經濟學來看,Celestia 的代幣分配投資人和團隊將分得超過一半的代幣,而這些代幣當中的 33% 將在一年後得以解鎖。
Celestia 的代幣需求基本上符合一個正常的公鏈代幣的設計思路,TIA 將承擔共識,費用和治理的功能,同時以通膨的形式增發。
目前看起來這種代幣的設計較為中性,而代幣本身無法為網路提供更多的賦能。
3.5 商業模式
Celestia 主要透過兩種方式獲得收入:
- 支付 blob space 費用:Rollup 使用 $TIA 付費,將資料發佈到 Celestia 的 blob space。
- 支付 gas 費用:開發人員使用 TIA 作為 Rollup 的 gas 代幣,類似於基於以太坊 Rollup 的 ETH。
3.6 數據成本對比
Numia Data 最近發布了一篇名為《The impact of Celestia's modular DA layer on Ethereum L2s: a first look》的報告,其中比較了過去六個月內,不同 Layer 2 (L2) 解決方案在以太坊上發布 CallData 所產生的成本,以及如果它們使用 Celestia 作為資料可用性(DA)層可能產生的成本(在此計算中,將 TIA 價格假設為 12 美元)。這份報告透過比較這兩種情況下的成本差異,明顯展示了像 Celestia 這樣的專用 DA 層對於降低 L2 Gas 費用的巨大經濟效益。
Rollup 成本拆解:
固定成本
- 證明成本(在 zk rollups 的情況下)= Gas 範圍,通常基於 rollup 供應商
- 狀態寫入成本= 20,000 Gas
- 以太坊基礎交易成本= 21,000 Gas
變動成本
- 將 calldata 發佈到以太坊的每筆交易的 Gas 費用=(每位元組資料 16 Gas)*(平均交易大小(以位元組為單位))
- L2 Gas 費=通常相當便宜,在 Gas 單位的一小部分範圍內。
4. 其他
4.1 Celestia 生態
4.2 不同項目構成
- Celestia = Tendermint (cosmos) + 2d 糾刪碼+ 詐欺證明+ Namespace merkle tree + IPFS 基礎設施(資料儲存的 IPFS Blockstore,傳輸網路使用的 IPFS 的 Libp2p 與 bitswap,資料模型用的 IPFS 的 Ipld)
- Polygon Avail = Substrate(Polkadot) + 2d 糾刪碼+ KZG 多項式承諾+ IPFS 基礎設施
- ETHprotoDankSharding = Blobs 資料(資料可用性的存儲,取代現有的 calldata)+ 2d 糾刪碼+ KZG 多項式承諾(未定,方案目前仍在討論)+ ETH 基礎設施
5. 思考
整體看下來 Celestia 非常注重可擴展性、可互動性和靈活性。以太坊像一家龐大的上市公司,無法做到像 Celestia 這種新創企業的隨心所欲,只能如履薄冰,緩慢的迭代;而模組化區塊鏈給了許多垂類項目後來者居上的機會。
但和許多公鏈一樣,目前加密世界的創新屬於停滯的一種狀態,絕大多數專案方都依賴經濟模型,或許對於產品底層的性能如何需求不夠,導致大家對於 Celestia 沒有足夠需要,自身經濟模型無法正向循環也是潛在的風險,最終成為鬼鏈。
附錄
https://celestia.org/learn/sovereign-rollups/an-introduction/
https://news.marsbit.co/20221224161703614384.html
https://www.theblockbeats.info/news/44831?search=1
https://mp.weixin.qq.com/s/26esZAoJNILd2T2Yj1-adQ
https://www.odaily.news/post/5182589
https://mp.weixin.qq.com/s/kl7uNXZiXmwa3bbKX4nJlg
https://mp.weixin.qq.com/s/kl7uNXZiXmwa3bbKX4nJlg
https://www.theblockbeats.info/news/50338
https://www.coinlive.com/zh/news/cosmos-the-leader-and-potential-winner-in-modular-blockchain
https://news.marsbit.co/20240119193751669565.html
https://www.coinlive.com/zh/news/kernel-ventures-one-article-analyzing-da-and-historical-data-layer
https://foresightnews.pro/article/detail/46036
https://www.techflowpost.com/article/detail_14215.html
免責聲明:作為區塊鏈資訊平台,本站所發布文章僅代表作者及來賓個人觀點,與 Web3Caff 立場無關。文章內的資訊僅供參考,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。