風險提示:防範以"虛擬貨幣""區塊鏈"名義進行非法集資的風險。——銀保監會等五部門
資訊
發現
搜索
登錄
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
查看行情
IOSG Ventures:拆解數據可用性層,模塊化未來中被忽視的樂高積木
星球君的朋友们
Odaily资深作者
2022-08-10 06:00
本文約6589字,閱讀全文需要約10分鐘
模塊化區塊鏈中,執行層和共識層已是紅海市場,數據可用性層的價值仍然有待被發掘。

一級標題

一級標題

tl;dr

  • 對於輕客戶端的數據可用性,採用糾刪碼來解決該問題幾乎沒有異議,不同點在於如何確保糾刪碼被正確編碼。 Polygon Avail 和Danksharding 中採用了KZG 承諾,而Celestia 中採用了欺詐證明。

  • 對於Rollup 的數據可用性,如果把DAC 理解為聯盟鏈,那麼Polygon Avail 和Celestia 所做的就是使數據可用性層更加去中心化——相當於提供「DA-Specific」的公鏈,以此提升信任級別。

  • 未來的3 至5 年內,區塊鏈的架構必然由單體化向模塊化演變,各層呈現低耦合狀態。未來可能出現Rollup-as-a-Service(RaaS)、Data Availability-as-a-Service(DAaaS)等許多模塊化組件的提供商,實現區塊鏈體系結構的可組合性樂高。模塊化區塊鍊是支撐下一個週期的重要敘事之一。

  • 模塊化區塊鏈中,執行層已經「四分天下」,後來者寥寥;共識層逐鹿中原,Aptos 和Sui 等嶄露頭角,公鏈競爭格局雖未塵埃落定,但其敘事已是新瓶裝舊酒,難以尋找合理的投資機會。而數據可用性層的價值仍然有待被發掘。

圖片描述

圖片描述

圖片來源:IOSG Ventures, 據Peter Watts 改制

關於模塊化區塊鏈的分層暫無嚴格定義,一些分層方式從以太坊出發,另一些則偏向通用化的視角,主要看在何語境下進行討論。

  • 執行層:兩件事發生在執行層。對單筆交易而言,執行交易並發生狀態更改;對同批次的交易而言,計算該批次的狀態根。當前以太坊執行層的一部分工作分給了Rollup,即我們熟知的StarkNet、zkSync、Arbitrum 和Optimism 等。

  • 結算層:可以理解為主鏈上的Rollup 合約驗證狀態根的有效性(zkRollup)或欺詐證明(Optimistic Rollup)的過程。

  • 共識層:無論採用PoW、PoS 或其他共識算法,總之共識層是為了在分佈式系統中對某件事達成一致,即對狀態轉換的有效性達成共識。在模塊化的語境下,結算層和共識層的含義有些相近,故也有一些研究者把結算層和共識層統一起來。

  • 歷史狀態層:由Polynya 提出(僅針對以太坊而言)。因為在引入Proto-Danksharding 之後,以太坊只在一定時間窗口內維護即時數據可用性,之後則進行修剪操作,把這項工作交給其他人。例如Portal Network 或是其他存儲這些數據的第三方可被歸類於這一層。

  • 圖片描述

圖片描述

圖片描述

DA in Nodes

 

圖片來源:https://medium.com/metamask/metamask-labs-presents-mustekala-the-light-client-that-seeds-data-full-nodes-vs-light-clients-3bc785307ef5

我們首先來看的概念。的概念。

由於全節點親自下載和驗證每個區塊中的每筆交易,因此不需要誠實假設來確保狀態被正確執行,有著很好的安全性保證。但運行全節點需要存儲、計算能力和帶寬的資源要求,除了礦工以外,普通用戶或者應用沒有動力去運行全節點。況且,如果某個節點僅僅需要在鏈上驗證某些信息,運行全節點顯然也是非必要的。

這是輕客戶端在做的事情。在IOSG 的文章「多鏈生態:我們的當前階段與未來格局」中我們簡要介紹了輕客戶端。輕客戶端是區別於全節點的一種說法,它們往往不與鏈進行直接交互,而依賴鄰近的全節點作為中介,從全節點請求所需要的信息,例如下載區塊頭、或是驗證賬戶餘額。

作為節點的輕客戶端可以很快地同步整條鏈,因為它只下載和驗證區塊頭;而在跨鏈橋模型中,輕客戶端又作為智能合約——目標鏈的輕客戶端只需要驗證源鏈的代幣是否被鎖定,而無需驗證源鏈的所有交易。

問題出在哪?

這樣存在一個隱含問題:既然輕客戶端只從全節點那裡下載區塊頭,而不是自己下載和驗證每筆交易,那麼惡意的全節點(區塊生產者)可以構造一個包含無效交易的區塊,並把它發送給輕客戶端來欺騙它們。

我們容易想到採用「欺詐證明」來解決這個問題:即只需要1 個誠實的全節點監測區塊的有效性,並在發現無效區塊後構造一個欺詐證明、將其發送給輕客戶端來提醒它們。或者,在收到區塊後,輕客戶端主動詢問全網是否有欺詐證明,如果一段時間後沒有收到,那麼可以默認該區塊是有效的。這樣一來,輕客戶端幾乎可以獲得與全節點等同的安全性(但仍然依賴於誠實假設)。

然而,在以上論述中,我們實際上假設了區塊生產者總是會發布所有的區塊數據,這也是生成欺詐證明的基本前提。但是,惡意的區塊生產者可能在發佈區塊的時候隱藏掉其中的一部分數據。這個時候,全節點可以下載這個區塊,驗證它是無效的;但輕客戶端的特點使它們無法這樣做。並且由於缺少數據,全節點也無法生成欺詐證明來警告輕客戶端。

另一種情況是,可能由於網絡原因,一部分數據在稍後才會上傳,我們甚至無法判斷這時的數據缺失是客觀條件所致還是區塊生產者有意為之圖片描述

圖片描述數據可用性問題


圖片來源:https://github.com/ethereum/research/wiki/A-note-on-data-availability-and-erasure-coding

上圖中給出了兩種情況:其一,惡意的區塊生產者發布了數據缺失的區塊,這時誠實的全節點發出警告,但隨後該生產者又補充發布了剩餘的數據;其二,誠實的區塊生產者發布了完整的區塊,但這時惡意的全節點發出了假警告。在這兩種情況下,網絡中的其他人在T3 之後看到的區塊數據都是完整的,但都有人在其中作惡。

解決方案解決方案

解決方案

2018 年9 月,Mustafa AI-Bassam(現Celestia CEO)和Vitalik 在合著的論文中提出採用多維糾刪碼來檢查數據可用性——輕客戶端只需要隨機下載一部分數據並驗證,就能確保所有數據塊是可用的,並在必要時重建所有數據。

採用糾刪碼來解決輕客戶端的數據可用性問題幾乎沒有異議,Polygon Avail、Celestia(以及以太坊的Danksharding)中都採用了Reed-Solomon 糾刪碼。

不同點在於如何確保糾刪碼被正確編碼:Polygon Avail 和Danksharding 中採用了KZG 承諾,而Celestia 中採用了欺詐證明。兩者各有優缺,KZG 承諾無法抗量子,而欺詐證明依賴一定的誠實假設和同步假設。

除KZG 承諾外,還有採用STARK 和FRI 的方案可用於證明糾刪碼的正確性。

(注:糾刪碼和KZG 承諾的概念在IOSG 的文章「合併在即:詳解以太坊最新技術路線圖片描述

DA in Rollup

圖片描述


圖片來源:https://forum.celestia.org/t/ethereum-rollup-call-data-pricing-analysis/141

我們來看Layer2 的費用結構,除了固定花費外,與每批次交易筆數相關的變量主要在於Layer2 的Gas 花費以及鏈上數據可用性的支出。前者的影響微乎其微;而後者需要為每個字節恆定支付16 gas,整體占到Rollup 成本的80%-95% 之多。

(鏈上)數據可用性很貴,怎麼辦?

一是降低在鏈上存放數據的成本:這是協議層做的事情。在IOSG 的文章「合併在即:詳解以太坊最新技術路線」中,我們提到以太坊正在考慮引入Proto-Danksharding 和Danksharding 來為Rollup 提供「大區塊」,即更大的數據可用性空間,並採用糾刪碼和KZG 承諾解決隨之而來的節點負擔問題。但從Rollup 的角度去想,被動等待以太坊來為自己做適配是不現實的。

圖片描述圖片描述

圖片來源:IOSG Ventures

DA Provided by Rollup

最簡單的Validium 方案中,由中心化的數據運營商來負責確保數據可用性,用戶需要信任運營商不會作惡。這樣的好處是成本低,但實際上幾乎沒有安全保證。

於是,StarkEx在2020 年進一步提出了由數據可用性委員會(DAC)維護的Validium 方案。DAC 的成員是知名且在法律管轄區內的個人或組織,信任假設是他們不會串通和作惡。

Arbitrum今年提出了AnyTrust,同樣採用數據委員會來確保數據可用性,並基於AnyTrust 構建了Arbitrum Nova。

zkPorter 則提出由Guardians(zkSync Token 持有者)來維護數據可用性,他們需要質押zkSync Token,如果發生了數據可用性故障,那麼質押的資金將被罰沒。

圖片描述 Volition圖片描述

圖片來源:https://blog.polygon.technology/from-rollup-to-validium-with-polygon-avail/

General DA Scenarios

提出上述方案基於這樣的想法:既然普通運營商的信譽度不夠高,那麼就引入更權威的委員會來提高信譽度。

一個小型委員會的安全程度足夠高嗎?以太坊社區早在兩年前就提出了Validium 的勒索攻擊問題:如果竊取了足夠的委員會成員的私鑰,使得鏈下數據可用性不可用,那麼可以威脅用戶——只有他們支付足夠的贖金才能從Layer2 提款。據Ronin Bridge 和Harmony Horizon Bridge 被盜的前車之鑑,我們無法忽略這樣的可能性。

既然鏈下的數據可用性委員會並非足夠安全,那麼如果引入區塊鏈作為信任主體來保證鏈下數據可用性呢?

圖片描述

圖片描述

圖片來源:https://blog.celestia.org/celestiums/

我們以Celestia 在以太坊Rollup 上的應用Quantum Gravity Bridge 為例進行解釋。以太坊主鏈上的L2 Contract 像往常一樣驗證有效性證明或欺詐證明,區別在於數據可用性由Celestia 提供。Celestia 鏈上沒有智能合約、不對數據進行計算,只確保數據可用。

L2 Operator 把交易數據發佈到Celestia 主鏈,由Celestia 的驗證人對DA Attestation 的Merkle Root 進行簽名,並發送給以太坊主鏈上的DA Bridge Contract 進行驗證並存儲。

圖片描述

圖片描述

小結

圖片來源:IOSG Ventures,據Celestia Blog 改制

在逐一討論上述方案後,我們從安全性/ 去中心化程度、Gas 花費的角度來做一個橫向比較。注意,該坐標圖僅代表筆者的個人理解,作為模糊的大致劃分而非定量比較。

左下角的Pure Validium 安全性/ 去中心化程度和Gas 花費都是最低的。

中間部分是StarkEx 和Arbitrum Nova 的DAC 方案、zkPorter 的Guardians 驗證者集方案,以及通用化的Celestia 和Polygon Avail 方案。筆者認為採用zkPorter 採用Guardians 作為驗證者集,對比DAC 來說安全性/ 去中心化程度稍高;而DA-Specific 區塊鏈的方案對比一組驗證者集又要稍高。與此同時Gas 花費也相應增加。當然這只是極粗略的比較。

右上角的方框內是鏈上數據可用性的方案,有著最高的安全性/ 去中心化程度和Gas 花費。從方框內部來看,由於這三種方案的數據可用性都由以太坊主鏈提供,故它們具有等同的安全性/ 去中心化程度。純Rollup 方案對比單體化的以太坊來說顯然Gas 花費更低,而在引入Proto-Danksharding 和Danksharding 之後,數據可用性的成本將進一步得到降低。

注:本文討論的「數據可用性」語境大多在以太坊之下,需要注意Celestia 和Polygon Avail 是通用化的方案,並不限於以太坊本身。

圖片描述

圖片來源:IOSG Ventures

Closing Thoughts

在討論完上述數據可用性問題之後,我們發現所有方案本質上是在三難困境的相互制約下做權衡取捨,而方案之間的區別在於權衡的不同。不同。

從用戶角度考慮,協議提供同時鏈上和鏈下數據可用性的選項是合理的。因為在不同的應用場景之下、或者不同的用戶群體之間,用戶對安全性和成本的敏感程度亦各不相同。

上文更多討論了數據可用性層對以太坊和Rollup 的支持。在跨鏈通信上,Polkadot 的中繼鍊為其他平行鏈提供了數據可用性的原生安全保證;而Cosmos IBC 依賴於輕客戶端模型,故確保輕客戶端能夠驗證源鍊和目標鏈的數據可用性至關重要。

模塊化的好處在於可插拔和靈活性,能夠按需為協議做適配:例如卸下以太坊的數據可用性包袱,同時確保安全和信任級別;或是在多鏈生態下提升輕客戶端通信模型的安全級別,降低信任假設。不僅限於以太坊,數據可用性還可以在多鏈生態、甚至未來更多的應用場景下發揮作用。

我們認為:未來的3 至5 年內,區塊鏈的架構必然會由單體化向模塊化演變,各層呈現低耦合狀態。未來可能出現Rollup-as-a-Service(RaaS)、Data Availability-as-a-Service(DAaaS)等許多模塊化組件的提供商,實現區塊鏈體系結構的可組合性樂高。模塊化區塊鍊是支撐下一個週期的重要敘事之一。

執行層共識層共識層共識層(即各個Layer1)逐鹿中原,在Aptos 和Sui 等公鏈開始嶄露頭角後,公鏈競爭格局雖未塵埃落定,但其敘事已是新瓶裝舊酒,難以尋找合理的投資機會。

而數據可用性層的價值仍然有待被發掘。

IOSG Ventures
公鏈