作者:Frank,PANews
4月10日,a16z Crypto發布了名為Jolt的zkEVM解決方案,旨在加速和簡化區塊鏈擴展操作。 Jolt整合了SNARK零知識證明,為EVM相容Rollups提供了框架,可以幫助開發人員創建基於SNARK的L2解決方案。團隊表示,與目前的zkVM相比,Jolt的速度「快了兩倍」。
由於Jolt的技術原理較為複雜,以下是關於可能涉及的幾個技術名詞關係的簡單解釋:
zkSNARK是一種強大的零知識證明原語,是建構zkVM和zkEVM的基礎
zkVM是一個通用的零知識虛擬機器概念,支援任意指令集
zkEVM是zkVM的一個特例,專門用於相容EVM
ZK Rollup採用zkVM或zkEVM來提升以太坊的可擴展性,同時兼顧隱私性
Jolt是什麼?
Jolt 是一種新型的SNARK的解決方案,提供了一種更簡潔,高效的方案來建構zkVM(零知識虛擬機)。實際上,早在2023年8月,a16z crypto就已經提出了名為Lasso和Jolt相關概念。在SNARK技術存在又慢又高昂的成本的背景下,這兩項技術被提出。
其中Lasso,是一種新的查找參數,可以顯著降低證明者成本;Jolt,使用Lasso 提供了一個新的框架,用於為所謂的zkVM 和更廣泛的前端設計SNARK。它們共同提高了SNARK 設計的效能、開發人員體驗和可審核性,進而提高了web3 中的建置。從而提升零知識證明在區塊鏈領域的使用。
在理解Jolt之前,或許需要先了解zkVM和zkEVM。
zkVM是一個通用的概念,指零知識虛擬機器。與zkEVM類似,zkVM允許用高級語言如C++或Rust編寫程序,然後虛擬機把程序編譯成某種中間表示(如電路或算術約束),再用zkSNARK等證明系統對中間表示的執行過程進行證明。相較於zkEVM,zkVM不限於相容EVM,而是支援任意指令集。 Jolt就是針對RISC-V指令集的高效能zkVM實作。
我們可以將zkVM視為一個特殊的“黑盒子”,它可以在保護隱私的前提下,向外界證明自己確實按照預定的程序執行了計算。但傳統的zkVM在產生這個證明的過程中需要進行大量繁瑣的計算,導致效能非常低。
Jolt的核心創新是找到了更有效率的數學方法,來產生這個證明:
首先,Jolt巧妙地將待證明的計算轉化為一種特殊的多項式,我們姑且稱之為「計算多項式」。這個多項式的特點是,只有當黑盒子確實正確執行了計算,它的值才會等於零。
為了證明「計算多項式」的值等於零,Jolt使用了一種稱為「sumcheck」的互動式協定。這個協議可以在較短的時間內,讓驗證者確信多項式值為零,而不需要實際計算整個多項式。這有點類似老師只檢查學生的幾題,就能判斷整份考卷是否正確。
Jolt的技術優勢
關於Jolt的技術原理非常複雜,簡單來說。在區塊鏈網路的發展過程中,zkVM是一種在提升區塊鏈網路拓展性的關鍵技術,能夠在保障隱私的情況下提供有效的證明。 Vitalik在最近的香港Web3嘉年華的主題演講中,就圍繞著zkSNARK技術進行了詳細的論述。 Vitalik表示:“尋找ZKSNARKS在隱私方面非常有用,在可擴展性方面也非常有用。”
但證明產生的速度和計算開銷一直是zkSNARK技術實用化的一大挑戰,也是近年來學術界和業界重點攻關的方向。傳統的zkSNARK方案,如Pinocchio和Groth16,在證明較為複雜的運算邏輯時,證明產生的時間可能會長達幾個小時甚至幾天,而且需要消耗大量的記憶體和儲存資源。這種效能瓶頸嚴重限制了zkSNARK在許多實際場景下的應用。
而如果想要讓區塊鏈實現大規模應用,達到即時驗證的效果。提升zkSNARK的效能是非常關鍵的一步。
具體來說,zkSNARK的證明產生過程涉及複雜的密碼學演算法,如橢圓曲線配對、多項式插值等,這些操作對計算資源的消耗非常大。尤其是當被證明的計算電路規模較大時,證明產生的計算複雜度會呈指數級上升。
根據a16z Crypto表示,在CPU 上,初始Jolt 實現大約比RISC Zero 快6 倍,比最近發布的SP1 快2 倍,並且未來幾週內將Jolt 的速度提高約1.5 倍。
Jolt目前的速度已經比現有的zkVM快2倍以上,但仍有很大的最佳化空間。
Jolt也巧妙地利用多項式的某些代數性質,實現了更有效率的多項式承諾方案。這進一步減少了證明的大小和驗證的時間。
Jolt可能帶來的變化
從工程角度來說,Jolt採用了一系列最佳化手段,例如更緊湊的電路設計、更有效率的管線、更充分的平行化等等,最大限度地挖掘硬體的算力。
假設你是Web3開發者,想要在以太坊上部署一款鏈上撲克遊戲。這個遊戲需要在鏈上洗牌、發牌、比較牌面大小等,每個操作都需要透過zkVM電路來實現隱私保護和可驗證性。
如果你使用現有的zkVM方案如ZoKrates或bellman,建構這樣一個電路可能需要幾個小時甚至幾天的時間。因為目前的zkVM性能還較為低下,產生複雜電路的零知識證明需要大量的計算資源和時間開銷。這意味著開發和測試週期會非常漫長。
而如果你使用Jolt來建構同樣的電路,情況會發生顯著變化。根據Jolt團隊的測試,目前的Jolt實現產生證明的速度已經比主流的zkVM方案快2-5倍。這意味著,如果原來產生證明需要10個小時,現在可能只需要2-5個小時。
總的來說,Jolt所帶來的2-5倍效能提升,意味著zkVM技術的可用性和易用性得到了大幅改善。這將顯著降低Web3開發者的門檻,縮短應用程式的開發週期,同時為終端用戶帶來更好的使用體驗。從更長遠來看,Jolt有望加速zkVM技術的大規模應用,讓更多的隱私保護和可驗證運算能力惠及每一個Web3用戶。
當然,Jolt目前還處於發展的早期階段,2-5倍的效能提升只是一個開始。隨著Jolt技術的不斷迭代優化,zkVM的效能將得到進一步的突破,最終為實現Web3的大規模應用鋪路。