本文介紹了行業裡針對資料可用性問題三個方面的方案。
資料可用性(Data Availability)主要存在於輕用戶端節點相對全節點的語境下。對於輕用戶端節點的資料可用性問題,行業內已經達成共識——採用糾刪碼(erasure codes)來解決。
不僅輕用戶端節點有資料可用性問題,Layer1+Layer2 的敘事也好,Modular Blockchain 的敘事也罷,都會存在資料可用性問題。
目前來看,行業裡針對資料可用性問題,主要有以下三個方面的方案:
以太坊用 Rollup 擴容時做一筆交易,主要有三類費用:執行費用(網路中所有節點執行交易並且驗證其有效性的費用)、存儲/狀態費用(更新新狀態的費用)、資料可用性費用(將資料發佈到 L1 的費用)。其中,資料可用性費用占大頭。
目前 Rollup 上傳資料到 L1 是以 Calldata 的形式,這種方式非常貴。所以提出了 EIP-4488,可以將每個非 0 位元組的 Calldata 成本從 16Gas 降低到 3Gas,但其實這個費用仍然挺高的。
然後,又提出了 EIP-4844 提案,即 Proto-Danksharding。引入了一種稱為 Blob carrying Transactions 的交易格式。這種交易格式與普通的交易格式相比,多了一個 Blob 的位置可以用來存放 L2 的資料。而且,Blob 資料在一個月後會被節點刪除,從而大幅節省了存儲空間。
Blob 這種交易格式能夠提供比 Calldata 更廉價的資料可用性。主要有兩方面原因:一方面,Callda 存在於 Execution Payload 中,而 Blob 資料存儲於 Prysm 節點或者 Lighthouse 節點中(而不是在 Geth 中),相比而言 Calldata 需要被合約讀取時所消耗的資源要多很多;另一方面,Blob 資料是短期存儲,一個月後節點會刪除 Blob 資料。
總而言之,這可以理解為 Ethereum 在 L1 鏈上降低資料可用性成本的一個方案。
另外,也提了一個配套的驗證資料可用性的方案——資料可用性抽樣(DAS,Data Availability Sampling),節點通過 DAS 檢查,可以只下載一些隨機選擇的塊來驗證一個塊是否已發佈。由於 DAS 可以對區塊資料做並行化驗證,所以未來資料分片(Data Sharding)的數量即使很多,也不會增加單個驗證節點的負擔,反而會刺激更多驗證節點加入,從而保證驗證節點的充分去中心化。為了實現 DAS,引入了糾刪碼技術;同時為了確保糾刪碼被正確編碼,又引入了 KZG 多項式承諾(KZG Polynomial Commitments)。
上述一系列解決方案之後,Ethereum 節點(或者輕用戶端)只需要隨機下載一部分資料塊,就能驗證所有資料是可用的。
目前頭部的執行層 Rollup 也有自己的資料可用性解決方案,以 StarkEx、zkSync2.0、Polygon zkEVM 等為例。
StarkEx
StarkEx 是一個用於創建許可的、特定于應用程式的擴容解決方案框架。目前有包括 dYdX、Immutable、Sorare、DeversiFi、Reddio 等專案採用 StarkEx 解決方案。
StarkEx 具有多種資料可用性模式:Rollup、Validium、Volition。這三種模式都是基於有效性證明。在 Rollup 模式中,所有資料都在鏈上提交(data on-chain);在 Validium 模式中,資料保持在鏈外(data off-chain),只有對最近狀態的承諾以及該狀態的有效性證明提交到鏈上;Volition 模式是一種混合模式,在這種模式下使用者可以自行選擇單個交易細微性的資料存儲模式是鏈上還是鏈下。
由於 Validium 的資料保持在鏈外,只需要把最近狀態的承諾和證明提交上鏈,所以 Validium 交易費用更低,同時 TPS 也更高,但代價是 StarkEx Validium 的運營商(Operators)可以凍結用戶的資金。StarkEx 引入了一個獲得許可的資料可用性委員會(DAC,Data Availability Committees),DAC 必須通過其法定人數對狀態的每次更新進行簽名來確認它已收到資料。目前在 StarkEx 中,DAC 由 8 名參與者組成。
zkSync
zkSync2.0 引入了一個新的整體架構,提供 zkRollup 和 zkPorter 兩種帳戶的混合。但這兩部分也是可組合和可交互操作的:zkRollup 端的合約和帳戶能夠與 zkPorter 端的帳戶無縫交互,反之亦然。從用戶的角度來看,唯一明顯的區別是 zkPorter 帳戶的費用便宜 100 倍。
zkRollup 狀態具有鏈上資料可用性,zkPorter 則採用鏈下資料可用性。具體而言 zkRollup 的資料可用性在 L1,zkPorter 的資料可用性在 L2。其中,zkRollup 的交易資料通過 Calldata 發佈到 Ethereum,這個就是常規操作,有特色的是 zkPorter 的資料可用性方案。
zkPorter 通過結合 zkRollup 和分片思想的混合方法來處理資料可用性。它可以支援任意多個分片,每個分片都有自己的資料可用性策略,由分片的智慧合約定義。分片的選擇在個人帳戶級別進行控制。相當於把資料可用性委託給各個分片,這些分片可以自由選擇不同的解決方案。
zkPorter 的分片主要包括:Shard 0、Guardians Shard 和 Protocol X Shard。Shard 0 是一個簡單的 zkRollup shard,具有底層以太坊 L1 的完整資料可用性和安全保證。所以 Shard 0 是 zkPorter 內部運行成本最高的分片,大約是在主網上交易成本的 1/100。
其他分片則是在自己的智慧合約上定義自己的資料可用性策略。zkPorter 的分片交換鏈上資料可用性,使交易成本進一步降低 10-100 倍,TPS 增加超過基礎分片。zkPorter 引入了一種可選的驗證器機制——zkPorter Guardians——這種機制使得協定能夠邀請協定利益相關者作為協定分片上的資料可用性保證人。
zkPorter 的資料可用性由 zkSync Token持有人(監護人)保護。他們通過簽署區塊來跟蹤 zkPorter 端的狀態,以確認 zkPorter 帳戶的資料可用性。監護人使用 zkSync Token 參與權益證明(PoS)。這也就是所謂的資料可用性的加密經濟保證。
Polygon zkEVM
Polygon zkEVM 是一種基於加密證明的去中心化以太坊 Layer2 擴容方案,可為交易提供驗證和快速確定性。和 Polygon Avail 一樣都是 Polygon 推出的擴容方案,側重點有所不同。雖然他們推出了 Polygon Avail 這種通用的資料可用性方案,但 Polygon zkEVM 還是設置了自己的資料可用性方案。
Polygon zkEVM 也是採取混合模式的資料可用性,可以選擇 Validium 或者 Volition。Validium 模式下,資料存儲在鏈下,只有有效性證明在鏈上發佈;Volition 模式下,對於某些交易,資料和有效性證明都保留在鏈上,對於其餘交易則只有證明在鏈上。
Scroll
當然,也有尚未設計自己的資料可用性方案的 zkRollup,比如 Scroll。
其 CTO Ye Zhang 在接受鏈捕手採訪時表示,「Scroll 暫時沒有設計專門的資料可用性方案。對以太坊技術的時間線還是比較樂觀的,不論是 Danksharding 還是 Proto-Danksharding。其次,引入額外的資料可用性方案會讓系統整體的安全性有一定的妥協,所以我們認為長期來看最好還是用以太坊作為原生的資料可用層。」
除了 Ethereum L1 和 Rollup L2 在解決資料可用性問題及降低資料可用性成本外,還有一些專案也在嘗試推出資料可用性的通用解決方案。這類項目有望在未來的模組化區塊鏈中承擔起資料可用性層的重要作用。目前主要有 Celestia 和 Polyon Avail 兩個專案。
Celestia
Celestia 是一個模組化區塊鏈,專注於資料可用性層。Celestia DA 層有兩個關鍵特徵:資料可用性採樣(DAS)和命名空間默克爾樹(NMT)。DAS 使輕節點無需下載整個區塊即可驗證資料可用性;NMT 使 Celestia 上的執行和結算層能夠下載僅與它們相關的交易。
Celestia 要成為一個獨立的資料可用性層,有三個核心事項:Rollup 將所有交易資料傳遞給 Celestia;
Celestia 在其網路上發佈所有這些資料;
Ethereum 確認 Celestia 已經存儲和發佈了這些資料,並且可以隨時訪問。總而言之,Celestia 通過糾刪碼(Erasure Code)+欺詐證明+經濟約束和激勵機制實現了這個通用的資料可用性解決方案。
Polygon Avail
Polygon 是一個生命力很強的專案,其團隊規劃和研發能力非常強。Polygon 經歷了擴容技術方案從狀態通道、Plasma 到 Optimstic Rollup、zk Rollup 的演變,Polygon 團隊內部也探索了多種擴容方向,現在也仍然保持著多個擴容方向的推進,比如:Polygon Avail、Polygon Zero、Polygon Miden、Polygon zkEVM 等。Polygon 就像是一個 Layer2 聚合器,聚合了多種擴容方案。
Polygon Avail 是一個旨在解決以太坊擴容方案的資料可用性的專案。官方在官網上將 Polygon Avail 定義為一個模組化區塊鏈,對應資料可用性層。
Avail 可以為任何輕用戶端提供資料可用性的高保證,當然在官方文檔中也直言「並不比任何其他網路為輕用戶端提供更高的 DA 保證」。
Avail 專注于通過利用 KZG 多項式承諾、糾刪碼和其他技術來允許輕用戶端高效且隨機地小樣本採樣,從而證明區塊資料可用而無需下載全部區塊以驗證其完全可用性。
與 Celestia 一樣,Polygon Avail 也是一個通用的資料可用性解決方案。與 Celestia 不同的是,Celestia 採用欺詐證明確保糾刪碼正確,而 Polygon Avail 則採用 KZG 承諾。Celestia 實現起來比較簡單,但由於其糾刪碼和輕節點採樣資料的規模較大,因此需要的通信頻寬略高。Avail 涉及相對複雜的加密實現,難度稍大。它的優點是糾刪碼規模小,輕節點採樣資料量小,頻寬要求低。
以上三個方面的方案都是旨在解決鏈上資料可用性問題,或在 L1 上引入存放資料的新方式,或以模組化的視角看待區塊鏈的發展然後去做通用的資料可用性層,或在 L2 上設計 Data off-chain 的廉價資料可用性方案。我感覺這些方案在未來很長一段時間會共存。
Layer1+Layer2 的架構下,「Blob」取代「Calldata」承接 Layer2 的資料可用性,Validium、Volition、zkPorter 則以有限相關方範圍內的經濟約束和激勵機制確保 Layer2 本身也具備資料可用性解決方案。模組化區塊鏈的敘事下,Polygon Avail 和 Celestia 類通用的資料可用性方案則以相對更加去中心化的方式,在未來承擔起 DA 層的責任。
同時,更希望能看到更多優秀的創業團隊在資料可用性領域的探索。
免責聲明:
本文觀點僅代表作者個人觀點,不構成本平台的投資建議,本平台不對文章信息準確性、完整性和及時性作出任何保證,亦不對因使用或信賴文章信息引發的任何損失承擔責任
South Korea: Upbit Investigated for Over 500,000 KYC Violations
MacBook Users with Intel Chips Urged to Update for Enhanced Security
Solana-Based Trading Terminal DEXX Hacked, Over $21M in User Losses
South Korea to Enforce 20% Crypto Tax in 2025 with Increased Exemption Limit
0.00