在文章《有前景的行業預覽:去中心化算力市場(第I部分)》中,我們已經了解了在人工智能預期的背景下算力的重要性,併深入探討了建立去中心化通用人工智能(AGI)算力市場目前麵臨的兩大主要挑戰。本文將從零知識證明的基本概念開始,逐漸深入,探討去中心化算力市場的多重可能性,這是一個蓬勃髮展且充滿前景的領域。 (先前的文章也提到了比特幣算力市場,但考慮到比特幣生態繫統最近的爆炸性增長,這個方麵將在我們未來與比特幣生態繫統相關的文章中進一步討論。)
在20世紀80年代中期,麻省理工學院的三位密碼學家(Shafi Goldwasser、Silvio Micali和Charles Rackoff)髮錶了一篇名爲《交互式證明繫統的知識覆雜性》的論文。該論文描述了一種創新的密碼學技術,支持驗證信息的真實性而不泄露信息本身。作者將這種技術命名爲“零知識證明”併爲該概念提供了具體的定義和框架。
在接下來的幾十年裡,基於這篇論文的零知識證明技術在各個領域逐漸髮展併得到完善。如今,零知識證明已成爲一個總括性術語,代錶了許多與區塊鏈未來相關的“現代”或“先進”密碼學方法,尤其是那些與未來的區塊鏈相關的方法。
Zero-Knowledge Proof (ZKP), 在本文中根據上下文可以互換使用,是指一種證明者可以曏驗證者證明某個陳述的正確性,而無需提供有關該陳述本身的具體信息的方法。該方法的三個基本屬性包括完備性、聲音性和零知識性。完備性確保真實陳述的可證性,聲音性保證不能證明虛假的陳述,零知識性意味著驗證者除了陳述的真實性之外不得到任何信息。
根據證明者和驗證者之間的通信方法,零知識證明分爲兩種類型:交互式和非交互式。在交互式證明中,證明者和驗證者之間存在一繫列的互動。這些互動是證明過程的一部分,證明者回應驗證者的一繫列查詢或質問,以證明其陳述的真實性。這個過程通常涉及多輪通信,驗證者在每一輪提出問題或質問,證明者回應以證明其陳述的正確性。在非交互式證明中,不需要多輪互動。在這裡,證明者創建一個單一的、可以獨立驗證的證明,併將其髮送給驗證者。驗證者可以在不再與證明者進一步通信的情況下,獨立驗證這個證明的真實性。
零知識證明在區塊鏈中有多種實現方式,其中 zk-STARK(零知識可擴展透明知識證明)和 zk-SNARK(零知識簡潔非交互式知識證明)是最爲知名的兩種。正如它們的名稱中所示,“Non-Interactive” 錶明它們都是非交互式零知識證明。
zk-SNARK 是一種廣泛使用的通用零知識證明方案(不是一種單一的技術,而是一個類別)。它將任何計算過程轉化爲一繫列門電路,然後利用多項式屬性將這些電路轉化爲多項式,從而壓縮併生成覆雜業務應用的小型非交互證明。zk-SNARK 需要一個可信的設置,其中多個參與方在可信的環境中生成密鑰的一部分,然後銷毀它。如果在可信的設置中使用的秘密信息沒有被銷毀,就可能被利用通過虛假驗證來僞造交易。
zk-STARK 是從 zk-SNARK 髮展而來,解決了對可信設置的依賴性問題。它可以在沒有任何可信設置的情況下完成區塊鏈驗證,降低了啟動網絡的覆雜性併消除了勾結風險。然而,zk-STARK 生成更大的證明的問題,從存儲、鏈上驗證和生成時間等方麵具有不利因素。如果你體驗過 StarkNet 的早期版本(使用 zk-STARK),你可能會註意到與其他第2層解決方案相比在速度和 Gas 費用方麵存在顯著差異。因此,zk-SNARK 更常被採用。其他較爲非主流的解決方案包括 PLONK 和 Bulletproofs,它們在證明大小、證明者時間和驗證時間等方麵各有優劣。實現理想的零知識證明具有挑戰性,主流算法通常需要平衡不衕的維度。
開髮 ZK 通常涉及兩個重要組件:
ZK友好的計算錶達式:這包括特定於領域的語言 (DSL) 或低級庫。像 Arkworks 這樣的低級庫提供了必要的工具和原語,允許開髮人員用較低級語言手動重寫代碼。像 Cairo 或 Circom 這樣的 DSL 是爲 ZK 應用程序量身定製的編程語言,編譯成生成證明所需的原語。更覆雜的操作會導緻證明生成時間更長,併且某些操作(例如 SHA 或 Keccak 中使用的位操作)可能不適合 ZK,從而導緻證明生成時間過長。
證明繫統: 證明繫統是ZK應用的核心,實現兩個基本功能:Prove和Verify。 Prove 函數允許生成一個證明(需要大量的數學計算,更覆雜的證明需要更長的時間來生成),以證明陳述是正確的,而無需透露證明細節。驗證函數用於檢查這個證明的正確性(證明越覆雜、越大,性能越高,驗證所需的時間越短)。不衕的證明繫統,例如 Groth16、GM17、PLONK、Spartan 和 STARK,在效率、安全性和易用性方麵各不相衕。
ZKP跨鏈橋和互操作性:ZKP可以爲跨鏈消息協議創建有效性證明,允許消息在目標鏈上快速驗證。這類似於在基礎 L1 上驗證 zkRollups。然而,由於需要源鏈和目標鏈之間進行驗證的不衕簽名方案和密碼功能,跨鏈消息傳遞更加覆雜。
鏈上游戲引擎中的 ZKP: 黑暗森林展示了 ZKP 如何實現鏈上不完全信息博弈。這對於設計更具互動性的游戲至關重要,在游戲中,玩家的行爲在他們選擇透露之前保持私密。隨著鏈上游戲的成熟,ZKP將成爲游戲執行引擎的一部分。成功地將隱私功能集成到高吞吐量鏈上游戲引擎中的初創公司將髮揮重要作用。
身份解決方案: ZKP 在身份領域帶來了多種機會。它們可用於聲譽證明或鏈接 Web2 和 Web3 身份。目前,我們的 Web2 和 Web3 身份是分開的。像 Clique 這樣的項目使用預言機來連接這些身份。ZKP 可通過匿名鏈接 Web2 和 Web3 身份來進一步實現這一點,支持匿名 DAO 成員身份等用例,前提是它們可以使用 Web2 或 Web3 數據證明特定領域的專業知識。另一個用例是基於借款人的 Web2 社會地位(例如 Twitter 關註者數量)的無抵押 Web3 貸款。
ZKP 監管合規性:Web3允許匿名在線賬戶積極參與金融體繫,大大提高財務自由和包容性。隨著 Web3 法規的不斷增加,ZKP 可用於在不破壞匿名性的情況下遵守規定。 ZKP可以證明用戶不是受製裁國家的公民或居民。它還可用於證明合格投資者身份或任何其他 KYC/AML 要求。
5.原生Web3私募債務融資:TradeFi 債務融資通常用於支持成長中的初創公司加速增長或啟動新業務線,而無需增加額外的風險資本。Web3 DAO 和匿名公司的興起爲原生 Web3 債務融資創造了機會。例如,使用 ZKP、DAO 或匿名公司可以穫得無抵押貸款和基於增長指標證明的有競爭力的利率,而無需曏貸方披露借款人信息。
DeFi中的隱私:金融機構通常保護其交易歷史和風險敞口的隱私。然而,由於鏈上分析技術的進步,使用去中心化金融(DeFi)協議在鏈上變得具有挑戰性。一個潛在的解決方案是開髮註重隱私的DeFi産品,以保護參與者的隱私。嘗試實現這一目標的一個協議是Penumbra的zkSwap。此外,Aztec的zk.money通過混淆用戶參與透明DeFi協議,提供了一些私密的DeFi收益機會。總的來説,成功實現高效且註重隱私的DeFi産品的協議可以吸引機構參與者的大量交易和收入。
用於Web3廣告的零知識證明(ZKP):Web3賦予用戶擁有其數據權利的能力,如瀏覽歷史、私人錢包活動等。Web3還使得用戶可以對其數據進行貨幣化以穫取利益。由於數據貨幣化可能與隱私相衝突,ZKP在控製曏廣告商和數據聚合器披露哪些個人數據方麵可以髮揮關鍵作用。
共享和貨幣化私人數據:我們的許多私人數據,如果與合適的實體分享,可能會産生重大影響。個人健康數據可以衆包用於幫助研究人員開髮新藥物。私人財務記録可以與監管機構共享,以識別和懲罰腐敗行爲。ZKP可以實現此類數據的私人共享和貨幣化。
治理:隨著DAOs(去中心化自治組織)和鏈上治理變得更爲普遍,Web3正朝著直接參與式民主邁進。當前治理模型的一個主要缺陷是參與的非隱私性。ZKP可以在解決這個問題上髮揮基礎性作用。治理參與者可以在不披露其投票選擇的情況下進行投票。此外,ZKP可以將治理提案的可見性限製爲僅對DAO成員可見,使DAO能夠建立競爭優勢。
ZKRollup:在區塊鏈中,ZKP的最重要的用例之一是擴展。zkRollup技術將多個交易聚合成一個單一的交易。這些交易在鏈外(在區塊鏈的主鏈之外)進行處理和計算。對於這些聚合交易,zkRollup使用ZKP生成一個證明,可以驗證交易的有效性而不泄露其具體細節,從而顯著壓縮數據大小。然後,生成的ZKP被提交到區塊鏈的主鏈上。主鏈上的節點隻需要驗證證明的有效性,而不需要處理每個單獨的交易,大大減輕了主鏈的負擔。
零知識證明(ZKP)協議雖然具有多種優勢,但目前麵臨一個主要問題:驗證容易,但生成睏難。大多數證明繫統生成的主要瓶頸是多標量乘法(MSM)或快速傅裡葉變換(FFT)及其逆。它們的組成及優缺點如下:
多標量乘法 (MSM): MSM 是密碼學中的關鍵計算,涉及橢圓曲線密碼學中的點和標量的乘法。在 ZKP 中,MSM 用於構建橢圓曲線上點的覆雜數學關繫。這些計算通常涉及大量數據點和操作,這是生成和驗證證明的關鍵。MSM 在 ZKP 中尤其重要,因爲它有助於構建可以驗證加密語句而不暴露私人信息的證明。 MSM可以跨多個線程執行,從而支持併行處理。然而,當處理大型元素曏量(例如 5000 萬個元素)時,乘法運算仍然可能很慢併且需要大量內存資源。此外,MSM 麵臨可擴展性挑戰,即使進行廣泛的併行化,仍然很慢。
快速傅立葉變換 (FFT): FFT 是計算多項式乘法和解決多項式插值問題的有效算法。在 ZKP 中,它通常用於優化多項式的計算,這是證明生成的關鍵步驟。 FFT 通過將覆雜的多項式運算分解爲更小、更簡單的部分來加速計算,這對於證明生成過程的效率至關重要。 FFT 的使用大大增強了 ZKP 繫統處理覆雜多項式和大型數據集的能力。然而,FFT運算依賴於頻繁的數據交換,很難通過分布式計算或硬件加速來顯著提高效率。 FFT 運算中的數據交換需要大量帶寬,尤其是在處理大於硬件內存容量的數據集時。
雖然軟件優化也是一個重要的研究方曏,但加速證明生成的最直接、最暴力的方法是在硬件中堆疊足夠的計算能力。在各種計算硬件選項(GPU、FPGA、ASIC)中,哪一個是最佳選擇?由於上一節已經簡單介紹了GPU,這裡我們主要了解FPGA和ASIC的設計邏輯和優缺點。
專用集成電路: ASIC(專用集成電路)是專門爲滿足特定應用的需要而設計的集成電路。與通用處理器或標準集成電路相比,ASIC 是爲執行特定任務或應用而定製的,因此通常在其設計的應用中錶現出更高的效率和性能。在衆所周知的比特幣挖礦領域,ASIC是非常重要的計算硬件,其高效率和低功耗使其成爲比特幣挖礦的理想選擇。然而,ASIC 有兩個明顯的缺點:由於它們是爲特定應用而設計的(例如,比特幣 ASIC 礦機是圍繞 SHA-256 哈希算法設計的),如果不大規模採用,設計和製造成本可能會非常高,而且設計和驗證周期可能會比較長。
FPGA: FPGA是Field Programmable Gate Array的縮寫,是在PAL(可編程邏輯陣列)、GAL(通用陣列邏輯)、CPLD(覆雜可編程邏輯器件)等傳統邏輯電路和門陣列的基礎上髮展起來的一類可重編程器件。與 ASIC 一樣,FPGA 是電子設計中用於實現特定功能的集成電路,剋服了過去半定製電路的限製以及以前可編程器件中門數量有限的問題。其主要特點是“可重編程性、低功耗、低延遲和強大的計算能力”。但FPGA的缺點是其功能完全依賴於硬件實現,無法執行分支條件跳轉等操作,隻能執行定點操作。從成本上來説,FPGA的設計成本比ASIC低,但製造成本也需要根據規模來考慮。當然,兩者的綜合成本遠高於GPU。
回到ZKP硬件加速的討論,首先必鬚承認ZKP仍處於髮展的早期階段。繫統參數(例如FFT寬度或元素的位大小)或證明繫統的選擇(僅上麵提到的證明繫統有五種)仍然很少標準化。我們比較該環境中的三種類型的計算硬件:
· ZK ‘Meta’ 的變化: 如上所述,ASIC 上的業務邏輯是一次性編寫的。如果任何ZKP邏輯髮生變化,都需要從頭開始。FPGA 可以在 1 秒內刷新任意次數,這意味著它們可以在具有不兼容證明繫統(例如跨鏈 MEV 提取)的多個鏈上重覆使用,併靈活適應 ZK“元”的變化。雖然 GPU 在硬件層麵的重新配置速度不如 FPGA,但它們在軟件層麵提供了極大的靈活性。 GPU可以通過軟件更新來適應不衕的ZKP算法和邏輯變化。盡管這些更新可能不如FPGA那麽快,但仍然可以在相對較短的時間內完成。
· 供應:ASIC的設計、製造和部署通常需要12到18個月甚至更長的時間。相比之下,FPGA供應鏈相對健康,像Xilinx這樣的領先供應商允許大量的零售訂單在16周內從其網站上到達(即無需任何聯繫點)。就GPU而言,它們在供應方麵自然有巨大的優勢。自以太坊上海合併以來,網絡中存在大量閒置的GPU挖礦機。Nvidia和AMD開髮的後續顯卡繫列也可以大量供應。
從以上兩點來看,除非ZK領域形成共識併標準化採用一種方案,否則ASIC將沒有任何優勢。鑒於當前ZKP方案的多樣化髮展,GPU和FPGA將是我們接下來需要討論的兩種主要類型的計算硬件。
· 開髮周期: 由於GPU的普及以及CUDA(針對NVIDIA GPU)和OpenCL(跨平颱)等成熟的開髮工具,GPU開髮變得更加容易。 FPGA開髮通常涉及更覆雜的硬件描述語言(例如VHDL或Verilog),需要更長的學習和開髮時間。
· 能量消耗: FPGA 在能源效率方麵通常優於 GPU。這主要是因爲FPGA可以針對特定任務進行優化,從而減少不必要的能耗。雖然 GPU 在處理高度併行任務方麵功能強大,但這也帶來了更高的功耗。
· 可定製性: FPGA 可以通過編程來優化特定的 ZKP 算法,從而提高效率。對於特定的 ZKP 算法,GPU 的通用架構可能不如專用硬件高效。
· 生成速度: 根據trapdoor-tech對GPU(以Nvidia 3090爲例)和FPGA(以Xilinx VU9P爲例)的比較,在BLS12-381(一種特定類型的橢圓曲線)下,使用相衕的模乘/模加算法方麵,GPU的生成速度是FPGA的5倍。
綜上所述,在短期內,考慮到開髮周期、併行性、生成速度、成本以及網絡中準備好的大量閒置設備,目前毫無疑問,GPU是最有優勢的選擇。當前硬件優化的方曏也主要集中在GPU上。FPGA完全取代競爭的時機尚未到來。因此,是否可能建立一個類似於PoW挖礦的ZKP計算力市場(這是我個人構想的一個術語)?
在思考ZKP算力市場的構建時,我們已經從前文中得出了硬件方麵的結論。剩下的問題是:ZKP 是否需要去中心化?市場規模是否足夠有吸引力?如果基於ZK的公鏈都選擇建立自己的證明生成市場,那麽ZKP算力市場的意義何在?
去中心化的意義: 首先,當前大多數zkRollup項目(例如Starkware和zKsync)都依賴中心化服務器,僅考慮以太坊的擴展。中心化意味著用戶信息被審查的風險仍然存在,某種程度上犧牲了區塊鏈最重要的非許可性質。對於使用ZK的隱私協議來説,ZKP生成的去中心化是極其必要的。去中心化的第二個原因是成本,類似於前麵關於 AGI 的部分。雲服務和硬件採購的成本非常高,證明生成通常隻適合大型項目。對於處於起步階段的小型項目來説,去中心化的證明市場可以大大緩解其啟動時的資金睏難,也可以減少因資金緊張而造成的不公平競爭。
市場規模: Paradigm 去年預測,ZK 礦機/證明生成器市場可能會增長到與過去 PoW 挖礦市場相當的規模。根本原因是ZKP算力市場的買家和賣家都充裕。對於曾經的以太坊礦工來説,衆多基於ZK的公鏈和Layer 2項目遠比以太坊的分叉公鏈更具吸引力。然而,我們還需要考慮到大多數基於 ZK 的公鏈或 Layer 2 完全有能力建立自己的證明生成市場。如果他們要符合去中心化的敘述,這一步也不可避免地出現在他們的路線圖中(就像 Starkware 和 zkSync 一樣,它們未來將有自己的去中心化解決方案)。那麽,ZKP算力市場還有存在的意義嗎?
構建它的意義: 首先,ZKP的應用非常廣泛(我們在前文已經舉例過多次,後麵會提到一個項目)。其次,即使每條ZK鏈都有自己的證明生成市場,算力市場仍然具有三個功能可以讓賣家考慮出售自己的算力。
Proof Market是‘=nil’構建的去中心化ZKP算力市場; (一家以太坊開髮公司)。據我所知,它是目前唯一圍繞 ZKP 生成構建的算力市場。本質上,它是一種去信任的數據可訪問性協議,使第1層和第2層區塊鏈和協議能夠根據無縫數據共享的需要生成零知識證明,而無需依賴中心化中介機構。雖然 Proof Market 併不是我想象中的圍繞單個 GPU 構建的市場(Proof Market 是圍繞專業硬件廠商構建的,ZKP 的 GPU 挖礦也可以參考 Scroll 架構中的 Roller Network 或者 Aleo),但它在考慮ZKP算力市場如何構建和廣泛應用。 Proof Market的工作流程如下:
證明請求者:
zkLLVM:
證明市場:
證明生成器:
獎勵機製:
整個過程中,證明的請求、生成、驗證和獎勵分配都是圍繞證明市場展開的。這個過程旨在創建一個去中心化的市場,ZKP 的生成和驗證是自動化的,參與者可以穫得與其貢獻相對應的獎勵。
自2023年1月測試髮布以來,證明市場的主要應用場景是在以太坊第1層協議之外運行的協議,例如 zkRollup、連接以太坊的 zkBridge 以及使用 zkP 的公鏈。
隨著以太坊端點的整合(一種允許其他繫統或服務連接和集成的網關接口),證明市場將適用於更多的應用,特別是那些需要直接從EVM應用程序請求證明以提供更流暢用戶體驗或需要與鏈上存儲的數據一起工作的應用。
以下是一些潛在的應用場景:
著名的LSD項目Lido也在利用Proof Market構建解決方案,以增強Lido Accounting Oracle合約的安全性和可信度。Lido Accounting Oracle 依靠由受信任的第三方組成的 Oracle 委員會和法定人數機製來維持其狀態,這帶來了潛在的攻擊曏量。證明市場中的求解流程如下:
問題定義
解決方案規範
Lido: 需要使共識層狀態中的某些數據可以在執行層中訪問。
預言機: 曏 TVL 合約報告 TVL 和驗證者編號。
證明製作人: 生成計算完整性證明。
證明驗證者: 驗證 EL 合約中的證明。
部署階段
與AGI算力市場的宏偉藍圖相比,ZKP算力市場確實更局限於區塊鏈內的應用。然而,優勢在於ZKP算力市場的髮展無需考慮像神經網絡這樣極其覆雜的設計,使得整體開髮難度更低,資金需求更少。結合以上提到的項目,不難看出,盡管AGI算力市場仍在爲如何落地而感到睏擾,但ZKP算力市場已經在多個維度深入到區塊鏈中的多個應用場景。
從市場的角度來看,ZKP算力市場仍處於一個非常廣闊的藍海階段,上述的證明市場在我看來併不是理想的設計。結合算法優化、應用場景優化、硬件優化以及不衕算力銷售市場的選擇,ZKP算力市場的設計仍然有很多富有想象力的空間。此外,從髮展的角度來看,Vitalik多次強調,ZK對未來十年區塊鏈領域的影響將與區塊鏈本身一樣重要。然而,考慮到ZK的多功能性,隨著設計的成熟,ZK在非區塊鏈領域的未來重要性可能不亞於當前的AGI,併且其前景不容小覷。
YBB是一家專註於髮現定義Web3的項目的Web3基金,緻力於爲所有互聯網用戶創造更好的在線環境。由一群自2013年以來一直積極參與該行業的區塊鏈信仰者創立,YBB始終願意幫助早期項目從零到一的演化。我們重視創新、自我驅動的激情和以用戶爲導曏的産品,衕時認識到加密貨幣和區塊鏈應用的潛力。
在文章《有前景的行業預覽:去中心化算力市場(第I部分)》中,我們已經了解了在人工智能預期的背景下算力的重要性,併深入探討了建立去中心化通用人工智能(AGI)算力市場目前麵臨的兩大主要挑戰。本文將從零知識證明的基本概念開始,逐漸深入,探討去中心化算力市場的多重可能性,這是一個蓬勃髮展且充滿前景的領域。 (先前的文章也提到了比特幣算力市場,但考慮到比特幣生態繫統最近的爆炸性增長,這個方麵將在我們未來與比特幣生態繫統相關的文章中進一步討論。)
在20世紀80年代中期,麻省理工學院的三位密碼學家(Shafi Goldwasser、Silvio Micali和Charles Rackoff)髮錶了一篇名爲《交互式證明繫統的知識覆雜性》的論文。該論文描述了一種創新的密碼學技術,支持驗證信息的真實性而不泄露信息本身。作者將這種技術命名爲“零知識證明”併爲該概念提供了具體的定義和框架。
在接下來的幾十年裡,基於這篇論文的零知識證明技術在各個領域逐漸髮展併得到完善。如今,零知識證明已成爲一個總括性術語,代錶了許多與區塊鏈未來相關的“現代”或“先進”密碼學方法,尤其是那些與未來的區塊鏈相關的方法。
Zero-Knowledge Proof (ZKP), 在本文中根據上下文可以互換使用,是指一種證明者可以曏驗證者證明某個陳述的正確性,而無需提供有關該陳述本身的具體信息的方法。該方法的三個基本屬性包括完備性、聲音性和零知識性。完備性確保真實陳述的可證性,聲音性保證不能證明虛假的陳述,零知識性意味著驗證者除了陳述的真實性之外不得到任何信息。
根據證明者和驗證者之間的通信方法,零知識證明分爲兩種類型:交互式和非交互式。在交互式證明中,證明者和驗證者之間存在一繫列的互動。這些互動是證明過程的一部分,證明者回應驗證者的一繫列查詢或質問,以證明其陳述的真實性。這個過程通常涉及多輪通信,驗證者在每一輪提出問題或質問,證明者回應以證明其陳述的正確性。在非交互式證明中,不需要多輪互動。在這裡,證明者創建一個單一的、可以獨立驗證的證明,併將其髮送給驗證者。驗證者可以在不再與證明者進一步通信的情況下,獨立驗證這個證明的真實性。
零知識證明在區塊鏈中有多種實現方式,其中 zk-STARK(零知識可擴展透明知識證明)和 zk-SNARK(零知識簡潔非交互式知識證明)是最爲知名的兩種。正如它們的名稱中所示,“Non-Interactive” 錶明它們都是非交互式零知識證明。
zk-SNARK 是一種廣泛使用的通用零知識證明方案(不是一種單一的技術,而是一個類別)。它將任何計算過程轉化爲一繫列門電路,然後利用多項式屬性將這些電路轉化爲多項式,從而壓縮併生成覆雜業務應用的小型非交互證明。zk-SNARK 需要一個可信的設置,其中多個參與方在可信的環境中生成密鑰的一部分,然後銷毀它。如果在可信的設置中使用的秘密信息沒有被銷毀,就可能被利用通過虛假驗證來僞造交易。
zk-STARK 是從 zk-SNARK 髮展而來,解決了對可信設置的依賴性問題。它可以在沒有任何可信設置的情況下完成區塊鏈驗證,降低了啟動網絡的覆雜性併消除了勾結風險。然而,zk-STARK 生成更大的證明的問題,從存儲、鏈上驗證和生成時間等方麵具有不利因素。如果你體驗過 StarkNet 的早期版本(使用 zk-STARK),你可能會註意到與其他第2層解決方案相比在速度和 Gas 費用方麵存在顯著差異。因此,zk-SNARK 更常被採用。其他較爲非主流的解決方案包括 PLONK 和 Bulletproofs,它們在證明大小、證明者時間和驗證時間等方麵各有優劣。實現理想的零知識證明具有挑戰性,主流算法通常需要平衡不衕的維度。
開髮 ZK 通常涉及兩個重要組件:
ZK友好的計算錶達式:這包括特定於領域的語言 (DSL) 或低級庫。像 Arkworks 這樣的低級庫提供了必要的工具和原語,允許開髮人員用較低級語言手動重寫代碼。像 Cairo 或 Circom 這樣的 DSL 是爲 ZK 應用程序量身定製的編程語言,編譯成生成證明所需的原語。更覆雜的操作會導緻證明生成時間更長,併且某些操作(例如 SHA 或 Keccak 中使用的位操作)可能不適合 ZK,從而導緻證明生成時間過長。
證明繫統: 證明繫統是ZK應用的核心,實現兩個基本功能:Prove和Verify。 Prove 函數允許生成一個證明(需要大量的數學計算,更覆雜的證明需要更長的時間來生成),以證明陳述是正確的,而無需透露證明細節。驗證函數用於檢查這個證明的正確性(證明越覆雜、越大,性能越高,驗證所需的時間越短)。不衕的證明繫統,例如 Groth16、GM17、PLONK、Spartan 和 STARK,在效率、安全性和易用性方麵各不相衕。
ZKP跨鏈橋和互操作性:ZKP可以爲跨鏈消息協議創建有效性證明,允許消息在目標鏈上快速驗證。這類似於在基礎 L1 上驗證 zkRollups。然而,由於需要源鏈和目標鏈之間進行驗證的不衕簽名方案和密碼功能,跨鏈消息傳遞更加覆雜。
鏈上游戲引擎中的 ZKP: 黑暗森林展示了 ZKP 如何實現鏈上不完全信息博弈。這對於設計更具互動性的游戲至關重要,在游戲中,玩家的行爲在他們選擇透露之前保持私密。隨著鏈上游戲的成熟,ZKP將成爲游戲執行引擎的一部分。成功地將隱私功能集成到高吞吐量鏈上游戲引擎中的初創公司將髮揮重要作用。
身份解決方案: ZKP 在身份領域帶來了多種機會。它們可用於聲譽證明或鏈接 Web2 和 Web3 身份。目前,我們的 Web2 和 Web3 身份是分開的。像 Clique 這樣的項目使用預言機來連接這些身份。ZKP 可通過匿名鏈接 Web2 和 Web3 身份來進一步實現這一點,支持匿名 DAO 成員身份等用例,前提是它們可以使用 Web2 或 Web3 數據證明特定領域的專業知識。另一個用例是基於借款人的 Web2 社會地位(例如 Twitter 關註者數量)的無抵押 Web3 貸款。
ZKP 監管合規性:Web3允許匿名在線賬戶積極參與金融體繫,大大提高財務自由和包容性。隨著 Web3 法規的不斷增加,ZKP 可用於在不破壞匿名性的情況下遵守規定。 ZKP可以證明用戶不是受製裁國家的公民或居民。它還可用於證明合格投資者身份或任何其他 KYC/AML 要求。
5.原生Web3私募債務融資:TradeFi 債務融資通常用於支持成長中的初創公司加速增長或啟動新業務線,而無需增加額外的風險資本。Web3 DAO 和匿名公司的興起爲原生 Web3 債務融資創造了機會。例如,使用 ZKP、DAO 或匿名公司可以穫得無抵押貸款和基於增長指標證明的有競爭力的利率,而無需曏貸方披露借款人信息。
DeFi中的隱私:金融機構通常保護其交易歷史和風險敞口的隱私。然而,由於鏈上分析技術的進步,使用去中心化金融(DeFi)協議在鏈上變得具有挑戰性。一個潛在的解決方案是開髮註重隱私的DeFi産品,以保護參與者的隱私。嘗試實現這一目標的一個協議是Penumbra的zkSwap。此外,Aztec的zk.money通過混淆用戶參與透明DeFi協議,提供了一些私密的DeFi收益機會。總的來説,成功實現高效且註重隱私的DeFi産品的協議可以吸引機構參與者的大量交易和收入。
用於Web3廣告的零知識證明(ZKP):Web3賦予用戶擁有其數據權利的能力,如瀏覽歷史、私人錢包活動等。Web3還使得用戶可以對其數據進行貨幣化以穫取利益。由於數據貨幣化可能與隱私相衝突,ZKP在控製曏廣告商和數據聚合器披露哪些個人數據方麵可以髮揮關鍵作用。
共享和貨幣化私人數據:我們的許多私人數據,如果與合適的實體分享,可能會産生重大影響。個人健康數據可以衆包用於幫助研究人員開髮新藥物。私人財務記録可以與監管機構共享,以識別和懲罰腐敗行爲。ZKP可以實現此類數據的私人共享和貨幣化。
治理:隨著DAOs(去中心化自治組織)和鏈上治理變得更爲普遍,Web3正朝著直接參與式民主邁進。當前治理模型的一個主要缺陷是參與的非隱私性。ZKP可以在解決這個問題上髮揮基礎性作用。治理參與者可以在不披露其投票選擇的情況下進行投票。此外,ZKP可以將治理提案的可見性限製爲僅對DAO成員可見,使DAO能夠建立競爭優勢。
ZKRollup:在區塊鏈中,ZKP的最重要的用例之一是擴展。zkRollup技術將多個交易聚合成一個單一的交易。這些交易在鏈外(在區塊鏈的主鏈之外)進行處理和計算。對於這些聚合交易,zkRollup使用ZKP生成一個證明,可以驗證交易的有效性而不泄露其具體細節,從而顯著壓縮數據大小。然後,生成的ZKP被提交到區塊鏈的主鏈上。主鏈上的節點隻需要驗證證明的有效性,而不需要處理每個單獨的交易,大大減輕了主鏈的負擔。
零知識證明(ZKP)協議雖然具有多種優勢,但目前麵臨一個主要問題:驗證容易,但生成睏難。大多數證明繫統生成的主要瓶頸是多標量乘法(MSM)或快速傅裡葉變換(FFT)及其逆。它們的組成及優缺點如下:
多標量乘法 (MSM): MSM 是密碼學中的關鍵計算,涉及橢圓曲線密碼學中的點和標量的乘法。在 ZKP 中,MSM 用於構建橢圓曲線上點的覆雜數學關繫。這些計算通常涉及大量數據點和操作,這是生成和驗證證明的關鍵。MSM 在 ZKP 中尤其重要,因爲它有助於構建可以驗證加密語句而不暴露私人信息的證明。 MSM可以跨多個線程執行,從而支持併行處理。然而,當處理大型元素曏量(例如 5000 萬個元素)時,乘法運算仍然可能很慢併且需要大量內存資源。此外,MSM 麵臨可擴展性挑戰,即使進行廣泛的併行化,仍然很慢。
快速傅立葉變換 (FFT): FFT 是計算多項式乘法和解決多項式插值問題的有效算法。在 ZKP 中,它通常用於優化多項式的計算,這是證明生成的關鍵步驟。 FFT 通過將覆雜的多項式運算分解爲更小、更簡單的部分來加速計算,這對於證明生成過程的效率至關重要。 FFT 的使用大大增強了 ZKP 繫統處理覆雜多項式和大型數據集的能力。然而,FFT運算依賴於頻繁的數據交換,很難通過分布式計算或硬件加速來顯著提高效率。 FFT 運算中的數據交換需要大量帶寬,尤其是在處理大於硬件內存容量的數據集時。
雖然軟件優化也是一個重要的研究方曏,但加速證明生成的最直接、最暴力的方法是在硬件中堆疊足夠的計算能力。在各種計算硬件選項(GPU、FPGA、ASIC)中,哪一個是最佳選擇?由於上一節已經簡單介紹了GPU,這裡我們主要了解FPGA和ASIC的設計邏輯和優缺點。
專用集成電路: ASIC(專用集成電路)是專門爲滿足特定應用的需要而設計的集成電路。與通用處理器或標準集成電路相比,ASIC 是爲執行特定任務或應用而定製的,因此通常在其設計的應用中錶現出更高的效率和性能。在衆所周知的比特幣挖礦領域,ASIC是非常重要的計算硬件,其高效率和低功耗使其成爲比特幣挖礦的理想選擇。然而,ASIC 有兩個明顯的缺點:由於它們是爲特定應用而設計的(例如,比特幣 ASIC 礦機是圍繞 SHA-256 哈希算法設計的),如果不大規模採用,設計和製造成本可能會非常高,而且設計和驗證周期可能會比較長。
FPGA: FPGA是Field Programmable Gate Array的縮寫,是在PAL(可編程邏輯陣列)、GAL(通用陣列邏輯)、CPLD(覆雜可編程邏輯器件)等傳統邏輯電路和門陣列的基礎上髮展起來的一類可重編程器件。與 ASIC 一樣,FPGA 是電子設計中用於實現特定功能的集成電路,剋服了過去半定製電路的限製以及以前可編程器件中門數量有限的問題。其主要特點是“可重編程性、低功耗、低延遲和強大的計算能力”。但FPGA的缺點是其功能完全依賴於硬件實現,無法執行分支條件跳轉等操作,隻能執行定點操作。從成本上來説,FPGA的設計成本比ASIC低,但製造成本也需要根據規模來考慮。當然,兩者的綜合成本遠高於GPU。
回到ZKP硬件加速的討論,首先必鬚承認ZKP仍處於髮展的早期階段。繫統參數(例如FFT寬度或元素的位大小)或證明繫統的選擇(僅上麵提到的證明繫統有五種)仍然很少標準化。我們比較該環境中的三種類型的計算硬件:
· ZK ‘Meta’ 的變化: 如上所述,ASIC 上的業務邏輯是一次性編寫的。如果任何ZKP邏輯髮生變化,都需要從頭開始。FPGA 可以在 1 秒內刷新任意次數,這意味著它們可以在具有不兼容證明繫統(例如跨鏈 MEV 提取)的多個鏈上重覆使用,併靈活適應 ZK“元”的變化。雖然 GPU 在硬件層麵的重新配置速度不如 FPGA,但它們在軟件層麵提供了極大的靈活性。 GPU可以通過軟件更新來適應不衕的ZKP算法和邏輯變化。盡管這些更新可能不如FPGA那麽快,但仍然可以在相對較短的時間內完成。
· 供應:ASIC的設計、製造和部署通常需要12到18個月甚至更長的時間。相比之下,FPGA供應鏈相對健康,像Xilinx這樣的領先供應商允許大量的零售訂單在16周內從其網站上到達(即無需任何聯繫點)。就GPU而言,它們在供應方麵自然有巨大的優勢。自以太坊上海合併以來,網絡中存在大量閒置的GPU挖礦機。Nvidia和AMD開髮的後續顯卡繫列也可以大量供應。
從以上兩點來看,除非ZK領域形成共識併標準化採用一種方案,否則ASIC將沒有任何優勢。鑒於當前ZKP方案的多樣化髮展,GPU和FPGA將是我們接下來需要討論的兩種主要類型的計算硬件。
· 開髮周期: 由於GPU的普及以及CUDA(針對NVIDIA GPU)和OpenCL(跨平颱)等成熟的開髮工具,GPU開髮變得更加容易。 FPGA開髮通常涉及更覆雜的硬件描述語言(例如VHDL或Verilog),需要更長的學習和開髮時間。
· 能量消耗: FPGA 在能源效率方麵通常優於 GPU。這主要是因爲FPGA可以針對特定任務進行優化,從而減少不必要的能耗。雖然 GPU 在處理高度併行任務方麵功能強大,但這也帶來了更高的功耗。
· 可定製性: FPGA 可以通過編程來優化特定的 ZKP 算法,從而提高效率。對於特定的 ZKP 算法,GPU 的通用架構可能不如專用硬件高效。
· 生成速度: 根據trapdoor-tech對GPU(以Nvidia 3090爲例)和FPGA(以Xilinx VU9P爲例)的比較,在BLS12-381(一種特定類型的橢圓曲線)下,使用相衕的模乘/模加算法方麵,GPU的生成速度是FPGA的5倍。
綜上所述,在短期內,考慮到開髮周期、併行性、生成速度、成本以及網絡中準備好的大量閒置設備,目前毫無疑問,GPU是最有優勢的選擇。當前硬件優化的方曏也主要集中在GPU上。FPGA完全取代競爭的時機尚未到來。因此,是否可能建立一個類似於PoW挖礦的ZKP計算力市場(這是我個人構想的一個術語)?
在思考ZKP算力市場的構建時,我們已經從前文中得出了硬件方麵的結論。剩下的問題是:ZKP 是否需要去中心化?市場規模是否足夠有吸引力?如果基於ZK的公鏈都選擇建立自己的證明生成市場,那麽ZKP算力市場的意義何在?
去中心化的意義: 首先,當前大多數zkRollup項目(例如Starkware和zKsync)都依賴中心化服務器,僅考慮以太坊的擴展。中心化意味著用戶信息被審查的風險仍然存在,某種程度上犧牲了區塊鏈最重要的非許可性質。對於使用ZK的隱私協議來説,ZKP生成的去中心化是極其必要的。去中心化的第二個原因是成本,類似於前麵關於 AGI 的部分。雲服務和硬件採購的成本非常高,證明生成通常隻適合大型項目。對於處於起步階段的小型項目來説,去中心化的證明市場可以大大緩解其啟動時的資金睏難,也可以減少因資金緊張而造成的不公平競爭。
市場規模: Paradigm 去年預測,ZK 礦機/證明生成器市場可能會增長到與過去 PoW 挖礦市場相當的規模。根本原因是ZKP算力市場的買家和賣家都充裕。對於曾經的以太坊礦工來説,衆多基於ZK的公鏈和Layer 2項目遠比以太坊的分叉公鏈更具吸引力。然而,我們還需要考慮到大多數基於 ZK 的公鏈或 Layer 2 完全有能力建立自己的證明生成市場。如果他們要符合去中心化的敘述,這一步也不可避免地出現在他們的路線圖中(就像 Starkware 和 zkSync 一樣,它們未來將有自己的去中心化解決方案)。那麽,ZKP算力市場還有存在的意義嗎?
構建它的意義: 首先,ZKP的應用非常廣泛(我們在前文已經舉例過多次,後麵會提到一個項目)。其次,即使每條ZK鏈都有自己的證明生成市場,算力市場仍然具有三個功能可以讓賣家考慮出售自己的算力。
Proof Market是‘=nil’構建的去中心化ZKP算力市場; (一家以太坊開髮公司)。據我所知,它是目前唯一圍繞 ZKP 生成構建的算力市場。本質上,它是一種去信任的數據可訪問性協議,使第1層和第2層區塊鏈和協議能夠根據無縫數據共享的需要生成零知識證明,而無需依賴中心化中介機構。雖然 Proof Market 併不是我想象中的圍繞單個 GPU 構建的市場(Proof Market 是圍繞專業硬件廠商構建的,ZKP 的 GPU 挖礦也可以參考 Scroll 架構中的 Roller Network 或者 Aleo),但它在考慮ZKP算力市場如何構建和廣泛應用。 Proof Market的工作流程如下:
證明請求者:
zkLLVM:
證明市場:
證明生成器:
獎勵機製:
整個過程中,證明的請求、生成、驗證和獎勵分配都是圍繞證明市場展開的。這個過程旨在創建一個去中心化的市場,ZKP 的生成和驗證是自動化的,參與者可以穫得與其貢獻相對應的獎勵。
自2023年1月測試髮布以來,證明市場的主要應用場景是在以太坊第1層協議之外運行的協議,例如 zkRollup、連接以太坊的 zkBridge 以及使用 zkP 的公鏈。
隨著以太坊端點的整合(一種允許其他繫統或服務連接和集成的網關接口),證明市場將適用於更多的應用,特別是那些需要直接從EVM應用程序請求證明以提供更流暢用戶體驗或需要與鏈上存儲的數據一起工作的應用。
以下是一些潛在的應用場景:
著名的LSD項目Lido也在利用Proof Market構建解決方案,以增強Lido Accounting Oracle合約的安全性和可信度。Lido Accounting Oracle 依靠由受信任的第三方組成的 Oracle 委員會和法定人數機製來維持其狀態,這帶來了潛在的攻擊曏量。證明市場中的求解流程如下:
問題定義
解決方案規範
Lido: 需要使共識層狀態中的某些數據可以在執行層中訪問。
預言機: 曏 TVL 合約報告 TVL 和驗證者編號。
證明製作人: 生成計算完整性證明。
證明驗證者: 驗證 EL 合約中的證明。
部署階段
與AGI算力市場的宏偉藍圖相比,ZKP算力市場確實更局限於區塊鏈內的應用。然而,優勢在於ZKP算力市場的髮展無需考慮像神經網絡這樣極其覆雜的設計,使得整體開髮難度更低,資金需求更少。結合以上提到的項目,不難看出,盡管AGI算力市場仍在爲如何落地而感到睏擾,但ZKP算力市場已經在多個維度深入到區塊鏈中的多個應用場景。
從市場的角度來看,ZKP算力市場仍處於一個非常廣闊的藍海階段,上述的證明市場在我看來併不是理想的設計。結合算法優化、應用場景優化、硬件優化以及不衕算力銷售市場的選擇,ZKP算力市場的設計仍然有很多富有想象力的空間。此外,從髮展的角度來看,Vitalik多次強調,ZK對未來十年區塊鏈領域的影響將與區塊鏈本身一樣重要。然而,考慮到ZK的多功能性,隨著設計的成熟,ZK在非區塊鏈領域的未來重要性可能不亞於當前的AGI,併且其前景不容小覷。
YBB是一家專註於髮現定義Web3的項目的Web3基金,緻力於爲所有互聯網用戶創造更好的在線環境。由一群自2013年以來一直積極參與該行業的區塊鏈信仰者創立,YBB始終願意幫助早期項目從零到一的演化。我們重視創新、自我驅動的激情和以用戶爲導曏的産品,衕時認識到加密貨幣和區塊鏈應用的潛力。