資料可用性就是讓區塊生產者把區塊中的所有交易資料都發布到網路上,並讓驗證者可以下載。資料可用性在 L2 的發展扮演了什麼角,以至於讓以太坊基金會研究員 Dankrad Feist 發布推文表示不使用以太坊獲得資料可用性就不是 L2 呢?
(前情提要:V神喊單ENS的背後政治原因:怕Layer2數據可用層被搶飯碗?)
(背景補充:以太坊坎昆升級後Layer2將迎來「流血內鬥」,市場會如何演變?)
以太坊基金會研究員 Dankrad Feist 曾在一條推文中表示,不使用以太坊獲得資料可用性就不是 L2。如果按照他的說法,那麼許多鏈都要被踢出 L2 的隊伍,例如 Arbitrum Nova、Polygon 和 Mantle 等。
那麼,資料可用性究竟是什麼?L2 面臨怎樣的資料可用性問題?為何對於資料可用性層 L2 有這麼多爭議?本文將聚焦這幾個問題,試圖揭開資料可用性的神祕面紗。
資料可用性是什麼
簡單來說,資料可用性是指區塊生產者將區塊的所有交易資料都發布到網路中,以便使驗證者可以進行下載。
如果一個區塊生產者釋出了完整資料並使驗證者可以下載,我們就說資料是可用的;如果它隱瞞了一些資料使驗證者無法下載完整資料,我們就說資料是不可用的。
資料可用性與資料可檢索性的區別
通常,我們容易將資料可用性與資料可檢索性相混淆,但其實二者大不一樣。
資料可用性涉及的是在區塊被生產出來但還未通過共識新增到區塊鏈時的階段,因此資料可用性並不與歷史資料有關,而是與新發布的資料是否能通過共識有關。
資料可檢索性涉及的是資料已經通過共識並被永遠儲存在區塊鏈後的階段,即檢索歷史資料的能力。在以太坊中儲存所有歷史資料的節點被稱為歸檔節點。
因此,L2BEAT 共同創辦人曾在一條長推中表示全節點並沒有義務向我們提供歷史資料,之所以我們能得到,只是因為全節點足夠善良。
同時他還表示資料可用性(Data Availability)一詞會使人對其作用產生誤解,應該將它替換成資料釋出(Data Publishing),這種說法還得到了 Celestia 創辦人的贊同。
L2 中的資料可用性問題
雖然資料可用性這個概念來源於以太坊,但目前我們著重關注的是 L2 層面的資料可用性。
在 L2 中排序器(Sequencer)就是區塊生產者,他們要釋出足夠的交易資料以便驗證者能夠檢查交易是否有效。(想了解關於排序器(Sequencer)的更多內容請閱讀洞鑑週刊往期文章《研報|排序器(Sequencer)的原理、現狀及未來》)
但在這過程中面臨著兩個問題,一是確保驗證機制安全進行,二是降低釋出資料的成本。以下將具體介紹。
確保驗證機制安全進行的問題
我們知道 OP Rollup 採用欺詐證明的方式來驗證交易的有效性,ZK Rollup 則採用有效性證明的方式。
對於 OP Rollup:如果排序器(Sequencer)不釋出完整的能重溯區塊的資料,欺詐證明中的挑戰者將無法發起有效挑戰;
對於 ZK Rollup:雖然有效性證明本身不需要資料可用性,但 ZK Rollup 作為一個整體仍然需要資料可用性,如果沒有能重溯區塊的資料,那麼使用者將無法知道其餘額,很可能丟失資產。
為了使驗證安全進行,目前的 L2 排序器(Sequencer)普遍都將 L2 的狀態資料與交易資料都發布在安全性較強的以太坊上,依靠以太坊進行結算並獲得資料可用性。
因此,資料可用性層實際就是 L2 釋出交易資料的地方,目前主流的 L2 都將以太坊當做資料可用性層。
降低釋出資料的成本問題
如今的 L2 簡單的將資料可用性與結算都發生在以太坊上,雖然有了足夠的安全性,但也承擔著巨大成本。這也是 L2 面臨的第二個問題,即如何降低釋出資料的成本。
使用者支付給 L2 的總 Gas 主要由 L2 執行交易發生的 Gas 和 L2 向 L1 提交資料發生的 Gas 組成,前者費用微乎其微,後者才是使用者費用的大頭,其中為保證資料可用而釋出的交易資料佔 L2 向 L1 提交資料的主要部分,而驗證交易有效的證明資料只佔很小一部分。
因此,要想讓 L2 整體更加便宜就得降低釋出資料的成本。那麼,該如何降低成本呢?主要有兩種方法:
降低在 L1 上釋出資料的成本,例如以太坊即將進行的 EIP-4844 升級,對 EIP-4844 升級感興趣的小夥伴,可以閱讀洞鑑週刊往前文章《Web3 科普|輕鬆搞懂 Layer2 的大利好:EIP-4844》;
仿照 Rollup 將交易執行從 L1 中剝離,資料可用性也可以從 L1 中剝離從而降低成本,也就是不使用以太坊作為資料可用性層。
L2 對於資料可用性層的爭議
要講 L2 對於資料可用性層的爭議,還得從模組化區塊鏈說起。模組化區塊鏈就是將整體區塊鏈的各個核心功能進行解耦,形成相對獨立的各個部分,並通過各種專用網路的組合來擴展套件單一區塊鏈的效能。
雖然對於模組化區塊鏈的分層還有些爭議,但目前普遍被接受的是將模組化區塊鏈分為四層,即執行層(Execution)、結算層(Settlement)、共識層(Consensus)和資料可用性層(Data Availability)。其各模組功能如下圖
模組化區塊鏈類似於樂高積木,可以通過訂製化,使用最好的積木塊搭建了一個良好的模型,緩解了區塊鏈 「不可能三角」 的問題。
不過,現在的 L2 除了將執行層從以太坊中分離以外,其他三層的功能依然在以太坊上進行。但出於成本方面的考量,許多 L2 也在準備將資料可用性層從以太坊中剝離,而將以太坊只當做結算層和共識層使用。
有趣的是,以太坊似乎並不想讓 L2 從其他地方獲取資料可用性,以太坊基金會的研究員 Dankrad Feist 就曾在一條推文中表示不使用以太坊作為資料可用性層就不是 Rollup,因此也不是 L2。
同時,在 L2BEAT 最新對於 L2 的定義中也指出不在 L1 釋出資料的擴容方案都不是 L2,因為使用鏈下資料可用性解決方案無法保證運營商會提供釋出的資料。
當然具體關於什麼是 L2 目前還未有蓋棺定論,以上以太坊基金會成員和 L2BEAT 堅持認為 L2 要將資料可用性層留在以太坊看似是出於安全性的考量,但實際是否有對以太坊地位動搖的擔心呢?
以太坊的願景是要成為一個超級電腦平臺,後來為了提升網路效能,不得不發展 Rollup 並使許多生態跑到了更加便宜的 L2 上發展,但因為安全性由以太坊提供,對以太坊的地位並未有多大影響。但如果 L2 將涉及資料釋出的資料可用性層也剝離了以太坊,本質上是削弱了對以太坊安全性的依賴,逐漸的遠離了以太坊,這就對以太坊的地位造成了威脅。
不過不管怎樣,也依然阻擋不了資料可用性層相關專案的蓬勃發展。在下一篇關於資料可用性的文章中,筆者將詳細介紹目前市面上主要的資料可用性解決方案及具體的相關專案,敬請期待。