TL;DR
1/ 模塊化本質是打破“不可能三角”,在不增加節點硬件負擔前提下,實現擴容。
2/ Celestia 是數據可用層,與 Optimistic Rollup 類似,默認區塊數據有效,利用欺詐證明、糾刪碼和數據可用性抽樣,進行數據校驗,同時實現讓輕節點參與校驗。
3/ Celestia 已初步形成生態,目前生態知名項目有 Fuel、Cevmos 等。
4/ Celestia 如何能把握窗口期,在 Polygon Avail 和 Danksharding 之前形成規模效應,吸引大量流動性,尤其是原生Rollup 的流動性,這點將至關重要。
通常,會將 Layer1 分爲四層:
1)共識層
2)結算層
3)數據層
4)執行層
共識層是必需的。模塊化是指,將結算、數據、執行其中之一或之二拆出來(嚴謹點稱“解耦”),加上共識組成新一層網絡協議,以打破“不可能三角”,在不增加節點硬件負擔,造成中心化的前提下,實現擴容。
如以太坊 Rollup,將執行層拆出來,提供共識和執行,由中心化定序器(Sequencer)排序交易,將大量交易打包壓縮,提交到以太坊主網,由主網全節點校驗交易數據。
Celestia 是數據可用層(Data Availability, DA)項目,基於Cosmos架構,爲其他 Layer1、Layer2 提供數據層、共識層,構建模塊化區塊鏈,商業模式 toB,面向其他公鏈收費。
要全面理解 Celestia 與數據可用,先要從“不可能三角”和數據可用性問題講起。
爲什麼數據可用性重要?從“不可能三角”到數據可用性問題
不可能三角,又稱三元悖論,通常指去中心化(Decentralization)、可擴展性(Scability)、安全性(Security)三者不可同時兼得,最早由以太坊官方提出。
通常,交易提交到鏈上,首先會進入 Mempool,由礦工“挑選”,打包成區塊,將該區塊拼接到區塊鏈上。
包含這筆交易的區塊,會向網絡內全體節點廣播。其他全節點將下載這個新區塊,執行復雜計算,驗證其中每一筆交易,確保交易真實有效。
複雜計算和冗餘,是以太坊安全基礎,也帶來了問題。
1)數據可用性
節點通常有兩種:
全節點——下載並驗證所有區塊信息及交易數據。
輕節點——非完全驗證節點,易部署,只驗證區塊頭(數據摘要)。
首先,確保新區塊產生時,該區塊中的所有數據確實已發佈,使得其他節點可校驗。若全節點未發佈區塊中所有數據,則其他節點無法檢測,該區塊是否隱藏惡意交易。
也就是說,節點需要獲取一定時間內的所有交易數據,並驗證,不存在已經確認但未驗證的交易數據。這便是通常意義上的數據可用性。
若某個全節點隱瞞一些交易數據,其他全節點在校驗後,會拒絕跟隨此區塊,但僅下載區塊頭信息的輕節點則無法校驗,會繼續跟隨這條分叉區塊,影響安全。
儘管通常區塊鏈會罰沒該全節點保證金,但這同樣會使質押給該節點的用戶受到損失。
且當隱瞞數據的收益,超過罰沒成本,節點有動機隱瞞,屆時實際受損的,只會是質押用戶和該鏈其他使用者。
另一方面,若全節點部署逐漸中心化,節點間存在串通可能,會危及整條鏈的安全。
這是爲什麼數據可用很重要。
數據可用越來越受到關注,一方面因爲以太坊 PoS 合併,另一方面則是 Rollup 發展。當前 Rollup 會運行中心化定序器(Sequencer)。
用戶在 Rollup 上交易,定序器爲交易排序、打包、壓縮,發佈到以太坊主網,由主網全節點通過欺詐證明(Optimistic)或有效性證明(ZK)驗證數據。
只要定序器提交的區塊所有數據真實可用,以太坊主網纔可據此跟蹤、校驗、重建 Rollup狀態,保證數據真實和用戶財產安全。
2)狀態爆炸與中心化
狀態爆炸是指,以太坊全節點積累的歷史和狀態數據越來越多,運行全節點需要的存儲資源越來越大,運行門檻提高,致使網絡節點中心化。
因此,需要某種方式,使全節點在同步以及驗證區塊數據時,無需下載所有數據,只需要下載區塊的部分冗餘片段即可。
至此,我們明白了數據可用性很重要。那麼,如何避免“公地悲劇”產生?即大家都清楚數據可用的重要性,但仍需要一些切實的利益驅動,讓大家使用單獨數據可用層。
就像每個人都知道保護環境很重要,但看到路邊的垃圾,“我”爲什麼要把它撿起來?爲什麼不是別人?“我”把垃圾撿起來,能得到什麼好處?
輪到 Celestia 登場了。
什麼是Celestia ?
Celestia 爲其他 Layer1、Layer2 提供可插拔的數據可用層和共識,基於 Cosmos Tendermint 共識及 Cosmos SDK構建。
Celestia 是 Layer1 協議,兼容 EVM 鏈及 Cosmos 應用鏈,未來將支持所有類型的 Rollup,這些鏈可直接使用 Celestia 作爲數據可用層,區塊數據將通過 Celestia 存儲、調用、校驗,再回到自有協議清算。
Celestia 也支持原生Rollup,可直接在其上構建 Layer2,但不支持智能合約,所以無法直接構建 dApp。
Celestia 工作原理
Rollup 通過運行Celestia 節點,接入 Celestia。
Celestia 接收 Rollup 交易信息,通過 Tendermint 共識排序交易。之後,Celestia 不會執行交易,也不會質疑交易有效性,只是將交易進行打包排序、廣播。
是的,換句話說,隱瞞交易數據的區塊,也可以發佈到 Celestia 上。那 Celestia 如何識別呢?
校驗通過糾刪碼(Erasure Coding)和數據可用性抽樣(Data Availability Sampling,DAS)完成。
具體來說,原始數據爲K(若實際數據大小不足K,則會補充無效數據,使大小等於K),對其進行糾刪編碼,分成 N 多個小枝幹(Chunks),並擴展爲 2K 行列大小的矩陣。
可以簡單理解爲,一個長、寬都爲 K 的正方形,面積爲 K*K,糾刪編碼後變爲長、寬爲 2K,面積爲 2K*2K。
若原始數據爲 1Mb,對其進行糾刪編碼,分成若干份,並擴展 4Mb 大小,其中 3Mb 爲特殊數據。僅需其中一部分K*K 大小數據,便可恢復或查看全部 2K*2K 數據。
具體的數學計算極其複雜,但得到的結果是,即使惡意出塊者隱瞞哪怕 1%交易數據,也會變成隱瞞 50%以上的枝幹(Chunks)。
所以,若想使隱瞞生效,就會使數據矩陣發生質的變化,能被輕節點輕易發現。這使得隱瞞數據,有極其大的概率,成爲不可能的事件。
全節點可通過欺詐證明,校驗數據,跟其他 Layer1 類似。而糾刪碼關鍵的作用在於,調動輕節點,參與數據校驗。
全節點將區塊頭髮給輕節點,由輕節點進行數據可用性抽樣。若數據無隱瞞,則輕節點認可該區塊。若數據有缺失,則輕節點會發送給其他全節點。其他全節點會發起欺詐證明。
總結下,
1/ Celestia 使用糾刪碼,對原始數據編碼,將原始數據切成若干小份(Chunks)。(若區塊仍有空間,則使用無效數據補足,使得留有空間的區塊,便是全節點隱瞞數據的區塊)
2/ 將 K*K 大小的原始數據,擴展爲2K*2K。因爲 K*K 數據已分爲若干小份,所以 2K*2K 數據的狀態,也是如此,呈若干小份。
3/ 由此得到三個好處:
1)因爲數據切成若干小份,使得輕節點也可參與校驗。(若數據仍是大份,輕節點受制於硬件,無法參與校驗)
2)僅需抽樣 K*K 大小數據,可還原全部 2K*2K 數據全貌。輕節點們輪番抽樣,直到抽樣大小爲 K*K,則可通過數據全貌對比,選擇是否認可當前區塊。
3)使惡意出塊者隱瞞哪怕 1%交易數據,也會變成隱瞞 50%以上的枝幹(Chunks)。
4/ 全節點可直接通過欺詐證明校驗區塊數據,與以太坊等其他 Layer1 類似。
5/ 輕節點則可通過數據可用性抽樣校驗,多個輕節點隨意抽樣,直到抽取數據面積大小爲 K*K。這是 Celestia 的創新之處。
6/ 對於輕節點抽樣來說,抽樣模型是亞線性的(Sub-linear)。他們僅需下載所需抽樣數據量的平方根數量即可。即,若有 10,000個小份Chunks數據需要抽樣,僅需要下載並檢查其中100個。
因爲 100的平方是10,000。
7/ 若輕節點校驗的區塊數據有隱瞞,可提交給其他全節點,通過欺詐證明,罰沒作弊節點保證金。
Celestia 擴容
糾刪碼和數據可用性抽樣,使 Celestia 與其他 Layer1 現有數據可用相比,實現了進一步擴容,提升網絡效率。
1/ 採用欺詐證明,默認區塊數據可用,保證正常情況下,網絡高效運行。
2/ 輕節點越多,網絡效率越高。
因爲原始數據大小爲 K*K,若只有一個輕節點,則需要做 K*K 次抽樣。反之,若有 K*K 個輕節點,僅需1次抽樣。
3/ 亞線性抽樣,使 Celestia可使用大區塊。
此外,糾刪碼的特性,使得萬一 Celestia 全節點發生大規模故障,輕節點們手中的若干枝幹數據,可恢復交易數據,確保數據仍可訪問。
Quantum Gravity Bridge
Quantum Gravity Bridge 是 Celestia 與 以太坊 Layer2 的中繼橋,搭建在以太坊上,Layer2 可以通過 Quantum Gravity Bridge 將交易數據發佈到Celestia,使用數據可用服務,通過智能合約,校驗 Celestia 上的數據。
Celestium
Celestium 是以太坊 Layer2,使用Celestia 作爲數據可用層,用以太坊作爲結算和共識層。
目前處於開發階段。
爲什麼要用 Celestia ?
還記得我們之前提到的“公地悲劇”嗎?即 Rollup 爲什麼要使用 Celestia 作爲數據層?
1/ 使用 Celestia 成本低
以太坊 Rollup 現有成本由兩部分構成:
1)Rollup 自身Gas成本。即用戶交互,定序器進行排序,狀態轉換時收費的費用。
2)Rollup 將區塊提交到以太坊,花費的Gas。
Rollup 定序器打包、壓縮後,會在以太坊上創建一個區塊。目前存儲爲 Calldata形式,成本爲每字節 16 Gas。
以太坊和 Rollup 各自根據擁堵情況不同,收取的 Gas也不同。定序器在批量處理用戶交互內容前,會盡力預測以太坊 Gas 費用,並向用戶收取。
也就是說,Rollup 上的 Gas 之所以便宜,是因爲將用戶若干筆交互打包到一起,相當於大家均攤了 Gas。
當市場處於冷淡期,以太坊上交互較少,大家需要均攤的 Gas 也會減少,Rollup 只會在正常 Gas 上收取很小的利潤。一旦,以太坊上 Gas 飆升,Rollup 上的Gas 也會上漲。
所以,Rollup 本質上還是在跟以太坊主網的 dApp 和其他 Rollup 搶奪區塊空間。
另一方面,Rollup 自身交互火爆,也會拉高 Gas。比如前不久的 Aribitrum Odyssey。
總的來說,Rollup 當前成本模式爲線性,成本會隨以太坊交互需求情況,上升會下降。
而 Celestia 的成本則是亞線性,成本最終會趨近於一個值,一個遠低於以太坊現有成本的值。
在 EIP-4844 升級部署後,Rollup數據存儲會從 Calldata 變爲 Blob,費用降低,但仍舊比 Celestia 貴。
2/ 自主 Rollup(Self Sovereignty)
自主 Rollup,實質是給了 Rollup 自主分叉的權力。Celestia 原生 Rollup 是擁有自主的鏈,治理及分叉升級不受Celestia 限制。
分叉爲什麼重要?
通常區塊鏈需要通過硬分叉升級,而分叉會影響削弱安全性。原因是,若有人想要更改或升級區塊鏈代碼,需要其他參與者同意且更改。
如果想對整條鏈進行升級,需要分叉整個共識層,就像以太坊 PoS 合併不得不採用算力炸彈,迫使節點從PoW 遷移到 PoS一樣。所有節點都參與升級,纔不會丟失任何安全性。
Celestia 則會爲 Rollup提供分叉能力,因爲所有分叉使用相同的數據可用層。
此外,自主 Rollup 也會帶來更多靈活性。以太坊 Rollup 受限於以太主網處理欺詐證明或有效性證明的能力。
自主 Rollup 則不依賴特定的虛擬機,如 EVM。所以,自主 Rollup 有更多的選擇性,比如成爲 Solana VM 等等。不過,採用不同 VM 虛擬機,互操作性會受限。
另一方面,目前 Rollup 對成爲自主 Rollup 的需求可能並不大,
A. 受中心化資產限制。比如 USDC、USDT 官方不支持新分叉鏈。
B. 受 dApp 遷移限制。如,Uniswap 等 dApp仍留在之前的鏈上,且用戶不肯放棄原有習慣,未遷移到新分叉鏈上。
3/ 信任最小化橋(trust minimized bridges)與共享安全
Celestia 官方文章,將跨鏈大致分爲兩類:
A. 可信跨鏈橋,需要信任第三方,比如中繼鏈節點。其可靠性建立在第三方節點共識之上,即節點多數是誠實的。
B. 信任最小化跨鏈橋,類似以太坊和 Rollup 的關係,靠欺詐證明(Optimistic)和有效性證明(ZK),校驗 Rollup 交易數據有效性。
Celestia 提出一個概念——集羣(Clusters),即一組相互通信的鏈,通過信任最小化橋跨鏈,每條鏈都可以驗證其他鏈的狀態。
通常,集羣會遇到兩個限制因素,
A. 集羣內所有鏈需要了解彼此的執行環境。但這很難,如 ZK Rollup之間需要了解彼此的 ZK 系統。但 zk-SNARK 和zk-STARK 是不同的 ZK 系統。所以,ZK Rollup 之間相對獨立。
B. 爲保持集羣內所有鏈,使用信任最小化狀態驗證,每條鏈必須以信任最小化方式,驗證該集羣內,其他鏈區塊數據可用性。
而使用 Celestia 作爲數據可用層集羣中的所有鏈,都可以檢查彼此的塊是否包含在 Celestia鏈中。
不過,略微尷尬的是,Celestia 集羣概念中,Optimistic Rollup 和 ZK Rollup 屬於兩個集羣。
也就是 Optimistic Rollup 間,如 Optimism、Aribitrum 同屬一個集羣,他倆與 zkSync 則不是。
且由於 ZK Rollup 方案差異,zkSync和 StarkNet 甚至也不屬於同一集羣。所以,Celestia仍不能解決 Rollup 間相對獨立,缺乏原子級別互操作性問題。
Optimint(Optimistic Tendermint)
Optimint 是 Tendermint共識替代品,允許開發者構建基於 Cosmos 的 Rollup,同時使用Celestia 作爲共識和數據可用層。
目標是,讓基於 Cosmos 的 Rollup形成集羣。
Celestia 現有生態項目
Fuel
Fuel 是建立在 Celestia 的模塊化執行層,是以太坊Optimistic Rollup Layer2。
Fuel 構建了 FuelVM,一個爲智能合約專門構建的定製虛擬機,可處理並行交易,使用UTXO 賬戶。
Cevmos
Cevmos 是 Cosmos EVM應用鏈和 Celestia 共同開發的 Rollup
Cevmos 使用 Optimint 構建,由於Evmos 本身就是一個 Rollup,所以 Cevmos 實際是 Rollup 中的 Rollup(遞歸 Rollup)。
以太坊上已有的 Rollup 合約與應用,可以重新在 Cevmos 上部署,使用其爲結算層,使用 Celestia 作爲數據層。
每個構建Rollup 都會有與 Cevmos Rollup 雙向信任最小化的橋,形成集羣。
dYmension
dYmension 是基於 Cosmos構建的自主 Rollup,dYmension Hub 提供結算,且提供開發套件RDK、鏈間通訊 IRC,方便專注 Rollup 的應用 rollApp 開發。
Eclipse
Eclipse 是基於 Cosmos 的自主 Rollup,使用 Solana VM 作爲結算和執行層,Celestia 作爲數據層。
項目進展
目前測試網已上線。獎勵版測試網將於2023年第一季度發佈。現在可以去官方Discord 領取水龍頭測試幣。主網預計2023年第二季度發佈。
融資情況
2021年3月,完成150萬美元種子輪融資,參與者包括 Binance Labs、Interchain Foundation、Maven 11、KR1 等等。
2021年12月,完成273萬美元融資,參投信息未公開。
2022年10月,完成5500萬美元融資,參與者包括Bain Capital、Polychain Capital、Placeholder、Galaxy、Delphi Digital、Blockchain Capital、Spartan Group、FTX Ventures、Jump Crypto 等等。
團隊情況
CEO Mustafa Al-Bassam,UCL 區塊鏈擴容領域博士,Chainspace(被Facebook收購)聯合創始人
CTO Ismail Khoffi,前 Tendermint 和 Interchain 基金會的高級工程師
CRO John Adler,Optimistic Rollups創建者,前 ConsenSys 可擴展性研究員
COO Nick White,Harmony聯合創始人,斯坦福大學學士和碩士。
顧問團隊:
Zaki Manian —— IBC 共同創建者和早期 Cosmos貢獻者
Ethan Buchman —— Tendermint 聯合創始人和 Cosmos 聯合創始人
Morgan Beller —— NFX 普通合夥人,Diem≋(又名Libra) 聯合創始人
Nick White —— Harmony 聯合創始人
James Prestwich —— Summa(被Celo收購) 創始人
George Danezis —— 倫敦大學學院的安全和隱私工程教授
代幣經濟模型
從已公佈的信息來看,Celestia 原生代幣將作爲 Gas,協議收入來源是 Rollup 交易費用。且代幣包含類似 EIP-1559 的銷燬機制。
目前,Celestia 一級市場估值 10億美元。
競品
Polygon Avail
Avail 是 Polygon 推出的數據可用性方案。實現思路與Celestia 相同,不同點在於,Celestia 使用糾刪碼+ 欺詐證明,Avail 使用糾刪碼 + KZG 多項式承諾(KZG Polynomial Commitment)。
Celestia 是將K*K 數據擴展成2K*2K 正方形,Avail 是按行擴展,將 n 行 m 列矩陣,擴展成 2n 行,併爲每行計算KZG 多項式承諾。
輕節點使用數據可用性抽樣 DAS,用密碼學方式覈對 KZG 多項式和證明就可以,不需要下載原始數據。
相比之下,Avail 實現難度更大,在完全實現的情況下,結果也相對更可靠。不過目前,兩個項目都在開發中,很難判斷競爭情況。
以太坊 Danksharding
Danksharding 是以太坊官方計劃推出的獨立數據可用層。與 Avail 類似,Danksharding 使用糾刪碼 + KZG多項式承諾,數據格式則會使用 Blob 替代現有的 calldata。
在 Danksharding 部署前,有兩個提案作爲過渡。
EIP-4488 直接硬性將 calldata gas 從每字節 16減少到 3,還規定了 calldata 佔用上限 1.4Mb。
EIP-4844 引入 Blob(blob-carrying transactions,blob: binary large objects)代替 calldata。Blob 是一種新交易類型,包含額外的存儲空間,成本比 calldata 低得多。
Blob 存儲在以太坊信標鏈上,與之後的分片兼容,使用 KZG 承諾哈希值,用於校驗數據,Rollup 無需訪問數據,校驗 KZG 承諾即可。
KZG 承諾是綁定的,計算完成後無法更改。所以,本質上,Avail 和 Danksharding 基於密碼學的 KZG 多項式承諾校驗數據,而 Celestia 則基於經濟學的欺詐證明方式。
理論上,KZG 多項式承諾安全性要優於欺詐證明,同時,要求帶寬更小,抽樣所需計算量更小。未來,以太坊也考慮引入抗量子攻擊的驗證方式,如zk-SRARK。
風險
1)中心化
儘管糾刪碼讓輕節點也可參與數據校驗,但 Celestia 數據存儲仍舊需要搭建存儲全節點。
要求內存 8GB,CPU 4核,剩餘存儲空間至少250GB,上行帶寬大於 100Mb/s,下行帶寬大於 1Gb/s。配置要求很高,需要搭建在雲服務器上。
2)以太坊 Danksharding 的競爭
3)“髒賬本”問題
該問題是斯坦福研究小組提出的。Celestia 採用欺詐證明,默認區塊數據可用,保證正常情況下,網絡高效運行,所以是“髒”賬本,因爲數據有問題的區塊,仍會被Celestia 接受,等待欺詐證明的挑戰。
假設,某挑戰者想證明交易 Tc 是一筆雙花,並提交證據說明,該錢已用於交易Tb。但如果存在交易 Ta 能證明 Tb是無效的呢?
若 Tb 無效,則 Tc 雙花可能有效。
在某些情況下,“髒賬本”無法獲知交易真實狀態,除非重放 Celestia 歷史每一筆交易,直到創世區塊。
這意味着,挑戰者和被挑戰者,都必須是全存儲節點。該問題發佈在 Celestia 官方Youtube 賬號上,目前團隊在解決該問題,比如引入弱主觀性假設。
弱主觀性假設是解決問題的條件。比如,如何買好喫的柚子?這個問題中的主觀性,是按主觀感覺挑選。客觀性是按照柚子重力與體積之比,判斷柚子水份情況。
弱主觀性則是,雙手分別捧起體積差不多的柚子,比較重量。比較幾個之後,選擇最重的。
回到 Celestia “髒賬本”問題,可以要求要求挑戰者和被挑戰者者保留 3 週數據,但這對節點來說,同樣是負擔。
“髒賬本”問題,其實是基於經濟學模型保障安全的欺詐證明,面對的本質問題。但欺詐證明的部署難度,小於 KZG 多項式承諾,理論上 Celestia 開發進度比 Polygon Avail 和以太坊 Danksharding 更快。
所以,Celestia 如何能把握窗口期,在 Polygon Avail 和 Danksharding 之前形成規模效應,吸引大量流動性,尤其是原生Rollup 的流動性,這點將至關重要。