詳解 Metis 技術優勢,打開去中心化新篇章
作者:Biteye 核心貢獻者 Wilson Lee
編輯:Biteye 核心貢獻者 Crush
背景介紹
4 月 10 日,A16z Crypto 發布了零知識解決方案 Jolt,以加速和簡化區塊鏈擴展操作。
Jolt 集成了 SNARK(非互動式簡潔零知識證明),可以讓開發人員快速創建基於 SNARK 的 L2 解決方案。團隊還表示,Jolt 比目前的 zkVMs 快達 2 倍。
ZK 技術是加密行業貫穿周期的主線之一,ZK-Rollup 更是被 Vitalik 稱作以太坊擴容長期的解決方案。A16z 從去年 8 月推出 Jolt 到今年正式發布,表明了 ZK-Rollup 仍是長坡厚雪的賽道。
ZK-Rollup 已經有眾多玩家入局,已經形成了更加細分的技術類別來區分項目之間的差異性,對 EVM 的兼容性是最具代表性的分類標準。
EVM 由於歷史性的原因,存在大量的 ZK 不友好設計,然而大量現有項目在早期又是基於 EVM 構建的,且 ZK-Rollup 還被視作未來的擴容方案,因此絕大部分 ZK-Rollup 項目都天然面對著更兼容 EVM 還是更兼容 ZK 的權衡。
由 Metis DAO 孵化的 ZKM 則是從更底層的角度出發,提出了通用性的 zkMIPS 方案。
zkMIPS 透過使用更底層的 MIPS 指令集來實現程序執行過程到 ZKP 的轉換,除了兼容 EVM 外,可以兼容其他的 VM,例如 MoveVM 和 RustVM,讓 ZK-Rollup 能夠面向更多元的開發者敞開大門。
本文將為讀者深度解讀 Metis 在 ZK 和去中心化 Sequencer 上的努力與進展。
ZKM 與 Hybrid Rollups:OP 與 ZK 的調和
Metis 能夠在市場中取得亮眼表現,離不開其創新的 Hybrid Rollups 機制,即將欺詐證明和有效性證明相結合,從而兼具兩者的優點。
ZKM 的 zkMIPS 技術又為 Metis 的 Hybrid Rollups 提供堅實的兼容性支持,讓 Metis 實現 ZK 和 EVM 的有機融合。
Hybrid Rollups 的機制與優點
在 Hybrid Rollups 中,關鍵角色包括:
Sequencer:負責接收和處理用戶交易,確定交易的最佳順序,並將其打包發布到共識和數據可用性層。
Proposers:評估 Sequencer 提交的交易和狀態根,記錄到狀態承諾鏈(State Commitment Chain, SCC)中。
Verifiers:驗證 Rollup 鏈上的狀態根,確保交易的正確性並防止欺詐行為。
在標準的 L2 解決方案中,Sequencer 收集並處理交易,然後將交易數據發布到以太坊主網(L1)。這個過程需要 L1 進行最終的數據驗證和確認,從而確保安全性和一致性。
Hybrid Rollups 在處理和優化 L2 交易時採取了一種混合方法,具體步驟如下:
1. 交易的發起和處理:
用戶在 L2 發起交易。
Sequencer 接收並處理這些交易,決定它們在規範交易鏈(Canonical Transaction Chain, CTC)中的順序。
2. 狀態提交和驗證:
Proposers 評估交易後提交狀態根到 SCC。
Verifiers 對 SCC 中的狀態根進行審核,確保其準確無誤。
3. 零知識證明的生成和驗證:
Prover 從 L1 讀取數據,生成 ZK 證明,這一點是 Hybrid Rollups 的關鍵特性,允許系統在不洩露具體交易內容的情況下驗證交易的有效性。
一旦 ZK 證明生成,如果未按時提交,Verifier 會啟動欺詐證明流程,可能會對 Sequencer 進行懲罰。
4. 數據和狀態的最終確認:
通過智能合約,一旦 ZK 證明被驗證通過,交易最終確定。
L1 和 L2 之間通過智能合約橋接,確保資金和狀態的安全轉移。
Hybrid Rollups 的設計提供了多個顯著優勢:
效率和成本效益:通過使用 ZK 證明,Hybrid Rollups 能夠在消耗更少的 gas 的同時,處理更多的交易。
增強的安全性:結合了傳統的欺詐證明和 ZK 證明,即使在遇到潛在的惡意行為時也能保障交易的安全和正確性。
可擴展性:利用遞歸證明,Hybrid Rollups 能夠處理大規模的交易而不犧牲性能,支持更廣泛的區塊鏈應用。
兼容性和靈活性:支持多種智能合約和編程語言,使得開發者能夠輕鬆地將現有應用遷移到 Hybrid Rollups 上。
zkMIPS 如何實現良好的 ZK 兼容性
ZK 的核心思想是將程序執行過程轉換成可以簡單驗證的數學證明,讓所有人都能夠輕易驗證程序執行的正確性,且不需要重複執行程序,其中的難點在於如何將任意的程序邏輯轉變成相對穩定的數學證明。
開發者通常使用高級語言來進行程序的開發,而不同的高級語言則使用不同的邏輯與硬體"對話"。
因此,現有的 ZK 項目的實現路徑通常互不兼容。Scroll 直接為 EVM 的每個操作碼編寫電路,實現了操作碼級別的等效,其準確地反映了 EVM,但帶來了巨大的工程量;
Polygon zkEVM 則創建了具有優化性能的自定義 VM,將 EVM 字節碼直接轉換為 VM 的字節碼,更高效地實現了操作碼級別的等效性,但大量自定義代碼的引入可能在長期偏離 EVM;
zkSync 則創建了自己的 VM (SyncVM),並基於寄存器定義了自己的代數中間表示 (AIR),然後構建了一個專門的編譯器來將 Yul(一種中間語言,可以編譯為不同 EVM 版本的字節碼,認為是較低級別的 Solidity)編譯成 LLVM-IR,然後將其編譯成自定義 VM 的指令,從而實現了 Solidity 級別的兼容,但其無法直接使用現有的以太坊工具,語言之間的轉換也可能需要重新審計程序;
StarkNet 則放棄 EVM 兼容,直接使用自己的低級語言 (Cairo) 運行自定義智能合約 VM (Cairo VM),來獲得極致的 ZK 效率。
相比於上述項目的解決方案,ZKM 選擇了一條更具包容性的道路:zkMIPS。
MIPS,全稱為"Microprocessor without Interlocked Pipeline Stages",是一種設計簡潔的微處理器指令集,始於 1985 年。
MIPS 的基本原則是將複雜的微處理器指令簡化至最基本形式,這樣做不僅提高了處理速度,還降低了執行程序時的複雜性。
在 zkMIPS 系統中,這種指令集被用來實現程序到 ZK 證明的轉換。
zkMIPS 的實現過程如下:
程序到 MIPS 的轉換:首先,高級編程語言(如 Solidity 或 Rust)編寫的智能合約或程序被編譯成 MIPS 指令集。這一步是將較高級別的抽象轉換成可以在硬體級別執行的具體操作。
生成 ZK 證明:隨後,這些 MIPS 指令被用來生成對應的零知識證明。由於 MIPS 的簡化特性,這一步在計算上更為高效,可以更快地產生證明而不犧牲安全性。
zkMIPS 的優勢
兼容性:zkMIPS 不僅支持 EVM 兼容的 Solidity,還能支持如 Rust 和 Move 等其他主流開發語言。這使得 zkMIPS 能夠服務於更廣泛的區塊鏈開發生態系統,從而帶來更多的應用可能性。
成本效益:由於 MIPS 指令集的高效性,zkMIPS 在生成零知識證明時能顯著降低運算成本,增加了系統的整體可持續性。
遞歸證明:zkMIPS 支持遞歸證明,可以將多個證明聚合成一個更易管理的單元,這在提高系統可擴展性方面至關重要。
實際上,MIPS 的優勢已經被 Optimism 等項目集成。Optimism 的 Cannon 機制就是將執行過的程序轉換成 MIPS,從而方便執行過程被挑戰時更加簡單高效地查找錯誤和重新執行。
Metis 也跟進了這一趨勢,將 Cannon 集成到其生態系統中,這也進一步驗證了 zkMIPS 技術的實用性和效率。
去中心化 Sequencer:去中心化與可持續性
除了使用 Hybrid Rollups 來綜合 OP 和 ZK 的優點之外,Metis 還積極推進去中心化 Sequencer 的落地,為 Rollup 樹立去中心化的表率。
在傳統的 Rollup 模型中,單一的 Sequencer 雖然能有效處理交易和數據,但也集中了一定的權力,可能導致多種風險:
操作風險:如果 sequencer 發生故障或者遭受攻擊,整個系統的交易處理將會被阻斷。
審查風險:sequencer 有能力選擇性地處理或拒絕交易,這可能限制用戶訪問特定的去中心化金融(DeFi)協議或服務。
操縱風險:在交易排序中,sequencer 可能優先處理自身的交易,通過提高交易費用來獲取不正當利益,即最大可提取價值(MEV)。
為了解決上述問題,Metis 設計了一個去中心化的 Sequencer 池,該池由多個 Sequencer 節點組成,共同完成交易的聚合、排序和執行。這一設計確保了系統的公正性和透明度:
共識機制:超過三分之二的 Sequencer 節點必須就每個新區塊的狀態達成共識,之後才能將交易批次提交到以太坊主網(L1)。
多方計算(MPC)簽名:在交易批次提交到 L1 之前,通過 MPC 簽名驗證批次的真實性,確保數據的正確無誤。
去中心化 Sequencer 的優勢:
增強安全性:通過多個節點共同決策,降低了單點失敗的風險,增加了網絡的魯棒性和安全性。
降低審查和操縱的可能性:多個 Sequencer 的存在使得單一節點難以操縱或審查交易,保護了用戶的交易自由。
穩定性和冗餘:系統支持 Sequencer 的平滑輪換,最小化了故障或中斷的影響,提高了整個網絡的穩定性。
在 Metis 的去中心化 Sequencer 模型中,每個節點都由幾個關鍵組件組成:
L2 Geth(包括 OP-Node):負責交易排序和區塊組裝。
適配器模塊:作為與其他外部模塊(主要是 PoS 節點)交互的中介。
批次提交者(Proposer):負責構建交易批次並在獲得多個 Sequencer 的認可後提交到 L1。
PoS 節點:在以太坊、共識和 Metis 層之間進行協調,確保資產的安全鎖定並獎勵驗證者。
共識層:包含一組與以太坊主網並行運行的 Tendermint PoS 節點,保證操作效率而不妨礙主網的進程。
通過這種設計,Metis 的去中心化 Sequencer 池不僅提高了交易處理的公正性和透明度,還通過分散權力來增強了網絡的安全性和穩定性,這些都是構建可信和可持續區塊鏈生態系統的關鍵要素。
總結與展望
Metis 在技術和理念上的優勢為未來的進一步發展打造了堅實的基礎。其基於 zkMIPS 的 Hybrid Rollups 有望能夠為 ZK-Rollup 解決兼容性的问题,從而帶來更多元的開發者生態;
對於去中心化 Sequencer 的推進則展現了團隊追求去中心化的願景。隨著 Metis 的生態不斷成熟,我們有理由相信 Metis 會在未來的 L2 競爭中成為持續奔跑的黑馬,為用戶和開發者創造源源不斷的價值。