Morph 率先發佈了創新的 zkSNARK zkEVM 適配方案,這將是第一個適配 EIP4844 的 zkSNARK zkEVM

作者:Maggie@Foresight Ventures

TL; DR:

  • 坎昆升級將於 2024 年 3 月 13 日推出,EIP4844 即將上線。 Danksharding 是以太坊路線圖的核心,這次升級是實現 Danksharding 的第一步
  • Ethereum L2 適配 EIP4844 后,交易手續費大幅下降,L2 的 TPS 成倍提高。  用戶會感覺到交易速度更快、成本更低、體驗更流暢、反應更靈敏。 這些 L2 上會有更複雜更大型的 Dapp 應用。
  • Optimistic rollups 適配 EIP4844 更簡單,ZK rollups 適配更複雜。 乙太坊沒有預編譯合約支援 BLS12-381 橢圓曲線,導致部分 ZKP 驗證難度大,阻礙了 ZK rollups 適配 EIP4844 的進度。
  • 橢圓曲線的問題可以通過兩種方式解決,1. 等待乙太坊對 BLS12-381 橢圓曲線進行預編譯;2. 用另一種證明方式來達到同等目的,使用乙太坊預編譯支援的 BN254.
  • 目前,Arbitrum、Optimistic、Starknet、zkSync、Scroll、Polygon zkEVM 以及新 L2 Morph 都在適配 EIP4844。 其中,Arbitrum、Optimistic 和 Starknet 表示坎昆升級後會實施對 EIP4844 的適配。 Morph 則率先發佈了創新的 zkSNARK zkEVM 適配方案,這將是第一個適配 EIP4844 的 zkSNARK zkEVM

一、背景

2020 年,乙太坊發佈的「以 Rollup 為中心的乙太坊路線圖」,以及第二年 Vitalik 發表的「Endgame」中描述的乙太坊的最終圖景,確定了乙太坊的大方向:優化乙太坊的基礎層建設,為 Rollup 服務。

乙太坊設計了 Danksharding 的分片技術以提高乙太坊作為數據可用性層的可用性。 它將顯著降低 L2 的交易手續費,提高 Rollup 的 TPS,實現乙太坊的大幅擴容

直至今年,乙太坊坎昆-德內布(Dencun)升級終於在 2024 年 3 月 13 日推出,EIP4844 即將上線,這次硬分叉可以說是乙太坊實現 Danksharding 的第一步,是以太坊路線圖核心中的核心。

关于什么是 DA 层,Danksharding 的技术原理,EIP4844 的内容,请参考去年我写的一篇技术文章:DA(数据可用性)Summer 将至?https://foresightnews.pro/article/detail/33575

二、坎昆升级如何利好 L2?

EIP4844 引入了一种新的交易类型,称为 blob-carrying 交易每个 blob-carrying 交易都可以 “携带” 一个 Blob 列表 。Blob 是一个数据包,大约 125 KB。Blob 存储的时间很短,仅 4096 个 epoch,略多于 18 天。

  1. L2 交易手續費大幅下降。  由於 Blob 不需要永久存儲,Blob 相比於區塊空間更大更便宜。 Blob 可以在相同的 gas 消耗下存儲比 Calldata 多 10 倍的數據。 適配了 EIP4844 的 Rollup 可以將交易數據存儲在 Blob 中,將交易費用降低一個數量級。
  2. L2 的 TPS 成倍提高。  目前每個區塊目標是 3 個 Blob,最多允許 6 個 Blob。 區塊只有 90KB,而每個 Blob 大約 125KB。 引入 Blob 相當於為區塊額外擴展了幾倍的空間可以用來存 Rollup 的數據,因此 Rollup 的 TPS 也能成倍增加。 且 Toni 和 Vitalic 寫的 “On Increasing the Block Gas Limit” 中表示,會通過增加區塊 Gas limit 和非零 Calldata bytes 的價格,實現更小、變數更少的區塊大小,從而未來可以增加更多 Blob。 Blob 更多則存儲空間會更大。

對最終使用者而言,Ethereum L2 適配 EIP4844 后,交易速度更快、成本更低、體驗更流暢、反應更靈敏。 這些 L2 上會有更複雜更大型的 Dapp 應用。

三、L2 如何適配 EIP4844?

L2 如何適配 EIP4844 呢?我們需要分 Optimistic Rollup 和 ZK Rollup 來分別討論。

Optimistic Rollups 適配 EIP4844

Optimistic rollup 是通過欺詐證明來保證 rollup 執行的正確性的。 即節點首先選擇相信狀態的轉換是正確的,除非有人在規定的時間段內發起欺詐證明,證明之前提交的是狀態轉換是不合法的,則該狀態轉換會被撤銷。

Optimistic Rollup 適配 EIP4844 相對 ZK rollup 來說更簡單。 把 L2 的交易都通過 Blob-carrying 交易提交到 L1 即可完成適配。 此外,就是要調整欺詐證明使之適配 EIP4844,這部分就可以慢慢做了。 畢竟,很多 optimistic rollup 至今也沒上線欺詐證明。 上線了欺詐證明的,發現兩年多都沒有一個欺詐證明提交。

  1. L2 交易提交:Rollup 提交的時候,使用 Blob-carrying 交易,將 Rollup 數據存儲在 Blob 中。 Blob-carrying 交易的 payload 是 ,其中 rlp([tx_payload_body, blobs, commitments, proofs])
    • tx_payload_body – 是標準 EIP-2718 blob 交易的 TransactionPayloadBody。
    • blobs – Blob 列表。 一個交易最多包含兩個 blob。
    • commitments – Blob 的 KZG 承諾列表。
    • proofs – Blob 和對應 KZG 承諾的證明清單。 這個證明是會被 ETH 節點所驗證的。
  2. 调整欺诈证明:
    • 首先,证明者和挑战者需要多轮交互等方式找到争议点。
    • 然后将争议点提交到 L1 上做判定。适配 EIP4844 则有可能还需要证明这个争议点的数据存储在某个 Blob 上。
    • 由于 Blob 数据大约 18 天后会被删除,因此挑战期必须在被删除之前,这一点现在的 optimistic rollups 都是满足的。一般挑战期不超过 7 天。

ZK Rollups 适配 EIP4844

ZK rollup 是通过 ZKP 来证明 L2 状态转换是正确的。ZK rollup 适配 EIP4844 相对 optimistic rollup 来说更复杂。

  1. L2 交易提交:這一步 Optimistic Rollup 是相似的。
  2. ZK 證明提交:與適配前的 ZK Rollup 相比,除了做狀態轉換的 ZKP 證明以外,還需要多證明一個過程。 即證明 blob commitment 和 transaction batch 是對應的,從而保證狀態轉換證明的輸入是正確的。  打個比方:狀態轉換的 ZK 電路能生成計算過程 a + a = b 的證明。 當(a=1,b=2)和(a=2,b=4)時生成的 ZKP 都是合法的。 因此我還需要提供一個證明,證明我當時提供的輸入是(a=1,b=2)而不是(a=2,b=4)。 這一點在適配 EIP4844 之前是不需要做的,因為數據就直接存儲在 Calldata 中可以直接讀取,確保了輸入不會被調包。 用了 EIP4844 后,Blob 數據無法直接讀取,只能通過一個新的電路來證明這一點。 用 STARK 的 ZK rollup(如 Starknet)更容易實現這種證明機制。 而這對於用 SNARK 的 ZK rollup 是存在挑戰的,原因是:EIP4844 的 blob commitment 使用的橢圓曲線是 BLS12-381,而 ETH 的預編譯合約只支援了 BN254,由於曲線不同,導致我們難以直接在智慧合約中驗證 blob commitment 完成證明。
  3. 用 SNARK 的 zkEVM/zkVM 需要解決第 2 點中提到的由於曲線不匹配無法生成 ZK 證明的問題。
    • 等待 Ethereum 支援 BLS12-381 的預編譯合約。 這會很漫長。
    • 採取另一種證明方式來證明。 要設計新的電路,必須用預編譯合約所支援的 BN254 橢圓曲線。 目前,我們看到 Morph 採用了這個方法。 這也使得 Morph 成為第一個完成 EIP4844 適配的 zkEVM。

Morph 的 EIP-4844 zkEVM 整合解決方案請參見:https://medium.com/@morphlayer2/morphs-solution-to-eip-4844-zkevm-integration-7f469910478f

四、有哪些 L2 適配了 EIP4844?

Optimistic rollup 中,Optimism 和 Arbitrum 已表示致力於採用 EIP-4844,並與其社區密切合作來測試和部署必要的更新。 Arbitrum 屬於 Stage 1 的 Rollup, 安全性相對較好。 涉及到需要將欺詐證明適配 EIP4844 的問題。 Optimistic rollup 屬於是 Stage 0 的 Rollup,目前還沒有欺詐證明,適配起來更容易,但安全性不夠高。

ZK rollup 中,使用 STRAK 和 SNARK 的 rollup 適配難度是不同的。 用 STARK 的 rollup 適配 EIP4844 更簡單,Starknet 是其中的代表。 Starknet 發表了文章表示坎昆升級後會實施對 EIP4844 的適配(文章連結)。 用 SNARK 的 rollup,zkSync 也在探索如何利用攜帶 blob 的交易來進一步降低成本並提高性能。 Scroll 則是在去年發表了一篇文章介紹了適配 EIP4844 的思路(文章連結)

最令人映像深刻的是 Morph, 他是一個 Optimistic ZK Rollup,率先發佈了 zkEVM 適配 EIP4844 的方案可以說是第一個完成 EIP4844 的 zkEVM Rollup。

Optimistic ZK Rollup 結合了兩類 Rollup 的優勢。 它樂觀地相信 Sequencer 提交的執行結果,允許對結果產生懷疑的人發起挑戰。 只有在發起挑戰時,證明者才會生成 ZKP 來證明執行結果的正確性。  它擁有 Optimistic rollup 的效率,又擁有 ZK rollup 的 ZK 證明的可靠性。

免責聲明:作為區塊鏈資訊平臺,本站所發佈文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。 文章內的資訊僅供參考,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。