以太坊提速:Polyhedra Binary GKR 如何革新Keccak零知識證明,助力zkEVM?

Keccak 的零知識證明:以太坊性能提升的關鍵?
以太坊正雄心勃勃地朝著零知識證明原生的 Layer-1 演進,這是一個充滿挑戰但也蘊藏巨大潛力的方向。我個人對這個願景感到非常興奮,想像一下,未來以太坊的共識層可以更加輕量,專注於交易排序,而繁重的計算驗證工作則交由零知識證明來完成,這將極大地提升效率和可擴展性。Ethproofs 計劃,一個匯集了 21 個團隊、涵蓋 22 種 ZK(E)VM 實現的龐大項目,正在努力對以太坊的歷史區塊進行完整的證明,這絕對是關鍵的一步!能在 Ethproofs 官網上看到 ZkCloud、Succinct、Snarkify 和 ZKM 等項目持續提交最新區塊的 ZK 證明,真的讓人熱血沸騰!
以太坊的零知識證明之路:從 Ethproofs 到 zkEVM
如果說 Ethproofs 正在為以太坊的歷史做見證,那麼 zkEVM 則代表著以太坊的未來。目前,已經有多個以太坊兼容的 zkRollup 項目,例如 Polygon、Taiko 和 Scroll,正嘗試實現 zkEVM。zkEVM 的目標是讓以太坊上的智能合約能夠在零知識證明的環境中執行,從而實現更高的隱私性和可擴展性。但問題也隨之而來,傳統 EVM 中一些在 CPU 上高效的操作,在零知識證明系統中卻變得異常昂貴。這就像原本擅長跑步的運動員,突然被要求在水下比賽,效率自然大打折扣。
Polyhedra 的 Binary GKR:重新定義 Keccak 的證明效率
而所有這些性能瓶頸中,最令人頭疼的莫過於 Keccak 哈希函數。Keccak 在以太坊中被廣泛用於構建 Merkle Patricia Tree,以哈希形式記錄全鏈狀態,這就像是整個以太坊的“指紋”。然而,Keccak 的底層運算基於位運算,與大多數 ZK 系統使用的素數域運算模型並不兼容。這就導致了在零知識證明中,Keccak 的證明效率非常低下,成為了 zkEVM 發展道路上的一大障礙。
為了應對這個挑戰,Polyhedra 團隊推出了 Binary GKR——一種專為 Keccak 及其他二進制操作設計的高性能證明系統。根據 Polyhedra 團隊的說法,Binary GKR 實現了迄今為止最快的 Keccak 零知識證明性能,相比現有二進制證明系統最優解 FRI-Binius 提速約 5.7 倍!如果這個數據是真實的,那將是一個巨大的突破,不僅在理論上具有重要意義,也為實際應用打開了新的可能性。我個人非常期待看到 Binary GKR 在 zkEVM 中發揮作用,就像一個“通用加速側車”,幫助高效處理 Ethereum 狀態樹中大量的 Keccak 運算,從而顯著降低證明成本、提升系統吞吐與響應速度。Polyhedra 團隊的持續投入和開源精神值得稱讚,他們正在為以太坊及更廣泛的生態系統做出重要的貢獻。
Binary GKR:為 Keccak 量身打造的高性能證明系統
Polyhedra 團隊的 Binary GKR 究竟有何獨特之處,能聲稱大幅提升 Keccak 的證明效率呢?我認為,理解 Binary GKR 的核心優勢,需要深入了解其背後的三大關鍵技術創新:基於 GKR 協議的優化重復計算、基於二進制域的多項式承諾,以及用於二進制操作的預計算表。這些技術並非各自獨立,而是相互協同,共同構成了 Binary GKR 高效運算的基礎。
GKR 協議:優化重複計算的利器
Binary GKR 的設計選擇以 GKR 協議(Goldwasser–Kalai–Rothblum)為基礎,這並非偶然。GKR 協議在處理具有大量重複性計算的電路結構時,具有天然的優勢。在典型的 zkEVM 場景中,Keccak 往往以 “外掛證明器(sidecar prover)” 的角色出現,負責批量處理 zkEVM 委託的大量 Keccak 運算任務。這就意味著,我們需要處理的電路結構天然具有大量的重複模式,例如 8192 次 Keccak 調用,這是一種常見的規模。
更重要的是,Keccak 算法本身就極具重複性。它在 5 × 5 的狀態矩陣上反覆執行相似的布爾操作,整個過程包含 24 輪幾乎一致的步驟,各輪之間結構相同,僅輸入狀態不同。這種高度重複的特性,使得 Keccak 成為 GKR 協議的“天作之合”。GKR 協議的 Verifier 成本較低,適合高頻驗證場景;Prover 可以充分利用結構重複性,重用計算路徑,大幅簡化證明開銷。相較於傳統通用證明系統,GKR 協議在批量 Keccak 場景中具備顯著的性能優勢。可以說,Polyhedra 團隊選擇 GKR 協議作為基礎,是極具戰略眼光的。
二進制域上的多項式承諾:擺脫大數域的束縛
在零知識證明中,多項式承諾是一個至關重要的環節,它允許 Prover 向 Verifier 承諾一個多項式,並在之後能夠證明多項式在特定點的值。傳統的多項式承諾方案通常基於大數域運算,例如素數域。然而,Keccak 的底層運算基於位運算,與大數域運算並不兼容。這就導致了在證明 Keccak 時,需要將位運算轉換為大數域上的運算,引入了大量的額外開銷。
Binary GKR 採用了一種基於線性碼的多項式承諾方案,該方案直接在二進制域上運行。這意味著,我們可以“免費”獲得諸如異或(XOR)這樣的操作,因為 XOR 本質上就是二進制域中的加法。此外,基於二進制域的多項式承諾避免了使用更大數域所帶來的冗餘,這使系統在性能和效率上都得到了顯著提升。這種設計思路非常巧妙,就像是讓 Keccak 在自己最熟悉的環境中工作,自然能夠事半功倍。
用於二進制操作的預計算表:充分利用電路的稀疏性
Binary GKR 論文中的一個關鍵創新,在於通過充分利用電路結構的高稀疏性,顯著提升了 GKR 協議的證明效率。即使在同時處理多個比特的情況下,這種稀疏性依然得以保留。Polyhedra 團隊的做法是將多個比特“打包”進 GKR 協議中的多項式中(注意:這些是中間多項式,無需進行承諾),然後直接在這些打包的數據上執行 GKR 協議的運算。
由於稀疏性仍然很高,我們可以利用預計算表,讓證明者以遠低於傳統 GKR 協議的計算開銷來生成證明。這種預計算表就像是一個“作弊器”,Prover 可以通過查表快速獲得計算結果,而無需進行繁瑣的運算。這一優化顯著提升了 GKR 在處理二進制關係時的效率。我認為,這種利用電路結構特性的優化思路,是 Binary GKR 能夠實現高性能的關鍵所在。
Binary GKR 的技術細節:解構速度提升的奧秘
讓我們更深入地剖析 Binary GKR,理解其如何將比特“打包”進多項式,以及預處理表是如何優化二進制關係的。這些技術細節,正是 Binary GKR 實現速度突破的奧秘所在。
比特打包進多項式:簡化計算的巧妙策略
Binary GKR 方案的核心是一種專為數據並行布爾電路設計的 GKR 協議求和檢驗(sumcheck)新方法。該方法通過將多個比特打包進多項式中,有效減少了證明者的計算負擔,顯著提升了效率。這就像是將多個小任務合併成一個大任務,從而減少了任務切換的開銷。
想象一下,我們需要計算兩個 8 位數的 XOR。傳統的方法是逐位進行 XOR 運算,需要 8 次計算。而 Binary GKR 可以將這兩個 8 位數打包成一個多項式,然後直接在這個多項式上進行 XOR 運算,只需要一次計算。這種“打包”操作,極大地減少了計算的複雜度。
預處理表:優化二進制關係的關鍵
預處理表是 Binary GKR 中另一個關鍵的優化手段。通過預先計算一些常用的二進制關係,並將結果存儲在表中,Prover 可以通過查表快速獲得計算結果,而無需進行繁瑣的運算。這就像是將常用的公式背下來,考試時可以直接使用,而無需重新推導。
Binary GKR 的預處理表非常小,通過合理設置參數,可以將表的大小控制在約 15 MB。這個大小可以輕鬆放入 CPU 的 L3 緩存中,使得查表操作非常高效。這種設計思路非常聰明,充分利用了 CPU 的緩存機制,提高了計算速度。
更重要的是,這種技術幾乎適用於所有二進制操作,是 Binary GKR 構造中性能提升的核心所在。可以說,預處理表是 Binary GKR 的“秘密武器”,讓它在處理二進制關係時,能夠事半功倍。
性能評估:Binary GKR 完勝 Binius?
理論分析再精彩,最終還是要回歸到實際性能的驗證。Polyhedra 團隊在不同規模的隨機布爾電路上進行了全面的基准測試,並將 Binary GKR 與 Binius 在 Keccak 證明上的表現進行了對比。這些測試數據,是評估 Binary GKR 價值的關鍵。
隨機布爾電路測試:展現 Binary GKR 的通用性
為了驗證 Binary GKR 的通用性,Polyhedra 團隊首先在隨機布爾電路上進行了測試。這些測試模擬了各種不同的二進制運算場景,可以更全面地評估 Binary GKR 的性能。
測試結果表明,Binary GKR 在不同規模的隨機布爾電路上都表現出了良好的性能。這證明了 Binary GKR 並不僅僅是針對 Keccak 的特例優化,而是一種通用的二進制證明框架。
Keccak 基準測試:速度與效率的雙重勝利
當然,最引人關注的還是 Binary GKR 在 Keccak 證明上的表現。Polyhedra 團隊將 Binary GKR 與 Binius 在 Keccak 證明上的表現進行了對比。兩者均基於二進制域操作。
在處理 8192 次 Keccak 調用時,Binius 生成證明耗時 12.35 秒,而 Binary GKR 僅需 2.18 秒。同時,得益於 Keccak 的結構簡潔,Binary GKR 的驗證時間也更短,僅為 0.035 秒。通信開銷方面,Binary GKR 的證明大小為 1.052 MB。
這些數據表明,Binary GKR 在 Keccak 證明上的性能遠超 Binius。不僅證明速度更快,驗證速度也更快,同時證明大小也更小。可以說,Binary GKR 在 Keccak 證明上實現了速度與效率的雙重勝利。當然,這些數據來自 Polyhedra 團隊的測試,我們還需要等待更多獨立的驗證,才能更全面地評估 Binary GKR 的價值。
擁抱 Layer-1 全面 SNARK 化:Binary GKR 的未來展望
Polyhedra 團隊的 Binary GKR,是否真的能成為以太坊 Layer-1 全面 SNARK 化的加速器?我認為,這取決於 Binary GKR 的後續發展和應用。如果 Binary GKR 能夠成功集成到 RISC Zero、SP 1 等 zkEVM 系統中,並在實踐中證明其能夠有效緩解 Keccak 的性能瓶頸,那麼它將為以太坊的未來發展做出重要的貢獻。
更重要的是,Binary GKR 的出現,也為零知識證明領域帶來了新的啟示。它證明了針對特定應用場景進行優化,可以極大地提升零知識證明的性能。這種“專精”的思路,或許是未來零知識證明發展的一個重要方向。
當然,零知識證明的發展道路仍然充滿挑戰。我們需要不斷探索新的技術,不斷優化現有的方案,才能最終實現以太坊 Layer-1 的全面 SNARK 化。我個人對這個目標充滿信心,相信在 Polyhedra 團隊以及更多開發者的共同努力下,以太坊的未來將更加光明。
我也期待在未來看到更多像 Binary GKR 這樣的創新成果,為零知識證明領域帶來更多的驚喜。就像 蔡依林 的歌曲不斷突破自我,孫興慜 在球場上永不放棄的精神,零知識證明也需要不斷挑戰極限,才能最終改變世界。當然,如果 易烊千璽 也能加入這個領域,相信會吸引更多年輕人的關注!不過,當前更重要的是踏實研究,就像 呂宇晟 在 世壯運棒球 賽場上揮灑汗水一樣,一步一個腳印,才能最終實現目標。
相关文章
发表评论