對話 EthStorage 創始人 Qi Zhou:數據可用性和去中心化存儲
引介
這是去中心化 Rollup 訪談系列最後一期,本集從 “數據可用性和去中心化存儲” 的角度探討 rollup 去中心化。我們邀請到了 EthStorage 創始人 Qi Zhou ,針對 DA 如何重用以太坊主網的安全屬性、EIP-4844 和 danksharding、不同 DA 模型的安全性對比進行了討論。周老師還向大家介紹了 EthStorage 如何在下一次以太坊升級中與 EIP-4844 進行結合。
嘉賓介紹
很高興能夠跟大家來分享一下我們對整個以太坊 DA 技術、以及我們在這上面做的去中心化存儲的一些想法。我是 18 年全職加入 Web3 行業的。之前在谷歌、Facebook 這些大廠做工程師。而且有喬治亞理工 (Georgia Institute of Technology) PhD 的學位。自從 2018 年,我一直在關注並且從事 Web3 基礎設施的工作。主要是因為之前在大廠裏面也是做這方面的事情,包括分布式系統、分布式的存儲。另外也是認為這方面在整個區塊鏈還有非常多的可以改進的空間。不管是一开始我們做的各種,比如說像叫做執行分片的技術。那么這是以太坊的分片 1.0,到現在以太坊的分片 2.0 的這種叫數據分片的技術,以及後來的數據可用性。其實都是在圍繞整個 Web3 基礎設施做證明的一些創新和工作。
所以我們也是緊密地去跟以太坊路线圖,去學習研究,並且以這種社區的方式參與、改進。我們去年年底非常榮幸地拿到了以太坊基金會對我們在“數據可用採樣”的研究的一個支持。幫以太坊基金會做一些偏理論的,danksharding 上的一些研究工作,包括數據如何能夠有效恢復。同時我們也在以太坊的 DA 技術基礎上开發 EthStorage 這樣一個以太坊的數據層。我們可以使用以太坊的智能合約大規模地去驗證鏈下數據存儲。這個對於以太坊來說也是非常有意義的。所以我今天非常高興能跟大家一起分享,包括 EthStorage 如何在 DA 技術上去更好地構建數據存儲層的一個網絡。
訪談部分
第一部分:關於 DA 定義的討論
數據可用性 (DA) 如何保證 Rollup 的安全
首先我在研究 DA 的過程也是發現很多人對 DA 的定義有一些不理解的地方。今天也非常高興能夠討論一下,此前我也跟很多以太坊基金會的成員,像 Dankrad Feist 他們討論 DA,以及 DA 在整個的以太坊 L2 裏面扮演的重要角色。
前面說到了以太坊 rollup 的一些基本工作機制,怎么去把這些鏈上的交易挪到鏈下,然後再通過一系列證明方式 (fraud proof 和 validity proof) 去告訴 L1 的智能合約這些執行結果是可以通過這些證明方式來證明是對的。
那么有個非常重要的核心是,他們希望能夠復用以太坊本身網絡的安全性,但同時又能夠對以太坊整個計算能力進行極大的擴容。剛才說計算能力擴容,實際上是把鏈上計算放到鏈下,那么怎么能夠同時實現以太坊的安全性。
比如在 Optimistic Rollup 情況下,怎么保證有人能夠挑战 sequencer 在做惡意的事情,這裏面很重要一點是需要知道鏈下具體的原始交易是長什么樣子的。如果鏈下具體的原始交易都無法獲得的話,那我就無法找到原始交易記錄去鏈上對 sequencer 進行挑战。所以 DA 能夠保證安全性,就是因為它需要讓每一筆鏈下交易的元數據可以拿到鏈上。
擴容區塊空間
因為我們所有的交易數據都要上鏈,即便不需要計算,但我們還是會產生巨大的交易數據。那么它要解決的核心問題,大家可以理解它是一種非常有效的技術,來擴充區塊的空間。大家如果對整個區塊鏈的結構非常了解的話,每個區塊裏面包含了很多交易內容。這個交易的區塊本身,我們把它叫做區塊空間。
當前以太坊每一個區塊的空間大概是 2、300 KB。但是這樣的數目很明顯無法滿足接下來以太坊擴容的需求。在這裏可以做一個非常快速的計算:200 kB 的空間,除以每個交易大概是 100 個字節數目的話,得到 2000 筆交易的數目。2000 筆再除以以太坊的區塊時間 12,也就是說以太坊的 TPS 上限就被限制在100 左右。那么這其實對於整個以太坊擴容計劃來說還是一個非常小的數目。
所以,以太坊 L2 關心的是如何保障安全的同時,怎么能夠把大量的區塊數據放到 block space 裏面去。然後使得不管是欺詐證明還是有效性證明都能夠重用以太坊的區塊空間裏面的數據去做相應的檢查。最後讓鏈下交易的計算結果的安全性能夠得到以太坊的保證。那么這基本上就是 DA 跟以太坊的安全性之間的一些關系。
從網絡帶寬成本和存儲成本的角度來理解 DA
DA 主要的成本是兩個方面,一個叫做網絡帶寬的成本,另一個是存儲成本。
從網絡帶寬成本來說,比如在 P2P 網絡中,就是比特幣和以太坊當前的區塊廣播的方式,是通過 gossip (廣播) 給所有 P2P 節點,去告訴大家我有一個新的區塊,長這個樣子的。那么這樣的網絡方式的好處是,它非常安全,所有網絡節點最終會接收到一個備份。
不好的地方就是,它對網絡的帶寬和延遲都會有很大的一個开銷。我們知道以太坊是 12 秒出一個區塊,經過 POS 升級之後。那么如果這個區塊過大導致它可能會超過 12秒的話,大量的區塊都無法出塊,最後使得整個網絡帶寬還是下降到一個大家無法接受的程度。所以你可以認為 DA 是解決區塊鏈大量數據上鏈的帶寬問題。
那么第二個就是它的存儲成本,這方面其實以太坊基金會有非常多的討論。核心解決方案的設計中,它不會讓整個 DA 上傳的區塊數據一直被保存。
這引出另外一個問題。當我有這么多數據上了鏈,但是一個星期或者兩個星期之後,會被以太坊的協議丟棄。那么這個過程,我們有沒有一些更好的去中心化方案能夠來保存這些 DA 的數據。
這也是我們在設計 EthStorage 時的一個初衷。第一方面,很多 Rollup 它需要有更長時間去保存數據。第二方面,有了這些數據之後,我其實可以通過 DA 更好去完成一些全鏈上的應用。舉例來說全鏈的 NFT,或者是很多 DApp 的前端,甚至包括一些像社交網絡裏面的大家的寫的大量文章或者評論。那么這些都可以通過 DA 的網絡,通過更低的成本去上傳到整個區塊鏈,並且能獲得跟以太坊 L1 一樣的安全保障。
這是我們在研究以太坊 DA 的整個技術,包括跟以太坊很多的核心人員討論之後,發現在這方面,以太坊需要有一個存儲層,而且是一個去中心化的、不需要對以太坊本身的協議進行升級的一個存儲層,或者我們叫模塊化的存儲層來解決數據的長期保存問題。
第二部分:關於不同 DA 方案的討論
EIP-4844 和 Danksharding 的關系,以及為什么需要部署 EIP-4844
Proto-danksharding 又叫做 EIP-4844,我認為可以算是以太坊接下來一個非常重大的升級。為什么要做 4844,有一個非常重要的原因,以太坊基因會在估計以太坊分片的升級路线,也就是 Danksharding 的時間的時候,他們認為整個的升級時間相當長,比如說可能需要三年到五年。當時是 2021、2020 年的時候。
那么在這個過程中,他們預測很快會有非常多的 Rollup 在以太坊上面在跑,但是因為 Danksharding 它提供的數據接口,和現在 Rollup 使用的 Calldata 數據接口是完全不一樣的。這會導致以太坊大量的應用會因為新的接口使得他們無法快速升級,並且能夠無縫地獲得 Danksharding 給他們帶來的好處。
我去參加去年的 Devcon 時,Vitalik 他也提到了希望能夠讓以太坊更好地為這些 Layer 2 提供服務,使得他們可以在使用一樣的 Danksharding 接口的情況下开發他們的合約。當 Danksharding 在升完級之後,他們就可以直接繼承 Danksharding 提供的新好處,而不需要再去升級他們已有的,並且已經測試好了的合約。
所以 EIP-4844 它實際上是一個超級簡化版的 Danksharding,它提供了一個跟 Danksharding 一樣的應用接口,包括一個新的 opcode 叫 Data Hash;以及新的一個數據對象叫 Binary Large Objects,也就是 Blob。
這些數據對象是為了設計能夠讓 rollup 提前去兼容 Danksharding 提供的數據結構,也就是說 Danksharding 會提供一樣的 Data Hash 和 Blob 這樣類似的概念。但是通過 EIP-4844,他們就提前把這些想法在以太坊接下來的升級中實現。所以在整個 EIP-4844 的設計功能中,大家可以去看他們的接口以及比如說 Pre-compile 和新加的指令,那么都已經可以隱隱看到整個 Danksharding 的未來,在以太坊上面怎么去跟應用層交互的一個過程。
那么這方面以太坊也是從應用角度去思考,怎么能夠提前通過一些升級讓應用更好地去享受在以太坊上面的各種擴容技術,並且不需要有額外的升級成本。
但是有一個問題就是 EIP-4844 並不解決整個區塊空間的擴容問題,Danksharding 才能解決。當前以太坊區塊空間大概是 200 KB。到了 Danksharding 之後,在規範中計劃的大小是 32 兆,將近是 100 倍的提升。那么現在的 EIP-4844 其實並沒有解決區塊上鏈的帶寬問題。
Danksharding 如何解決區塊空間的擴容問題
4844 的設計下,數據在上鏈的廣播過程中,還是使用跟之前 calldata 一樣的方式,是通過 P2P 的網絡進行廣播。那么這種廣播方式最終還是會受到整個 P2P 網絡帶寬的物理瓶頸的限制。而 Danksharding 的設計方式改變了 P2P 網絡廣播,然後通過數據採樣技術,使得大家不需要去下載所有區塊數據的同時,也知道這些區塊數據能夠被下載到。
其實某種意義上來說,有點像 ZK 的方式,通過數據採樣方式,我知道網絡裏面包含了( 32 兆字節/區塊)大小的由 Danksharding 帶來的區塊數據。但是我不需要去下載所有 32 兆的數據,去保存到本地。如果有足夠的機器帶寬和足夠的存儲空間性能,也可以這么做,但對於普通的驗證者來說,他是不需要去下載全部 32 兆的數據。
EIP-4844 測試網的一些开發與經驗
我們最近已經把我們內部的 EIP-4844 的測試網跑起來,並且部署相應的合約去測試,包括 blob 的數據上傳、合約的調用以及數據驗證,我們都已經完全走通。所以 EIP-4844 一旦上线,我們就可以在第一時間把我們的合約部署上去。
同時我們也是希望能夠通過我們現在和以太坊一些开發者的合作,以及我們的已經开發好的一些合約,能夠為以太坊接下來各種 rollup 开發還有學習以及各種工具的時間。
所以我們最近提交了非常多的代碼到以太坊,針對 EIP-4844 的工具集,包括新的智能合約去支持 opcode,因為 solidity 現在還不能支持 data hash 這個 opcode。那么所有的一些工作,我們其實都已經在跟以太坊基金會的一些开發者進行同步。
數據可用性委員會 (DAC) 的應用和局限
因為現在 L2 用戶支付的开銷其中可能有 90% 以上的費用都是支付給數據可用的費用,很多 L2 為了能夠更好地降低數據的上傳成本,一些項目方包括 ZKSync 出了 ZKPorter,還有像Arbitrum 做了 Arbitrum Nova。他們通過提供自己的 DAC 數據可用性委員會來提供自己的數據層。
這個數據委員會會帶來一些額外的信任,才能達到以太坊一樣的額外的安全級別。所以他們在挑選數據委員會的時候,一般都會挑選一些比較大牌的比如說數據服務商,或者是大牌的公司去參與這個數據的保存。但是其實也會受到很多挑战和質疑,因為大家覺得這其實是違背了去中心化的無准入的原則,也就是說大家都能夠去參與。但是現在的情況是大部分數據委員會都是幾個跟 Layer2 項目方非常緊密的一些組織。
像 Arbitrum Nova,我上次看的時候,可能有六七個這樣的節點。比如說跑在谷歌的雲上面,或者跑在 Amazon 的雲上面的數據委員會節點去保存這個數據,並且他們都能夠提供所有在 Arbitrum Nova 上面的執行成本。這樣的一個好處是使得他現在的執行成本是以太坊的大概千分之一。因為他不需要把所有的數據都去寫到以太坊的 Layer1上面去。但是現在還是相對偏中心化,所以比較高價值的應用相對還會有比較大的擔憂,因為如果是有大量的資金,上千萬或上億的資金,那么他必然要相信數據委員會的數據是可用的。
所以我們在設計 EthStorage 的時候,其實是沒有任何數據委員會的概念。在設計過程中,我們希望所有人都能夠去參與,成為一個數據提供商。而且他們是通過加密的證明,去證明他們確實存了這一份數據。因為理論上來說數據委員會的這個模型,雖然我說我有七個和八個數據委員會節點,但是實際上,我完全可以只保存一份物理數據,但是我可以表現出來我有七八個地址都能提供這個數據。
然後怎么去證明我這個數據有足夠多的物理副本來保證數據的安全性。其實是我們在做 EthStorage 時一個非常重要的創新,也是我們去跟以太坊基金會 ESP (生態支持計劃) 去宣講的時候重點強調的地方。我們通過 EthStorage 使用的 ZK 加密技術,去保障 Layer2 數據提供的節點。他們能夠無准入加入並且能夠證明他們有這么多的存儲副本,並且能更好保證數據的安全。
所以我覺得 DAC 的確現在是一個非常臨時去解決數據上傳到 Layer1 的成本的方案。我們相信我們通過 EthStorage 的一些加密技術,再加上一些 Layer1 基於以太坊的這種合約上面的一些證明驗證方式,能夠提供更好的數據保存的方案。接下來我們也是隨着以太坊的 4844 上线,會主動把這些創新的內容,以及它在網絡上面跑的結果給大家分享。
EthStorage 與 DAC 的區別
EthStorage 其實是一個以太坊存儲 rollup,Storage rollup。那么我們可以假設現在一個Layer 2 不是一個執行以太坊 EVM,而是一個非常大的數據庫,或者叫 key value database。它可以是上 10 TB,上百 TB,甚至上千,就是 PB 級別的這樣一個數據庫。
那怎么保證我的數據庫的數據能夠獲得以太坊一樣的安全保障。首先第一步,我們需要把數據庫裏面這些大規模的數據全部都要通過 DA 發布到以太坊 Layer 1 上面去,使得大家都能夠看到這些數據在以太坊的整個 DA 層是可以拿到的。但是我們不能保證它能夠永久的拿到,因為以太坊 DA 會在兩個星期或者四個星期左右的時間裏丟棄掉這些數據。
第二步就是我們把這些數據上傳之後,接着去保存在我們 Layer 2 的節點上。這跟 DAC 不一樣,我們的數據保存節點是無需許可的,任何人都可以參與。並且它證明它的存儲,然後拿到相應的回報。這種方式是通過我們建立的一套存儲證明機制,當然這個存儲證明機制也是受到了像 Filecoin、Arweave 這些系統的存儲證明的一些設計方案的啓發。但是我們需要專門針對以太坊的 DA 框架以及以太坊智能合約去做相應的存儲證明的一個網絡和證明的系統。所以這方面的話,我們相信我們在以太坊整個生態,甚至整個去中心化存儲方面,我們是有一個非常獨特的貢獻的。
存儲證明的機制
基本上所有存儲證明的機制,包括像 Filecoin、Arweave 都需要首先對用戶的元數據作一個編碼。但是這個編碼的過程是需要根據數據提供商的地址來進行編碼,也就是說每一個數據提供商他都需要有自己的不同地址,然後根據它的地址和元數據進行編碼之後保存一個叫做 unique replica (唯一副本) 的東西。比如 hello world 這個數據,在傳統中心化數據庫裏面,或者是傳統化的分布式系統裏面,可能保存四五個到不同的物理機器上面去,每個保存都是 hello world。但是在 EthStorage 裏面,它保存四五個或者是十個二十個,它的 hello world 都會根據每一個數據提供商的地址去編碼成為不同的數據,然後保存在不同的地方。
這樣的好處是,我們能夠通過密碼學的機制來證明有這么多的不同地址,就是不同的存儲提供商。他們對這些數據進行了編碼,並且根據編碼數據做了相應的存儲證明。基本上 Filecoin、Arweave 都是類似這樣的。但是他們只針對靜態數據,我們現在是針對以太坊 DA 的熱數據。並且是可以通過以太坊智能合約去驗證,這份數據有這么多的物理副本。也就是說每個編碼好的數據,我們去證明這些編碼好的數據保存在這個網絡,而且每個編碼數據對應的數據本身是不一樣的,因為它是由不同的存儲提供商的地址去編碼出來的。
所以基本上我們在設計的過程中去對現在已有的去中心化存儲的一些思路進行優化和改進。但是同時我們也需要對以太坊的 DA 方案做很多優化,包括動態數據的修改,怎么能夠在以太坊的合約上有效地證明和優化 gas 开銷。那么這裏面有非常多前沿的技術和研究需要完成。
EthStorage 如何維持無需許可的存儲證明
以太坊有種節點叫歸檔節點,會保存以太坊的所有交易的歷史記錄,包括世界狀態。但接下來 Danksharding 裏面的一個巨大挑战是 Danksharding 計劃會在一年產生大概 80TB 的數據。那么假設以太坊跑了三到四年,它會產生 200 到 300TB 的數據,而且會不斷增加。那么這其實會對歸檔節點有不少的挑战,因為在運行歸檔節點過程中,它是沒有額外的代幣學經濟來激勵大家去保存這個數據的。
EthStorage 首先需要解決數據的永久保存的代幣學激勵的問題。這方面實際上我們也是採用了 Arweave 的 discounted cash flow 的模型來去實現激勵。並且同時非常有效地去讓它在整個智能合約上執行。
第二就是它的無需許可的方式。因為我們激勵設計裏面是鼓勵 10 個、50 個甚至 100 個節點在網絡裏面保存數據。所以對於任何一個節點來說,它都能夠去聯系其中的任何一個節點,同步相應的數據,之後它就能夠成為數據存儲方。可能還會有更多數據激勵的一些優化設計。
第三個,存儲節點因為它一次性要保存所有的數據,可能是好幾百 TB 甚至長期來說很有可能達到一個 PB 級別的數據。那么這樣的話對於單個節點來說,成本是非常高的。所以我們在這裏面再進一步做了一個叫做 data sharding 的東西。這樣的話,對於普通節點,它只需要有 4 TB 這樣的容量空間 (我們現在設計是 4 TB,當然後面可能會升級到比如 8 TB) 它就可以去保存網絡中歸檔數據中的一部分,但我們又通過一些激勵機制保證大家最後把所有這些數據都拼在一起之後,都能夠在我們的 layer2 網絡裏面保存。
所以在這裏面有非常多的問題,比如歸檔節點造成的各種數據太大的問題;代幣的激勵問題;還有去中心化的准入問題...這些問題我們就可以通過以太坊的智能合約部署在 layer1 自動去實現的。那么對我們來說,我們只是去提供數據網絡,使大家只要有足夠的數據成本就可以去下載數據並且生成存儲證明,提交到以太坊網絡裏面去,然後達到相應的回報。我們整個合約基本上已經設計完畢,並且已經在以太坊的 4844 Devnet 上面开始進行調試。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
Uniswap公告Unichain主網明年初上線!首測路線圖兩功能,UNI強彈17%
去 中心化交易所(DEX)龍頭 Uniswap 於 10 月宣佈推出專為 DeFi 設計的 Lay...
下周必關注|LayerZero決定是否开啓“費用开關”;Aligned空投注冊結束(12.23-12.29)
下周重點預告 12 月 23 日 Aligned 將向 891322 個地址空投 26% 的 AL...
空投周報 | OpenSea基金會官推上线;Azuki、Doodles疑似即將發幣(12.16-12.22)
@OdailyChina @web3_golem Odaily星球日報盤點了 12 月 16 日至...
資金費率的演變:從2021年黃金時代,到2024-2025年套利復興
資金費率起源 資金費率起源於加密貨幣衍生品市場,特別是從永續期貨合約中發展而來。它作為一種機制,用...