在尋找區塊鏈的可擴展性和計算效率的解決方案中,零知識證明(ZKP)技術尤其重要。 zkVM(Zero-Knowledge Virtual Machine)是這項技術的具體應用之一。 zkVM 作為一個基於ZKP 的通用運算平台,能夠在不洩漏執行細節的前提下驗證運算的正確性。並支援在鏈外處理計算量大的任務,僅將驗證結果提交到區塊鏈,大大提升了區塊鏈的擴展性。目前,市場上如a16z、Taiko、ZKM 等多個專案正在開發zkVM 解決方案。
zkVM 簡介
zkVM 是一種基於零知識證明的通用運算平台,能夠執行各種運算任務,包括執行智慧合約、資料處理和複雜演算法運算等。其核心功能是產生零知識證明,這種證明能驗證計算的正確性而不透露執行細節。透過SNARKs 技術,這些證明可以在鏈下進行驗證,驗證者不需要在區塊鏈上重新執行整個計算過程,並付出昂貴的計算成本。
此外,zkVM 的設計不僅限於加密貨幣交易,它的通用性使其可以在多種應用場景中部署,例如醫療資料處理、供應鏈管理、秘密投票系統等,這些應用都需要確保資料安全性的同時,驗證處理邏輯的正確性。
zkVM 比較其他虛擬機
傳統的虛擬機器(VM)通常指的是在實體硬體上虛擬出一套完整的運算環境,核心功能是模擬硬體環境,允許在同一個實體硬體上運行多個作業系統或應用程式。這些虛擬機器主要透過硬體虛擬化技術和作業系統層級的隔離來實現其功能。它們通常不涉及到對運行在其中的應用程式或資料進行加密驗證的過程。
零知識虛擬機器(zkVM)使用零知識證明技術來確保程式執行過程的正確性,這種技術適用於任何可以被編譯和運行在虛擬機器上的程式。 zkVM 的設計著重於提供一個通用的運算驗證平台,適用於各種應用場景,並支援多種程式語言,如Rust、C/C++ 和Go,開發者可以使用自己熟悉的語言來建立應用程式。運算和驗證過程往往比傳統VM 更耗時,因為產生零知識證明是一個運算密集的過程,要求大量的運算資源,這在很大程度上限制了交易處理速度(TPS)。目前的zk 技術,雖然在單一證明產生方面已經取得顯著進展,但在高負載條件下,處理大規模交易的能力仍有限。每個證明的產生可能需要數秒到數分鐘不等,這對於那些需要高吞吐量的應用(如大規模支付處理系統)構成了限制。
zkEVM 是zkVM 的一個特定實現,專為以太坊生態設計,旨在透過零知識證明增強以太坊的可擴展性。它完全相容於以太坊的智慧合約和開發工具,例如Solidity 和Vyper,現有的以太坊應用可以無縫遷移至zkEVM,無需任何修改。因此,zkEVM 更像是以太坊的一個特定最佳化版本。
zkVM 相關項目
儘管面對zk 技術的挑戰,市場上仍有一些專案方在開發zkVM 解決方案上展現了技術實力。
Jolt:效能出色
4 月9 日,a16z 發布zkVM 解決方案Jolt 的初步實現,Jolt 是一種新型的zkVM,主要特點是運行速度快,而且對開發者來說更容易擴展和進行程式碼審計。
與其他基於STARK 框架的zkVM 不同,Jolt 利用了Lasso 查找參數和基於sumcheck 的技術。這種創新方法不僅簡化了新虛擬機器指令的實施,也提高了系統的整體速度。 Jolt 的設計強調易用性和效率,它的程式碼庫非常精簡,Jolt 中的每個CPU 指令只需50 行Rust 程式碼即可實現。此外,Jolt 的效能也非常出色,在初步基準測試中,執行零知識證明的速度比RISC Zero快5 倍以上,比SP1 快2 倍。
RISC Zero:高效處理複雜的計算
RISC Zero是一種具有遞歸SNARK 結構的zkVM ,其特點在於採用了一種支援證明相互嵌套的遞歸方法。在SNARKs 技術中,遞歸可以將複雜的證明分解成更小、更易於管理的證明。這些小型證明可以獨立進行驗證,並最終合併成一個完整的大證明,而這個過程不會影響證明的有效性。 RISC Zero 的獨特之處在於其實現遞歸的方法,將多層證明無縫整合到單一的證明鏈中,不僅減少了計算負荷和需要處理的資料量,還能在多個計算步驟中保持驗證過程的安全性和完整性。
RISC Zero 的另一個獨特之處在於它使用了RISC-V 指令集,這是一種開放式標準ISA(指令集架構),旨在實現可擴展性和可擴展性。這項選擇確保了RISC Zero 可以利用廣泛的工具和支援生態系統,使其與其他可能使用專有或不太通用架構的zkVM 相比,更易於存取和整合到現有系統中。
去年他們成功完成了4000萬美元的A 輪融資。此輪融資由Blockchain Capital 領投,,其他知名投資者包括Bain Capital Crypto、Galaxy Digital、IOSG Ventures、RockawayX、Maven 11、Fenbushi Capital、Delphi Digital 等參與其中。
Succinct:開發者友好
Succinct開發了zkVM SP1,SP1 專為執行以Rust 或任何其他可透過LLVM 編譯的語言編寫的程式碼而定制,靈活性和易用性更高。 SP1 支援模組化架構,讓開發人員可以透過「預先編譯」來客製化和擴展其功能。預編譯指特定的、可由開發者新增或修改的模組,這些模組增強了核心虛擬機的功能,使得它可以更有效率地處理特定的任務或運算。
此外,SP1 建構了去中心化的證明者網絡,簡化了證明的部署和執行,從而降低了使用高級加密方法的門檻。這個網路讓開發人員只需點擊一下就能有效地產生證明,提供了一種簡化的方法。
3 月,Succinct 完成了5,500 萬美元的融資。此次融資由Paradigm 領投,參與的投資者包括Robot Ventures、Bankless Ventures、Geometry 以及天使投資人Eigenlayer 的Sreeram Kannan 和Polygon 的聯合創始人Sandeep Nailwal 等。 5 月13 日,Succinct宣布上線SP1 測試網。
Taiko:多證明系統
Taiko已經開始從使用zkEVM轉型至使用zkVM,它的zkVM 獨特之處在於其對多證明系統的運用。多證明概念由Vitalik提出,Taiko 表明自己是第一個實施此概念的項目,並將於5 月底主網上線時直接支持此多證明系統。這種系統允許Taiko 的zkVM 產生多種類型的證明,從而提高了系統的安全性和健全性。即使其中一種證明類型出現問題,其他類型的證明可以繼續確保系統的正常運作並及時檢測到任何錯誤的狀態轉換。此外,還採用了Halo2-KZG 證明系統,使得處理複雜計算和大規模交易時能夠保持高效和低成本。
3 月,Taiko 完成1,500 萬美元A 輪融資,由Lightspeed Faction、Hashed、Generative Ventures 和Token Bay Capital 共同領投,Wintermute Ventures、Flow Traders、Amber Group、OKX Ventures 和GSR 等參投。
ZKM:MIPS 架構簡單且穩定
ZKM是Metis 基金會孵化的zkVM 項目,採用MIPS 架構,將其與零知識證明技術結合創建zk 虛擬機。這種設計使ZKP 更與系統內部的運算處理方式相契合,加快操作速度並減少與單獨實施ZKP 協定相關的計算開銷。而目前大多數的zkVM 使用Rust 語言,而ZKM 提供Golang 原生支援。
MIPS(Microprocessor without Interlocked Pipeline Stages)是第一代精簡指令集電腦架構。 MIPS 指令集相對簡單且穩定,可以廣泛應用於各種運算設備和嵌入式系統中,具有良好的通用性和適應性,基於MIPS 架構的ZKM 系統可以更容易地進行開發和部署。
zkMIPS 將整個MIPS 程式分成多個段落。再將每個段的指令分成四種類型並歸入對應的四個模組表。 zkMIPS 使用STARK 證明方法,對每個模組表中的指令進行獨立驗證,確保表中的每項操作都是正確的以及程式段中的每條指令都包含在其對應的模組表中。之後再驗證各個程式段的執行序列與整個程式的執行相符。透過這種方式,即使是在鏈下執行的程序也能在鏈上得到驗證,增強了程式執行的透明度和信任度。
ZKM 最近推出了一種新的信任最小化多鏈互通性基礎架構Entangled Rollups, 利用zkMIPS 來建立一個無需信任的、去中心化的多鏈互通框架。不像第三方的zk 橋接僅透過快照驗證資產轉移,而是所有計算都可以被驗證,所以非常安全。這種互通性的關鍵在於存在一個通用的證明機制,可以在一個區塊鏈上產生證明,然後在另一個區塊鏈上進行驗證。 ZKM 與其他zkVM 不同點之一就是可以產生的一個適用於所有操作零知識證明。 ZKM 將安全性嵌入到CPU/MIPS 架構的底層,使得所有在該架構之上的軟體都可以享受到相同的安全性,而無需每個軟體都單獨進行零知識證明的過程。
此外,ZKM 的特點還有:
-
與所有虛擬機器相容:ZKM 位於每個虛擬機器下方,使其與各種區塊鏈智慧合約引擎VM 相容,如MoveVM(zkMVM)、WASM(zkWASM)和RustVM(zkRVM)等。
-
即插即用:開發人員可以在不更改現有程式碼庫的情況下採用ZKM。提供了低成本的採用,並允許使用不同的智慧合約語言甚至傳統程式語言。
-
長期穩定性:MIPS 指令集具有穩定性,不需要隨著不斷更改的EVM 而更改指令集,為開發提供了更穩定的環境。
zkVM 的未來展望
隨著區塊鏈技術的不斷成熟和前沿公司的不斷探索,zkVM 的性能不斷提升,我們可以預見zkVM 將在加密世界中扮演越來越重要的角色,成為關鍵技術的一部分。特別是在資料敏感度和對跨鏈安全性需求日益增加的當下,zkVM 提供的能力適合市場需求。我們期待攻克各種技術困難,例如電路優化和證明系統本身的最佳化,推出完美適配各種程式語言的zkVM,將更多的開發者帶往Web3 新時代。