您可能已經注意到,幾乎每個開發者都在參與並轉發 KZG 儀式,那麼什麼是 KZG 儀式呢?

簡單來說,KZG Ceremony 是 EIP-4844 KZG 承諾的信任設置,EIP-4844 是以太坊全分片的預發佈。

1. 分片:以太坊擴容的長期解決方案

  • Rollup 從執行層擴展以太坊,而分片從數據可用性的角度提高了以太坊的可擴展性和容量。

  • 下面的趨勢圖顯示,儘管以太坊這些年迭代速度很快,但平均區塊大小仍然在 90kb 左右波動。雖然 Rollup 顯着緩解了網絡擁塞,但整體性能仍然受到第一層數據存儲容量的限制。

  • 考慮到安全性和實現的複雜性,分片分爲多個階段,包括proto-danksharding和danksharding,整個過程可能需要幾年的時間。

  • 在目前的存儲架構下,只有極少數高性能硬件能夠作爲節點參與,而分片實現後,節點無需存儲完整的歷史數據內容,降低了成爲節點的門檻,充分利用了以太坊的安全性(數據存儲成本更低,去中心化程度更高)。

2. EIP-4844:短期回報可觀,以太坊全分片預發佈

EIP-4844 = 原始Danksharding;

由於分片的完整實現仍然過於複雜並且可能需要數年時間,因此 proto-danksharding 是短期內減少以太坊擁堵的最佳中級計劃。

2.1 原始 Danksharding 概要

Proto-Danksharding 引入了一種新的交易類型,稱爲 blob-carrying 交易。受益於此更新,rollups 可以使用“blob”將數據傳輸到 L1 並以相對較低的成本臨時存儲。blob 的大小比當前的 calldata 大得多。

關於 blob:

  • 每筆交易最多可攜帶 2 個 blob

  • 每個塊通常包含 8 個 blob,容量爲 1MB。

一個塊可以承載 16 個 blob,因此塊大小爲 2MB。

  • Blob 不會像 calldata 那樣永久存儲爲歷史日誌。

  • 在proto-danksharding的設計中,節點仍然需要下載完整的數據內容,並驗證數據的可用性。

2.2 深入探討 Blob 攜帶交易

功能

數據 blob 的功能類似於 calldata,它允許 rollup 將交易數據和證明傳輸到 L1。

成本

blob 的初衷是爲了支持 rollups 的高 TPS。相比使用鏈上存儲的 calldata,這些數據 blob 只會被下載並存儲一段時間。因此,rollups 爲確保數據可用性而花費的 gas 費用將可預見地更低。

容量

每個 blob 的大小爲 125kB。

2.3 Blob 攜帶交易的價值與挑戰

價值

可以肯定的是,blob的出現使得交易數據成爲一種緩存,進一步降低了對節點存儲硬件的要求,並通過爲以太坊提供額外的數據存儲來降低gas費用。

挑戰:計算一下硬件需求

事實是,當前區塊大小約爲 90kB,但 blob 的大小可以達到 125kB

根據 EIP-4844 的設計,每個 slot 的大小通常爲 1 MB,這意味着總數據大小可以按如下方式計算:

1 MB/塊 * 5 塊/分鐘 * 43200 分鐘/月 * 12 個月/年 = 每年 2.47 TB

顯然,每年的數據增量遠遠超過以太坊的總量,這表明這種簡單的數據存儲方案效率不高。

哪些方面可以優化?

短期內,每個節點仍然需要存儲歷史數據的全部內容,但共識層實現了在一定時間內(30天或1年,TBD)刪除blob數據的方案

爲了長遠利益,需要實施 EIP-4444,這意味着節點不再需要存儲完整的數據。而是採用一種新機制,允許節點在一定時間內僅存儲部分數據,即所謂的歷史到期方案。

2.4 KZG承諾

KZG 承諾是 EIP-4844 proto-danksharding 採用的多項式承諾方案

KZG 儀式是 KZG 承諾的信任建立過程,吸引了超過 30,000 名參與者。

2.4.1 什麼是KZG承諾

KZG 是 Aniket Kate、Gregory M. Zaverucha 和 Ian Goldberg 的縮寫,他們於 2010 年發表了多項式承諾論文“Constant-Size Commitments to Polynomials and Their Applications”。KZG 承諾在 plonk 風格的 zk-snark 協議中得到廣泛應用。

參照 Dankrad 演示中的圖表,KZG 根與 Merkle 根類似,不同之處在於 KZG 根提交多項式,其中每個位置都位於該多項式上。基於原始 Danksharding 的場景,KZG 根提交一個數據集,其中每個數據點都可以作爲整個集合的一部分進行驗證。

快速瞭解 KZG 承諾的內部運作方式

  • 證明者:負責計算承諾。出於安全性考慮,證明者不能修改給定的多項式,且承諾只對當前多項式有效;

  • 驗證者:負責驗證證明者發來的承諾。

2.4.2 KZG儀式(受信任的設置)

KZG 儀式流程

每個人都可以作爲參與者加入 KZG 儀式並貢獻祕密。新添加的祕密將與之前的輸出混合形成新的結果,最終爲 KZG 承諾信託設置生成 SRS。(查看 Vitalik 提供的圖表以更好地理解)

信任設置

  • KZG 儀式是一種廣泛使用的多參與者信託設置,稱爲 power-of-tau;

  • 該設置遵循 1-of-N 信任模型,這意味着無論有多少參與者參與生成最終設置的過程,只要有一個人保守自己的祕密,就可以保證該設置的有效性。

KZG 儀式的意義

  • KZG承諾的信任設置的價值可以解釋如下:生成每次執行加密協議所必需的參數

  • 在證明者計算承諾時,KZG承諾C=f(s)g1,其中f爲評估函數,s爲KZG信任設置的最終結果。因此本次KZG儀式最終生成的祕密,對於接下來分片的實現至關重要。

2.4.3 KZG承諾的優勢

  • 成本

  • KZG承諾複雜度較低,且能高效驗證。

  • 不需要額外的證明,從而降低了成本並減輕了帶寬要求。

  • 利用點評估預編譯甚至可以降低成本。

  • 安全

  • 如果發生故障,則只有與當前承諾相對應的 blob 受到感染,並且不會產生進一步的連鎖反應。

  • 兼容性

  • KZG承諾對DAS更加友好,避免了開發中的冗餘。

2.5 EIP-4844 的好處

捲起

如下圖所示,rollup需要通過calldata提交狀態delta和KZG承諾的版本哈希(zk-rollup仍然需要上傳zkp)。

EIP-4844 實施後,昂貴的 calldata 僅攜帶一些小數據(例如 state delta 和 commits),而交易批次等大數據則放入 blob 中。

  • 降低成本;

  • 減少塊存儲空間的使用。

提高安全性

  • 數據可用性:Blob 存儲在信標鏈中,與以太坊 L1 具有相同的安全性。

  • 歷史數據:節點只會存儲一定時間內的 blob,而 Layer 2 Rollup 負責數據的永久存儲,這意味着歷史數據的安全性依賴於 Rollup。

成本

Blob 攜帶交易的低成本特性可以將總體成本優化 10 倍到 50 倍。

與此同時,EIP-4844 引入了 blob 費用

  • Gas 和 blob 將有單獨可調整的 gas 價格和限制;

  • 每個 blob 的價格單位是 gas,gas 數量會根據網絡流量浮動,目的是維持每個區塊承載的數量(平均 8 個)。

預編譯的實現

EVM 執行時只能查看證明者生成的某個 blob 的 commit,無法直接訪問 blob 數據,因此 rollup 需要採用預編譯方案來驗證 commit 的有效性。

EIP-4844 中提到了兩種預編譯算法

  • 點評估預編譯

  • 證明對同一組數據作出了多項承諾。

  • 積分評估預編譯主要被zk-rollup採用,rollup需要提供兩個承諾,KZG承諾和zk-rollup承諾

  • 而對於 Optimistic Rollup,大部分都採用了多輪防欺詐,最後一輪防欺詐的數據量較小,因此也可以以較低的成本使用點評估預編譯。

  • Blob 驗證預編譯

  • 證明版本化哈希對於相應的 blob 有效

  • Optimistic Rollup 在提交防欺詐時需要訪問完整的數據,因此先驗證版本化哈希的有效性,然後再進行防欺詐驗證是合理的。

3. Danksharding:邁向全面分片的關鍵一步

擴展

得益於 proto-danksharding 的新交易類型設計,引入了數據 blob,每個塊現在都有一個額外的 1MB 緩存。danksharding 實施後,這個數字將增長 16 到 32 倍。

數據可用性:高性能數據存儲和驗證

與原始 danksharding 要求節點存儲歷史數據的全部內容相比,danksharding 允許節點僅存儲採樣後的數據。

danksharding方案利用了糾刪碼技術,使得節點更容易(每個節點只需要下載部分數據)發現數據的丟失。

安全性:幾乎相同

由於不再需要節點存儲歷史數據的全部內容,安全性不再由單個節點支持,而是依賴於存儲部分數據並可進一步組合和恢復完整數據的多個節點。

雖然單點依賴方案比多點依賴方案更安全,但是以太坊網絡的節點數量遠遠綽綽有餘,完全可以達到保證數據可用性的目的。

新的挑戰:對砌磚工人的要求更高

雖然驗證器僅下載並存儲完整數據的部分內容,但區塊構建器仍然需要上傳完整數據內容,即包含所有交易數據的 blob。

根據 Dankrad 幻燈片中的圖表,我們可以看到最初爲反 MEV 設計的 PBS(提議者/構建者分離)如何有助於減少區塊構建過程中的帶寬要求。

4. 另一種分片方案:Shardeum 的動態狀態分片

Shardeum 是一條兼容 EVM 的 L1 區塊鏈,採用動態狀態分片技術,提升可擴展性和安全性,同時保證網絡的去中心化程度更高。

動態狀態分片

優點

動態狀態分片最直觀的好處是線性擴展。每個節點擁有不同的地址範圍,節點覆蓋的地址之間存在顯著重疊。分片算法動態分組節點,這意味着 Shardeum 網絡中新添加的節點可以立即工作以提高 TPS

執行

動態分片的實現複雜度比靜態分片更高,Shardeum技術團隊對分片技術有深入研究,Shardeum團隊前期的研發成果(前身爲Shardus技術)也做出了重要貢獻,能夠在早期開發階段就展示出動態分片的線性擴展能力。

概括

產品

Shardeum 動態分片借鑑分而治之的思想,將計算和存儲的工作量進行拆分,從而實現更高程度的並行化,使網絡能夠容納更多的節點,進一步提高吞吐量和去中心化程度。

團隊

Shardeum 團隊擁有豐富的營銷經驗和敘事能力。他們還對技術細節有着深刻的理解,尤其是動態狀態分片。

技術

技術團隊能夠根據場景的理解,設計合適的分片方案和高效的共識算法(權益證明+仲裁證明),將擴容和吞吐量作爲首要考慮因素,儘可能保證安全性和去中心化程度。

進步

Betanet 於 2023 年 2 月 2 日推出。

5. 展望

  • 分片是以太坊的長期擴容方案,對整個網絡具有巨大的價值和深遠的意義。分片的實現是一個迭代的過程,因此不宜過分關注。目前所有的方案,包括proto-danksharding和danksharding,都可以升級/修改。

  • 理解分片的一般實現方法固然重要,但在此過程中出現的諸如PBS、DAS、多維手續費市場等技術方案也值得關注,伴隨這些方案的可能還有很多優秀的項目。

  • 需要注意的是,分片是一個描述一組擴展技術的統稱,根據具體場景有不同的應用方案。例如,danksharding 的設計可能只適合以太坊,如果應用在其他 L1 中可能會產生負面影響,因爲安全性需要網絡中大量節點來保證。

  • 分片與其他擴容方案的合理結合,可以達到乘數效應。目前的 danksharding 方案無法單獨發揮作用。相反,rollups 和 danksharding 相互補充,以更好地提高以太坊的擴容性和容量。

參考

https://notes.ethereum.org/@dankrad/kzg_commitments_in_proofs

https://notes.ethereum.org/@dankrad/new_sharding

https://vitalik.ca/general/2022/03/14/trustedsetup.html

https://notes.ethereum.org/@vbuterin/proto_danksharding_faq#Why-use-the-hash-of-the-KZG-instead-of-the-KZG-directly

https://ethresear.ch/t/easy-proof-of-equivalence- Between-multiple-polynomial-commitment-schemes-to-the-same-data/8188

https://dankradfeist.de/ethereum/2020/06/16/kate-polynomial-commitments.html

https://eips.ethereum.org/EIPS/eip-4844

https://www.eip4844.com/

https://biquanlibai.notion.site/Data-Availability-caa896aae59d489b98f2448f17b01640

https://ethresear.ch/t/a-design-of-decentralized-zk-rollups-based-on-eip-4844/12434

關於 Foresight Ventures

Foresight Ventures 致力於支持區塊鏈未來幾十年的顛覆性創新。我們管理多支基金:一支 VC 基金、一支主動管理型二級基金、一支多策略 FOF 和一支私募二級基金,資產管理規模超過 4 億美元。Foresight Ventures 秉承“獨特、獨立、積極、長期思維”的信念,爲不斷髮展的生態系統中的投資組合公司提供廣泛的支持。我們的團隊由來自紅杉資本、中金公司、谷歌、比特大陸等頂級金融和技術公司的資深人士組成。

網站:https://www.foresightventures.com/

Twitter:https://twitter.com/ForesightVen

媒介:https://foresightventures.medium.com

Substack:https://foresightventures.substack.com

Discord:https://discord.com/invite/maEG3hRdE3

Linktree:https://linktr.ee/foresightventures