Vitalik提及的ZK實時證明,可依靠ZK硬件加速實現?
原創 | Odaily星球日報
作者 | 夫如何
2024 香港 Web3 嘉年華期間,以太坊聯合創始人 Vitalik Buterin 發表演講《Reaching the Limits of Protocol Design》。在本次演講中,Vitalik 就如何提高 zk-snark 的效率展开闡述。
在演講中,Vitalik 指出目前區塊鏈的發展是以犧牲隱私性和可擴展性為前提的,zk-snark 所具備的屬性能夠對犧牲的隱私性和可擴展性進行補救。但目前 zk-snark 效率較低,在以太坊中,以太坊節點驗證一個區塊所需時間,約為 400 毫秒,而 zk-snark 驗證一個以太坊區塊的時間約為 20 分鐘,這導致網絡雖然具備隱私性和可擴展性,但運行時間卻延長 3000 倍。所以想將 zk-snark 運行到現有區塊鏈網絡中,需要提供一種“實時證明”,如果證明生成時間降低,那么在保證區塊鏈運行速度的同時,也能提升隱私性和可擴展性。
什么方法能夠實現“實時證明”?為此Odaily星球日報將根據 Vitalik 在演講中所提供的思路進行解析,並對相應方案的項目進行簡短介紹。
zk-snark 實現“實時證明”的三個方向
在此之前,先科普一下 zk-snark, zk-snark 全稱為簡潔的非交互式零知識證明,為了更好的理解,我們分开解釋:
-
零知識證明:即證明者(Prover)能夠在不向驗證者(Verifier)提供任何有用的信息的情況下,使驗證者相信某個論斷是正確的。
-
簡潔的:指交易驗證過程不涉及大量數據傳輸,且驗證算法簡單。
-
非交互的:證明者與驗證者之間無需進行交互。
以下是 zk-snark 的運作流程圖。從圖中對 zk-snark 進行簡單解讀:
-
利用 Setup,使用隨機數生成置信參數 F,生成證明密鑰 pk 和驗證密鑰 v
-
證明者輸入隱私輸入 W 和公开輸入 x,生成證明 π,並用私鑰 pk 籤名。π 通過橢圓曲线加密,隱藏了 W
-
驗證者驗證證明: 驗證者持有 v,輸入 x 和 π,確認證明者知道 W。驗證者無法得知 W
-
結果返回: 如果驗證成功,則返回 TRUE;否則返回 FALSE。
通過上述以 Zcash 的 zk-snark 相關流程介紹,不難發現,zk-snark 在驗證證明時,所產生的步驟別不多,同時根據 zk-snark 的特性來看,驗證所耗時間並不多,根據相應的 zk-snark 相關統計,驗證證明時間一般不超過 80 毫秒,那么影響 zk-snark 成為公鏈的運行阻礙的原因在於證明者提供的證明。
上圖為目前比較主流的 zk-snark 相關技術的匯總,從中不難發現,證明的大小、證明生成時間,驗證時間是衡量有關 zk-snark 技術的標准。拋开驗證時間來看,大多數 zk-snark 的證明無論從證明大小和生成時間來看,都與本文起始部分,Vitalik 用以太坊為例的標准不符,值得注意的是,上述大多數技術的所在公鏈並不具備智能合約的功能,也無法與以太坊區塊大小相提並論,所需證明尺寸和證明生成時間要求更高。
為此,Vitalik 在本次演講中對 zk-snark“實時證明”的實現,提供三個解決優化方向。
-
並行化和聚合:通過並行計算和證明聚合,提高驗證大塊區塊的效率。每個計算步驟都可以進行獨立證明,然後將這些證明進行聚合,減少驗證過程中的計算時間和資源消耗。這可以通過利用並行計算和分布式系統的特性來實現,以加速大規模區塊的驗證過程。
-
硬件設計改進:設計專門用於 SNARK 計算的 ASIC,以提高計算效率。類似於挖礦中使用的 ASIC,SNARK ASIC 可以通過定制化的硬件結構和優化的算法來加速 SNARK 計算過程,從而實現更快的驗證速度和更低的成本。
-
算法改進:進一步優化 snark 算法,包括 Groth 16、查找表、 64 位 snark、 32 位 stark 等,以提高算法的效率和可擴展性。此外,還可以研究开發更加高效的哈希函數和籤名算法,使其更適合於 snark 的計算,進一步提高驗證速度和資源利用率。
Vitalik 提倡第一個解決方向——並行計算和證明聚合,需要對相關公鏈和 zk-snark 運作流程進行優化,例如此前 zk-snark 算法中 Plonk 算法的遞歸屬性,不過並行計算和證明聚合目前並未有更好的解決方案可以解決相應問題。
至於算法改進,目前在 zk-snark 領域,從性能上來看,主流依舊是 Groth 16 算法,隨後出現的 zk-snark 算法多是為解決可信設置問題,在運行速度和證明生成時間上並無更多進展,並且 zk-snark 算法中,可信設置約簡單,運行速度越快,但安全性也越差。為此以安全性為前提,zk-snark 提升速度還需持續建設。
上述兩個解決方向主要以理論為支撐,這需要很長時間才能有所突破,那拋开理論,能否通過其他方式快速實現“實時證明”嗎?硬件設計改進或許是達成目標的最佳捷徑。
ZK 硬件加速或能盡快實現“實時證明”
從前文關於 zk-snark 性能的內容中,不難發現,真正限制 zk-snark 性能在於證明的生成,其中證明大小和電路規模決定證明生成時間。目前,大多數項目的復雜度越來越高,其證明大小和電路規模也在不斷提升,生成證明的算力也在不斷增加,為此 ZK 硬件加速項目應運而生。
ZK 硬件加速主要在證明生成中的多項式類型 NTT 任務和橢圓曲线 MSM 任務提供算力支持,主要這兩項任務的運行邏輯簡單,且大部分計算邏輯重復,並且可以進行可並行計算。
ZK 硬件和挖礦硬件相差不大,依舊是 GPU、FPGA 以及 ASIC 三種。不過 ZK 硬件加速領域目前比較常見的是 GPU/FPGA 方案,該方案比較容易實現,相關配件更易獲取,不過相比於前兩者,ASIC 潛力更大,也是 ZK 硬件加速領域目前增長點之一。
目前 ZK 硬件加速項目採用兩種方式為相關 ZK 項目提供算力服務,包括硬件出售和 SaaS 算力服務。硬件出售顧名思義,和比特大陸一樣出售礦機;SaaS 算力服務,更像提供一個算力市場,ZK 項目可以在市場上購买算力來幫助項目生成 ZK 證明。
目前 ZK 硬件加速領域比較小衆,若不是 Vitalik 在演講中提到,想必大多數人並不太清楚有哪些項目存在。為此Odaily星球日報對該板塊項目進行整理,板塊項目較少,其中 Cysic 、 Ingopedia 、 Supranational 、 Ulvantanna 以及 Auradine 為目前較為知名的項目。
其中 Cysic 目前關注度較高,其推出 FPGA/ASIC 硬件加速在算力性能上較為突出,同時還有算力市場為客戶提供算力支持服務;Auradine 比較綜合,其主推的是比特幣礦機,同時提供相應 ZK 算力硬件,不過 ZK 硬件並不是其主打產品;Ulvantanna 主打利用 FPGA 集群為 ZK 項目提供算力支持,值得一提的是,Web3知名資本 Paradigm 是其投資者;Supranational 項目比較奇特,推特和官網的更新截止在去年 5 月,不確定目前是否運行;Ingopedia 提供基於 GPU 和 FPGA 兩種硬件加速服務。
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。