作者:MegaETH 來源:@megaeth\_labs 翻譯:善歐巴,金色財經在所有Optimistic Rollup 的核心,都存在一個關鍵假設:**提交的狀態提議在未被證明錯誤之前,默認是有效的**。然而,這一假設只有在 Rollup 擁有強大的欺詐證明機制時才成立。缺乏此機制的鏈,一旦無效狀態未被質疑,或由於惡意挑戰而導致結算流程被阻斷,就會立刻變得不安全。## **欺詐證明的重擔**爲了支撐上述假設,Optimistic的L2必須支持一種欺詐證明機制(也稱爲**爭議解決協議**),它允許驗證者(挑戰者)對排序器(提議者)提交的**可能錯誤的狀態提議**發起挑戰。這個機制必須確保兩個關鍵特性:1. 所有錯誤的狀態提議**都能被識別出來**,2. 錯誤的挑戰**永遠不會成功**。從技術角度來看,這一機制包含兩個核心組成部分:* **挑戰子協議**:處理對單個狀態提議的爭議。* **錦標賽機制**:當同一個區塊出現多個競爭狀態提議時,用於篩選出**唯一正確的提議**。每一個狀態提議,都是對一組交易執行結果的聲明,通常包含三個部分:* **初始狀態**:Ethereum 上最近一次被最終確認的 L2 狀態;* **交易載荷**:從該狀態以來發生的一系列 L2 交易;* **最終狀態**:提議者聲稱執行這些交易後得到的結果。因此,一個完整的提議本質上是在說:“假設當前初始狀態是 A,執行以下交易列表(payload),我認爲最終狀態應該是 X。”我們可以用下圖的形式來可視化這個結構:此時,挑戰子協議的作用就是**驗證該主張是否正確**。如果它是錯誤的,挑戰必須成功,該提議就必須被拒絕。## **交互式故障證明(****二分挑戰遊戲****)**在多數當前主流的Optimistic Rollup 系統中,採用的都是一種**交互式協議**:挑戰者與提議者之間進行來回交鋒。一旦提出爭議,雙方會對計算過程的中間結果(由提議者聲稱的每一步執行結果)進行**二分拆解**,逐步縮小錯誤可能發生的範圍。這個過程會不斷遞歸,直到雙方定位到**單個出錯的計算步驟**(比如某筆交易被錯誤執行)。確定具體錯誤後,該步驟會被**在以太坊主網上重新執行**,以判斷是否真的存在欺詐行爲。但這一機制存在多個問題:* **延遲高**:每一步交互都需要在以太坊鏈上發起交易。一個完整的爭議處理過程可能耗時數小時甚至數天,特別是在網路擁堵或受到審查時;* **對提議者要求高**:即便提議者是誠實的、挑戰是毫無根據的,他仍需參與整個爭議流程,付出不小的計算與鏈上交互成本;* **容易被惡意利用**:惡意挑戰者可以不斷提出無理挑戰,迫使誠實的提議者反復浪費時間和 gas 成本去捍衛正確狀態。**現實中,交互式欺詐證明代價高昂、在負載高時脆弱、並且容易被濫用。**### **非交互式欺詐證明(****ZK 挑戰模型****)**MegaETH 採用了完全不同的路徑:它要求挑戰者**只需生成一個簡潔的零知識證明(ZKP)**,證明提議者聲明的最終狀態是**無效的**。具體而言,這個 ZK 證明表明,從初始狀態執行交易序列**不會得出提議者聲稱的最終狀態**。該機制將基於 RISC Zero 的 zkVM 構建,並借鑑 OP Kailua 的非交互欺詐證明混合架構來實現。該證明通過單筆交易提交至以太坊,鏈上驗證者合約將確認其有效性。證明提出者無需參與任何工作,無法幹預整個過程,亦不參與爭議。當然,生成這樣一份 ZK 證明**並非易事**——它要求在 zk 虛擬機中完整運行爭議的計算過程,預計將消耗 **約 1000 億個計算週期**,最壞情況下成本約爲 **100 美元** 。但這種成本**僅在欺詐被證實時才發生**,且根據設計,由**不誠實方承擔**。這一模式極大減輕了誠實挑戰者的資本壓力,並**根本消除了基於二分機制中的惡意破壞風險**。### **ZK 用於欺詐證明,而非狀態有效性**在加密領域,「零知識(ZK)」常常被簡化理解爲 ZK Rollup 的代名詞 —— 即使用 ZK 證明在鏈下驗證狀態轉換,然後將其發布到鏈上的系統。但這種理解其實只涵蓋了 ZK 潛力的一半。**MegaETH 使用零知識證明的目的不是爲了驗證狀態的正確性,而是用於證明**欺詐行爲。這讓我們能夠在保留Optimistic Rollup 的高效與可擴展性的同時,新增一個**無需信任、非交互式**的機制,用於檢測和挑戰**無效的狀態轉換**。我們將這種混合方法稱爲 **ZK 欺詐證明**,它帶來了一種本質上**不同的信任模型**。## **檢測窗口不變,終局時間大幅縮短**出於安全審慎的考慮,MegaETH 仍將保留**典型Optimistic鏈的 7 天挑戰窗口**,這意味着任何參與者都有整整一周時間對某個狀態根提出爭議。但**真正的差異發生在爭議被提出之後,**在交互式模型中,如果在第 7 天提出挑戰,可能還需要額外幾天時間才能完成爭議解決。在此期間,鏈在以太坊主網的最終性會被凍結,協議進展被中斷,鏈的活性也會受到影響。而使用 ZK 欺詐證明的情況下,**整個爭議流程將在大約 1 小時內完成。**挑戰者生成 ZK 證明、提交到以太坊主網、驗證後立即生效,鏈狀態迅速獲得最終性。這有效抵御了一個關鍵攻擊向量:**惡意挑戰者反復發起虛假爭議,以阻滯鏈的最終性**。## **由 EigenDA 提供數據可用性保障**爲了確保欺詐證明過程的完整性,挑戰者必須能夠輕鬆可靠地訪問原始區塊數據,以重現被質疑的計算過程。這正是我們將 ZK 欺詐模型與 **EigenDA(一個去中心化、高吞吐的數據可用性層)** 搭配使用的原因。通過這種結構,整個流程被精簡爲最安全、最高效的形式:* 排序器將區塊數據發布到 EigenDA,同時僅將一小段數據摘要提交到以太坊,EigenDA 提供的加密保證確保任何時候都可以生成欺詐證明,且排序者無法“隱匿”數據以逃避審查;* 任何觀察者都可以從 EigenDA 檢索區塊數據,重建完整區塊並在 zkVM 中執行;* 一旦檢測到欺詐,該觀察者就能生成**簡潔的 ZK 欺詐證明**,提交至以太坊上的驗證合約;排序者將被懲罰,其無效提案也將被駁回。## **一種具備加密保障、可擴展的信任模型**MegaETH 用**簡潔的非交互式 ZK 欺詐證明**取代了繁瑣的交互式欺詐博弈。這種方式消除了騷擾攻擊風險,大幅縮短了最終確認時間,並確保爭議能夠以**高效、可擴展**的方式解決。在 RiscZero 提供可驗證計算能力、@eigen\_da 確保原始數據訪問的支持下,每一個狀態提案都具備:**可重建性、可驗證性、可被任何人挑戰的可能性** —— 無論在任何規模下。
終局之戰:我們如何用 ZK 技術保護 MegaETH 的安全
作者:MegaETH 來源:@megaeth_labs 翻譯:善歐巴,金色財經
在所有Optimistic Rollup 的核心,都存在一個關鍵假設:提交的狀態提議在未被證明錯誤之前,默認是有效的。然而,這一假設只有在 Rollup 擁有強大的欺詐證明機制時才成立。缺乏此機制的鏈,一旦無效狀態未被質疑,或由於惡意挑戰而導致結算流程被阻斷,就會立刻變得不安全。
欺詐證明的重擔
爲了支撐上述假設,Optimistic的L2必須支持一種欺詐證明機制(也稱爲爭議解決協議),它允許驗證者(挑戰者)對排序器(提議者)提交的可能錯誤的狀態提議發起挑戰。這個機制必須確保兩個關鍵特性:
從技術角度來看,這一機制包含兩個核心組成部分:
每一個狀態提議,都是對一組交易執行結果的聲明,通常包含三個部分:
因此,一個完整的提議本質上是在說:
“假設當前初始狀態是 A,執行以下交易列表(payload),我認爲最終狀態應該是 X。”
我們可以用下圖的形式來可視化這個結構:
此時,挑戰子協議的作用就是驗證該主張是否正確。如果它是錯誤的,挑戰必須成功,該提議就必須被拒絕。
交互式故障證明(二分挑戰遊戲)
在多數當前主流的Optimistic Rollup 系統中,採用的都是一種交互式協議:挑戰者與提議者之間進行來回交鋒。
一旦提出爭議,雙方會對計算過程的中間結果(由提議者聲稱的每一步執行結果)進行二分拆解,逐步縮小錯誤可能發生的範圍。這個過程會不斷遞歸,直到雙方定位到單個出錯的計算步驟(比如某筆交易被錯誤執行)。
確定具體錯誤後,該步驟會被在以太坊主網上重新執行,以判斷是否真的存在欺詐行爲。
但這一機制存在多個問題:
現實中,交互式欺詐證明代價高昂、在負載高時脆弱、並且容易被濫用。
非交互式欺詐證明(ZK 挑戰模型)
MegaETH 採用了完全不同的路徑:它要求挑戰者只需生成一個簡潔的零知識證明(ZKP),證明提議者聲明的最終狀態是無效的。
具體而言,這個 ZK 證明表明,從初始狀態執行交易序列不會得出提議者聲稱的最終狀態。該機制將基於 RISC Zero 的 zkVM 構建,並借鑑 OP Kailua 的非交互欺詐證明混合架構來實現。
該證明通過單筆交易提交至以太坊,鏈上驗證者合約將確認其有效性。證明提出者無需參與任何工作,無法幹預整個過程,亦不參與爭議。
當然,生成這樣一份 ZK 證明並非易事——它要求在 zk 虛擬機中完整運行爭議的計算過程,預計將消耗 約 1000 億個計算週期,最壞情況下成本約爲 100 美元 。但這種成本僅在欺詐被證實時才發生,且根據設計,由不誠實方承擔。這一模式極大減輕了誠實挑戰者的資本壓力,並根本消除了基於二分機制中的惡意破壞風險。
ZK 用於欺詐證明,而非狀態有效性
在加密領域,「零知識(ZK)」常常被簡化理解爲 ZK Rollup 的代名詞 —— 即使用 ZK 證明在鏈下驗證狀態轉換,然後將其發布到鏈上的系統。但這種理解其實只涵蓋了 ZK 潛力的一半。
MegaETH 使用零知識證明的目的不是爲了驗證狀態的正確性,而是用於證明欺詐行爲。這讓我們能夠在保留Optimistic Rollup 的高效與可擴展性的同時,新增一個無需信任、非交互式的機制,用於檢測和挑戰無效的狀態轉換。
我們將這種混合方法稱爲 ZK 欺詐證明,它帶來了一種本質上不同的信任模型。
檢測窗口不變,終局時間大幅縮短
出於安全審慎的考慮,MegaETH 仍將保留典型Optimistic鏈的 7 天挑戰窗口,這意味着任何參與者都有整整一周時間對某個狀態根提出爭議。但**真正的差異發生在爭議被提出之後,**在交互式模型中,如果在第 7 天提出挑戰,可能還需要額外幾天時間才能完成爭議解決。在此期間,鏈在以太坊主網的最終性會被凍結,協議進展被中斷,鏈的活性也會受到影響。
而使用 ZK 欺詐證明的情況下,**整個爭議流程將在大約 1 小時內完成。**挑戰者生成 ZK 證明、提交到以太坊主網、驗證後立即生效,鏈狀態迅速獲得最終性。這有效抵御了一個關鍵攻擊向量:惡意挑戰者反復發起虛假爭議,以阻滯鏈的最終性。
由 EigenDA 提供數據可用性保障
爲了確保欺詐證明過程的完整性,挑戰者必須能夠輕鬆可靠地訪問原始區塊數據,以重現被質疑的計算過程。
這正是我們將 ZK 欺詐模型與 EigenDA(一個去中心化、高吞吐的數據可用性層) 搭配使用的原因。
通過這種結構,整個流程被精簡爲最安全、最高效的形式:
一種具備加密保障、可擴展的信任模型
MegaETH 用簡潔的非交互式 ZK 欺詐證明取代了繁瑣的交互式欺詐博弈。這種方式消除了騷擾攻擊風險,大幅縮短了最終確認時間,並確保爭議能夠以高效、可擴展的方式解決。
在 RiscZero 提供可驗證計算能力、@eigen_da 確保原始數據訪問的支持下,每一個狀態提案都具備:
可重建性、可驗證性、可被任何人挑戰的可能性 —— 無論在任何規模下。