學習 DA 技術原理,對比 ETH、Celestial、EigenLayer 等 DA 項目。
作者: Maggie,Foresight Research
封面: Photo by Steve Johnson on Unsplash
1. 什麼是數據可用層?
數據可用性的概念不同於去中心化文件系統和數據庫,這一點在以太坊和 Celestia 網站上有所闡述。
- 以太坊:數據可用性,是指要保證區塊提議者發布的區塊,區塊中所包含的所有交易數據,對於其它網絡參與者來說是可用的。
- Celestia:數據可用性與最新區塊中發布的數據是否可獲取相關。
然而,去中心化文件系統和數據庫主要確保用戶存儲的數據可以訪問。他們和數據可用層解決的問題不一樣。
當然,數據可用性和去中心化存儲也有共通之處,技術上他們都使用了糾刪碼、Proof of random access 等驗證方法來驗證數據的可用性。
2. 數據可用性的技術如何?
目前有多類數據可用層,包括:
- 以太坊。ETH 作為第二層 Rollup 的 DA(數據可用性)層。
- 以 Celestia 為代表的模塊化區塊鏈。Celestia 是一個專門設計的 DA 層,僅處理數據可用性,並不執行交易。它在 2022 年掀起了模塊化區塊鏈的潮流。這樣的模塊化區塊鏈還有 Avail 等項目。
- EigenDA 和其他 DA 產品。通過委員會確保數據可用性。
以太坊
以太坊已經是 L2 Rollup 的 DA 層。以太坊 Rollup 把二層的交易數據打包、提交到以太坊智能合約中,由以太坊來存儲 L2 的數據,並保證這些交易數據的數據可用性。
雖然 rollup 可以通過鏈下計算擴展 ETH 的吞吐量,但它們的容量受限於 L1 ETH 區塊鏈數據吞吐量。因此,Rollups 要使用以太坊作為數據可用性層,以太坊需要增加其數據存儲和處理能力。
以太坊在積極推進 Danksharding 升級,Danksharding 可以提升以太坊存數據的能力,使 ETH 成為更強大的 DA 層。
- 在 Danksharding 的計劃裡,數據可用性被委託給各個分片,每個驗證者只需要為其分片運行完整節點,並以輕客戶端容量運行其他分片。分片增加了 Rollup 的數據空間,因為存儲數據的工作被拆分到不同的分片中。
- Proto-danksharding(EIP-4844)是 Dankshading 的一個初步實現, 預計今年下半年上線。Proto-danksharding 定義好了關於數據塊 Blob 的新的交易類型,以及驗證 Blob 所需要的預編譯代碼,實現了大部分 Danksharding 的核心邏輯。每個 blob 的大小約為 125kB,而塊只有 90kB。目前,每個塊最多可以掛載八個 blob,導致額外存儲 1MB。Danksharding 中驗證者做了分片後,只需要下載部分 Blob 數據;Proto-danksharding 里數據是沒有被分片的,驗證者仍然要下載並直接驗證所有 Blob 的數據可用性,因此這是 Danksharding 中的一步。EIP4844 實施後,Blob 可以在相同的 gas 消耗下存儲比 Calldata 多 10 倍的數據。Rollup 的數據將來可以存儲在 Blob 中,將交易費用降低一個數量級。一旦完全實施 Danksharding 將變得更加便宜。
總的來說,Danksharding 能讓以太坊的數據存儲能力提升,使得 ETH 被用做 DA 的成本下降,從而成為更強大的 DA 層。
Danksharding 的技術原理:
- 現在以太坊上的數據全部存在鏈上,強制區塊生產者將所有交易數據發佈到鏈上,並讓驗證節點下載。Danksharding 引入了一種數據 Data blob,存儲在鏈下,只把數據的 KZG 承諾放在鏈上。存儲時間縮短至 1-3 個月,blob 的空間大一個就有~125kB(ETH 區塊大小只有~90kB)。因此數據存儲時間變短,數據量變大。
- 節點驗證一個 blob 就是查詢 blob 是否可用,即是否能從網絡中下載到它。Danksharding 依靠數據可用性抽樣來驗證網絡是否已看到 blob 的全部內容。
- 由於數據存儲時間縮短,因此可檢索性降低,即對一個月以前的歷史 blob 的查詢能力降低。為了安全性,EVM 不能訪問鏈下的 Blob 數據,只能訪問 Blob 的鏈上承諾,防止久遠 Blob 無法訪問導致 EVM 運行失敗。
- 為了驗證 Blob 數據的可用性,ETH 使用了數據可用性採樣的檢驗方法。對數據進行多輪隨機抽取少量樣本,驗證其可用性。這使得區塊鏈節點不需要下載完整的 Blob 就可以驗證其可用性。
- 通過使用糾刪碼技術來冗餘數據片段,來提高數據的可恢復性,且糾刪碼和數據可用性採樣結合,能防止節點隱藏數據。
以 Celestia 為代表的模塊化區塊鏈 DA 層
Celestia 是一個模塊化區塊鏈,僅對交易進行排序和發布,而不執行它們。通過將共識層和應用執行層解耦,Celestia 模塊化了區塊鏈技術棧並為去中心化應用程序構建者打開了新的可能性。
- Celestia 負責 DA 層,由 ETH 等其它網絡負責共識和結算,應用程序鏈負責執行。
- Celestia 負責 DA 層和共識層,而結算和執行由應用程序鏈處理。或者,結算可以使用 Cevmos,而執行仍由應用程序鏈負責。
Celestia 對數據可用性的驗證方法和以太坊類似,採用了二維 Reed-Solomon 糾刪碼,設計了一套隨機抽樣來驗證數據、以及恢復數據的方案從而確保數據可用。
Celestia 也與 ETH 有很大的不同。
- Celestia 專心只做 Rollup 的 DA 層和共識層,而 ETH 還給 Rollup 做了結算層。
- Celestia 只做 DA 層和共識層,不具備圖靈完備的智能合約虛擬機,不支持智能合約。
- 以太坊的 Rollup 不能分叉,Celestia 的 Sovereign Rollup 是可以分叉的。
- Rollup 通過橋和 Celestia 互通資產,由於 Celestia 不支持智能合約,跨鏈橋的功能有限,可能只能轉移 DA Token。
Celestia 的生態也發展很快。
鏈下 DA 層
鏈下 DA 層主要包括兩種
- 數據可用性委員會
- 區塊鏈生產者和可信方組成數據可用性委員會 (DAC) ,DAC 在鏈下存儲交易數據,不存到區塊鏈上。DAC 需要在發生爭議時提供。DAC 成員也會發布鏈上證明,以證明上述數據確實可用。
- 比如,validiums 和 plasma 就使用 off-chain 存儲來減少鏈上數據。
- PoS 的數據可用性委員會
- 委員會存入了押金,加了獎懲機制,以提升 DAC 的可信程度。其它方面和上述 DAC 相同。
- 比如,EigenDA 建立於二次質押協議 EigenLayer 上,吸引以太坊驗證者來參與 EigenDA 的數據可用性保證工作。
3. 現在有哪些數據可用層?
目前,有多個數據可用性項目,包括:
- ETH:目前,ETH 作為 L2 optimistic rollups 和 zk rollups 的數據可用性層。下半年 EIP4844(Proto-Danksharding)上線將利好 L2 的發展,他會提升以太坊存數據的能力,降低存儲成本。
- Celestia:Celestia 主要為共識和數據可用性層設計。Celestia 的測試網絡於 2022 年 6 月上線,Celestia 帶火了區塊鏈模塊化。Celestia 需要建立自己的生態系統,並與 Ethereum 建立競爭關係。目前已經發展出了一些生態項目。
- Avail:Avail 最初由 Polygon 在 2022 年 6 月發布。然而,在其創始人離開 Polygon 後,Avail 成為了一個獨立的模塊化區塊鏈項目,並發布了一個測試網。和 Celestia 類似 Avail 是一個獨立的共識和 DA 層,就像 Celestia 一樣。Avail 曾經計劃將主網橋接到 Polygon 並使用 MATIC 作為基礎貨幣。與 Celestia 代幣相比,MATIC 是一個更成熟的代幣。
- EigenDA:EigenDA 是一個基於以太坊的 DA 層,通過 ETH 重新抵押激勵驗證器維護 DA 網絡,消除了 Celestia 所需的啟動負擔。
- 其他鏈下 DA:Validium 將交易數據存儲在鏈下,用 ETH 做共識和結算。隨著 Celestia 和 Danksharding 的廣泛採用,Validium 的採用可能會逐步降低,甚至退出。
總結
- 數據可用性層是擴展區塊鏈的一種有前途和重要方法。以太坊是 Layer 2 Rollup 的數據可用層。Celestia 希望建立一個比以太坊更純粹的數據可用層。還有一些鏈下的數據可用層方案如 EigenDA 等。
- 下半年 EIP4844 的上線使得 ETH 成為更強大的 DA 層,Celestia 的主網也可能於今年下半年上線。目前的數據可用性產品各有優勢,值得我們今年密切關注。
- Celestia 的技術仍需要市場驗證,未來 ETH 和 Celestia 在技術上也可能會相互靠攏。
免責聲明:作為區塊鏈信息平台,本站所發布文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。本文內容僅用於信息分享,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。