a16z發布Lattice Jolt:證明速度快了3倍,還能抵禦量子攻擊

用格密碼替換橢圓曲線,使 zkVM 證明速度快 3 倍、體積壓至 100KB 以下,成為首個在速度上超越傳統方案的後量子 SNARK,對降低上鏈成本和隱私應用意義重大。

作者:a16z crypto

編譯:深潮 TechFlow

深潮導讀:zkVM 一直被吐槽「證明太慢、體積太大」,a16z 這次用格密碼替換橢圓曲線,直接讓證明速度快了 3 倍、證明體積壓到 100KB 以下。這是目前唯一能在速度上打敗傳統橢圓曲線方案的後量子方案,對驗證上鏈成本和隱私應用都有直接影響。

今天我們正式發布 Lattice Jolt,這是我們開源 zkVM(零知識虛擬機器)的最新版本。Jolt 本來就是目前最快、最簡單的 zkVM,它的架構沒變。但底層密碼學換掉了:從橢圓曲線換成了格密碼。這一個改動同時帶來三件事:

  • Jolt 變成後量子安全的。
  • prover 和 verifier 的速度提升 2-3 倍。
  • Lattice Jolt 成為所有後量子 zkVM 中證明最短的:目前不到 100 KB,後續還能繼續壓縮。證明要上鏈、要跨網路傳輸,證明越小,驗證成本越低。

這些特性覆蓋 zkVM 的所有使用場景。同一個 prover,在 GPU 上能處理數十億個 CPU 週期,在手機上也能證明數百萬個週期。兩種情況下開發者寫的都是普通程式,不用手寫需要專門知識才能搞定的電路。這就是我們說 Jolt 是「全能 SNARK」的原因。

但更大的故事是 Lattice Jolt 對 SNARK 設計和採用的意義。目前市面上幾乎所有已經投產的後量子 SNARK 都是基於哈希的。Lattice Jolt 證明了基於格的 SNARK 可以做到更快、更緊湊。數位簽名正在經歷同樣的轉變:哈希方案是保守選擇,但格方案才是世界正在大規模部署的。我們預計 SNARK 也會走上這條路,這篇博文的後半部分會解釋原因。

用格替換橢圓曲線

Jolt 之前的多項式承諾方案叫 Dory,它是整個系統裡唯一依賴橢圓曲線密碼學的元件。Lattice Jolt 用 Akita 替換了 Dory,Akita 是一個基於 Module-SIS 格假設的全新多項式承諾方案。Lattice Jolt 基於這個標準的、研究充分的假設,對標完整的 128 位安全。

Module-SIS 和它的兄弟 Module-LWE 屬於同一族假設,世界上的數位基礎設施正在向這族假設遷移。這些假設不僅支撐數位簽名標準 ML-DSA,也支撐密鑰建立標準 ML-KEM,後者已經是全球部署最廣泛的後量子原語。

Akita 的開發和實現由 LayerZero 的研究員和工程師主導,卡內基美隆大學、南加州大學的研究員以及我們在 a16z crypto 的工程和研究團隊共同參與。

Lattice Jolt 為什麼更快

Lattice Jolt 不只是後量子安全的,它比被替換掉的橢圓曲線版本更快。

加速主要來自一個簡單的原因。橢圓曲線迫使 Jolt 在 256 位域上工作,而格密碼在 128 位域上就能達到同等級別的安全性。Jolt prover 的主要工作就是域元素乘法(本質上是超大數字的乘法),所以數字大小砍半,每次乘法就快了好幾倍。

帶 Dory 的 Jolt 已經很快了:我們上次的效能更新顯示,Jolt 在筆記型電腦上每秒大約能證明 70 萬個 RISC-V(RV64IMAC)週期,之後的優化把曲線版 Jolt 推過了每秒 100 萬週期。

Lattice Jolt 在同一台機器上每秒能證明超過 200 萬週期。

過去六個月的大部分時間,我們不僅花在開發 Akita 並集成進 Jolt,還從頭重寫了 Jolt 程式碼庫。Jolt 之前就能在 GPU 上跑得不錯,但這次重寫讓 GPU 實現變得更容易構建和優化。

第一個成果是 Apple Metal 實現,給蘋果硬體帶來了巨大加速。(Metal 是蘋果的框架,用來在 MacBook 和 iPhone 等裝置內建的 GPU 上執行代碼。)

  • GPU 加速的 Lattice Jolt 在 MacBook 上每秒能證明超過 1000 萬個 RV64IMAC 週期。
  • 純 CPU 的 Lattice Jolt 在同一台機器上每秒能證明超過 200 萬週期。
  • 甚至連曲線版 Jolt 在帶 Metal 的 MacBook 上現在也能跑到每秒約 400 萬週期。

也就是說,一次發布,讓 MacBook 上的 Jolt 從每秒約 100 萬週期(曲線版,純 CPU)漲到了超過 1000 萬週期(格版,帶 Metal)。

把這些數字放在大背景下看:四年前我們第一次寫 SNARK prover 開銷時,證明一個計算比直接執行它貴幾百萬倍。Lattice Jolt 把這個開銷降到了大約一萬倍。這還沒到頭,工程和協議層面的優化空間依然存在。

證明大小和 prover 速度同樣重要。不到 100 KB,Lattice Jolt 的證明已經比其他後量子 zkVM 小得多,其他方案的證明從 200 KB 以上到大約 600 KB 或更多不等。

換成格之後,Jolt 本來就很優秀的記憶體佔用也進一步改善:prover 的空間使用從每週期約 300 位元組降到 200 位元組。這意味著你可以在手機上證明數百萬個 RISC-V 週期。

一篇配套論文即將發布,會給 Lattice Jolt 加上零知識性,這是隱私應用需要的屬性。

為什麼選格而不是哈希

多年來,SNARK 社群的注意力(以及基本上所有的生產部署)都放在哈希基 SNARK 上,把它當作通往后量子安全的路線。

但也一直有一條持續的格 SNARK 和格承諾研究線,涵蓋 LaBRADOR、Greyhound、LatticeFold、SuperNeo,以及 Akita 的直接前身 Hachi。Lattice Jolt 建立在這些研究之上,把格承諾層引入高效能 zkVM 架構,同時證明格基 SNARK 在速度和緊湊性上無可匹敵。

這不該讓人意外。如前所述,同樣的模式已經在數位簽名上發生過一遍。

密碼學家基於很多假設構造過簽章。哈希簽名通常被認為是最保守的選擇:它們的安全假設簡單又古老。但世界主要走向格簽名,因為它們更短更快:

  • ML-DSA 簽章大約幾 KB。
  • NIST 標準化的哈希替代方案 SLH-DSA 要大好幾倍。
  • 對於加密和密鑰交換,情況更明確:根本沒有哈希方案可選(有證明這不可能),後量子部署壓倒性地基於格。ML-KEM(NIST 在 2024 年確定的主要密鑰建立標準)已經被主流瀏覽器、通訊應用預設部署,在網路上大量 TLS 連線中使用。

SNARK 和簽章之間的類比並不是表面功夫。數位簽名本質上就是對一個授權訊息的私鑰知識證明。SNARK 把這個範式從一條窄窄的陳述擴展到了任意計算。所以如果 SNARK 的長期密碼學版圖和簽章、加密的版圖完全不同,那才奇怪。

這裡也有一個誤解值得澄清:哈希 SNARK 常常被說成是保守的後量子選擇,因為「它們只依賴哈希函數」。這只有在底層哈希函數是非代數的時候才成立。

如今,大多數基於哈希的 SNARK 部署都依賴 SNARK 友好的代數哈希構造(如 Poseidon),以便低成本地證明哈希被正確求值。這對於遞歸尤其重要(這裡的遞歸指證明你持有一個有效的 SNARK 證明)。這些構造比標準哈希函數具有更多結構,而其密碼分析尚不成熟。

簡而言之,我們對代數哈希函數的安全性沒有信心。儘管如此,它們如今仍被廣泛用於生產級 SNARK 系統。(不過出現了一個進步訊號:以太坊基金會最近宣佈將放棄使用它們。)

代數哈希並非已部署的基於哈希的 SNARK 中唯一的隱藏假設:許多系統歷史上會使用推測性的 proximity-gap 界限來設定具體安全級別,而不是使用完全經過證明的界限。其中一些被認為最強的界限後來被證明是錯誤的。

即便避開上述推測的基於哈希的 SNARK,其安全目標通常也低於 128 位,因為完整的 128 位安全會帶來顯著的效能開銷。為什麼?基於哈希的 SNARK 無法在 128 位域上達到 128 位安全,因為其可靠性誤差按 n/|F| 縮放,其中 n 大致是被證明語句的規模,|F| 是域大小。因此在 128 位域上證明十億步的語句會損失約 30 位安全,使其低於 100 位。相比之下,Lattice Jolt 的可靠性誤差按 log(n)/|F| 縮放,在同一個域上幾乎保留完整的 128 位安全(少量 log(n) 損失可透過標準技術恢復)。

諷刺的是,一些被宣傳為「保守」後量子選擇的系統,實際上同時依賴代數哈希函數、推測性 proximity-gap 界限,以及低於 128 位的目標安全級別。因此,雖然基於哈希的 SNARK 是一個重要方向,但它們並不自動成為許多人以為的低風險選項。

一個 Jolt,三種基礎:曲線、格和哈希

我們一直認為,Jolt 不應被綁定到單一密碼學基礎。我們應當擁有基於曲線、哈希和格的成熟且高效能的 SNARK。不同假設和效能特徵將適用於不同場景。

但如果以數位簽名為參照,基於格的 SNARK 將成為部署最廣泛的後量子選擇。

Jolt 在這場轉變中處於非同尋常的優勢位置。最初的 Jolt 設計利用了橢圓曲線對承諾特別有用的特性,包括對稀疏向量進行快速承諾。格承諾具有同樣的特性:當向量大多數條目為零或較小時,對向量承諾的成本很低,而 Jolt 幾乎只對這類向量進行承諾。這一特性使我們能夠將 Dory 替換為 Akita,同時保持 Jolt 其餘部分不變。

我們將構建基於哈希的 Jolt 版本。但與基於曲線和基於格的 Jolt 相比,基於哈希的版本在空間效率上更差,證明更大,並存在各種複雜問題。這是因為最有前景的基於哈希的 SNARK 工作在二進制域上。這種數制便於證明哈希求值,但與 CPU 的算術方式不匹配。這種不匹配使得證明普通的 CPU 乘法變得昂貴。即便如此,生態也應在每個主要假設族下都有 zkVM,正如數位簽名領域那樣。

全能 SNARK

Lattice Jolt 一次性滿足了構建者對 zkVM 的所有需求:後量子、透明、快速、緊湊且空間高效。它將從 LaBRADOR 到 Hachi 的格 SNARK 研究路線帶入生產級 zkVM,同時沒有放棄最初讓 Jolt 變得快速的任何優勢。

我們的目標不僅是將效能最強的 zkVM 開源供任何人使用,還在於大幅消除為特定應用手工調優 SNARK 的必要性。這並不要求 Jolt 與手工調優的證明器一樣快。那是一個不可能的目標,好比要求 CPU 在每項任務上都匹敵專用 ASIC。它只要求 Jolt 快到足以提供可接受的使用者體驗。

對於與客戶端證明相關的「小」語句(如今手工優化電路在這些場景佔主導),關鍵標準是在手機上用大約一秒以內的時間生成證明。Jolt 已經接近實現這一點,且還有大量加速方案正在推進中。

格 SNARK 的時代已經到來。

分享至:

作者:a16z

本文為PANews入駐專欄作者的觀點,不代表PANews立場,不承擔法律責任。

文章及觀點也不構成投資意見

圖片來源:a16z如有侵權,請聯絡作者刪除。

關注PANews官方賬號,一起穿越牛熊
PANews APP
瑞银:调整此前观点,预计美联储将在2026年加息两次
PANews 快訊