Web3 中的 ZKP (零知識證明):現在與未來
![]()
撰文:Mohamed Fouda & Qiao Wang
編譯:DeFi 之道
零知識 (Zero Knowledge,簡稱 ZK) 技術不僅可以改變 Web3,還可以改變其他的行業。作為一種足夠通用的技術,ZK 可擁有大量的用例,而我們正處于弄清楚該技術可實現的所有用例的早期階段。一些明顯的 ZK 用例,已經找到了真正的應用,例如啟用交易隱私以及數據壓縮(即 Rollup)。然而,要讓 ZK 的采用變為主流,仍然需要許多潛在的用例和技術進步。在本文中,我們首先來回顧下 ZKP (零知識證明) 的不同應用。然后我們會討論,實現這項技術的下一階段需要什么,以及一些可以從這項技術中受益的創業想法。
自發明以來,零知識證明 (ZKP) 已在 crypto 行業中找到了穩固的立足點。ZKP 確實有一些神奇之處,這使得該技術非常令人興奮。簡單來說,ZKP 允許一個實體向世界其他地方證明其知道了一條信息,或者其已經正確完成了一項任務,而無需透露該信息或顯示任務執行的細節。ZK 的神奇數學讓我們只需檢查生成的 ZKP 就可以相信知識或執行的完成。出于這個原因,ZKP 的第一個,也是最一致的用例是以隱私為中心的加密網絡。ZKP 還用于提供以太坊 L1 上的 L2 交易的有效性證明,以引入 zk-Rollup 的概念。此外,ZKP 在不同的項目中還被用于其他的利基應用。![]()
ZKP 自然地實現了隱私,特別是在缺乏可充當真相來源的中央權威的去中心化網絡中。ZKP 允許 Web3 用戶(證明者)向網絡驗證者(驗證者)證明他們的交易是有效的,即他們有足夠的余額可以花費,而無需透露交易細節,如交易金額、發送方或接收方地址。ZKP 最初是為了支持 Zcash 網絡中的隱蔽支付(即隱私支付)而開發的,然后擴展到了其他網絡。隱私支付網絡的項目例子包括:
- 注重隱私的 L1:Zcash、Horizon、Aleo 以及 Iron Fish
ZKP 的另一個主要用例是在底層 L1 上生成 Rollup 有效性證明。通用 Rollup 優化吞吐量,即通過不利用 ZKP 的隱私功能來證明更多的交易。在這種權衡中,ZKP 僅作為 L2 交易執行正確性的證明。由于無法有效地證明一些通用函數,因此很難生成 ZKP 來證明任意智能合約的正確執行。解決這個問題需要實現專用的 VM (虛擬機),這些 VM 可以使用底層 zk 電路得到有效驗證。由于這種復雜性,zk-Rollup 一開始只支持支付或單個應用(例如 DEX),這樣就可以輕松生成 ZKP。這里的例子包括 zkSync 1.0 和 Loopring。之后,通用的 zkEVM 實現開始出現在市場上,包括 Starknet、zkSync 2.0、Polygon zkEVM 以及 Scroll。目前,所有的 zk-Rollup 都在以太坊上,但理論上也可以在其他鏈(包括比特幣)上實現 zk-Rollup。然而,比特幣 Rollup 的實施將需要更改比特幣操作碼并進行硬分叉升級,而這通常不受比特幣社區的歡迎。![]()
除了以隱私為中心的應用和 Rollup 之外,ZKP 在其他區塊鏈協議中也找到了其他的用例。本節介紹了這些用例。
Mina 使用 ZKP 將區塊鏈狀態壓縮到很小的大小(~22 KB)。為了實現這一點,Mina 使用了遞歸 ZKP 方法,即對 ZKP 再進行一次 ZKP 壓縮計算。當 Mina 網絡中生成一個區塊時,zk-SNARKs 用于生成該區塊的證明,以確保其有效性。當新區塊引用之前的區塊時,新區塊的 ZKP 會驗證所有之前的區塊,同時保持不變的大小。
Filecoin 使用 ZKP 來確保存儲提供商正確存儲他們聲稱存儲的數據。這個過程稱為復制證明(PoReb)。在此過程中,存儲提供者生成 ZKP ,以證明存儲的是數據的唯一副本,即不引用其他提供者維護的副本。ZKP 為想要實現一定程度的冗余和可用性的 Filecoin 用戶提供保證。此外,由于證明的大小比存儲的數據小得多,使用 ZKP 可以降低存儲提供商的帶寬需求。
Celo Plumo 使用 ZKP 允許創建可在手機和其他資源有限的設備上使用的超輕型網絡客戶端。盡管客戶端是輕量級的,但它可以保證訪問的狀態的正確性。
Dark Forest 是 ZKP 在游戲領域最流行的一款應用。盡管 ZKP 的使用符合隱私用例,但其創建不完全信息博弈的應用是一個獨特的用例,其超越了 ZKP 在支付網絡中的金融應用范圍。
在 2016 年之前,ZKP 還只是在小范圍的學術圈內被討論的一個研究課題。當 Zcash 創始團隊創建了 ZKP 變體 zk-SNARK 的第一個實現,以支持 Zcash 網絡中的屏蔽/隱私交易時,這一切都發生了變化。有了一個真實的用例之后,ZKP 引發的興趣變得越來越大,這導致了更多更好的 ZKP 變體,這些變體成為了第一節中我們討論的很多項目的基礎。然而,該技術需要進一步的 ZKP 開發才能實現主流的采用。要了解如何進一步改進該技術,我們可以向 AI 等類似技術學習。在許多方面,ZKP 技術類似于人工智能(AI)技術,預計它將遵循類似的發展軌跡。與 ZKP 一樣,AI 最初是一種很有前途的技術,它可以解決許多問題。然而,最初的人工智能算法的能力有限,計算復雜度遠遠超過了可用硬件的能力。這使得人工智能應用變得緩慢且不切實際,因此,人工智能(AI)主要局限于研究實驗室。通過發明深度神經網絡 (DNN) 等新架構,并利用 GPU 來提高執行速度,從而逐步改進了 AI 。這最終導致了諸如 2012 年 AlexNet 等突破,在最著名的計算機視覺競賽 ImageNet 中以巨大的優勢獲勝。AlexNet 是 AI 時代的一個開端,它催生了當前令人興奮的 AI 應用,例如 GPT-3、Dall.E 2 以及 Stable Diffusion。而在今天,ZKP 的狀態類似于 AI 早期的狀態,這是一項仍在積極開發中的很有前途的技術,但因為它是計算密集型的,這導致了較長的驗證時間。從人工智能(AI)的進步中學習,我們可以發現 ZKP 技術起飛需要解決的瓶頸。就像 AI 從 LeNet-5 到 AlexNet,從 Resnet-50 到 Transformer 一樣,ZKP 算法也將經歷開發階段,從而顯著提高性能。我們已經看到了這方面的進展,自 2011 年引入 zk-SNARK 以來,研發人員已經開發了更高級的算法。2018 年,Starkware 的創始人開發了 STARK,這是一種無需可信設置且證明生成時間更短的 ZKP 方法,這項技術是 Starkware 旗下幾款產品(包括 StarkNet 在內)的基礎。隨著 2019 年 PLONK 的引入,ZKP 繼續取得了進展,這是一種 SNARK 實現,它允許很多應用使用單個受信任的設置,而無需重復設置。PLONK 刺激了多種實現的開發,這些實現被多種 Web 3 協議(例如 Aztec、Mina 和 Celo)所使用。ZKP 的一個主要限制是計算復雜性,這導致了證明時間過長。例如,Polygon 最近宣布的 zkEVM 實現需要在 64 核服務器上使用大約 5 分鐘來生成 50 萬 gas 計算的證明。提高 ZKP 證明時間是使 ZKP 技術成為主流的關鍵部分。與 AI 類似,優化軟件執行引擎和使用專用硬件都是實現這一目標的必要條件。
很多 ZKP 生成操作是大規模并行的,這意味著并行處理(例如 GPU)可以加速 ZKP 計算。CUDA 等專用 GPU 庫可用于加速 Nvidia GPU 上 ZKP 計算。由于每個項目都使用不同的 ZKP 算法,因此有幾個項目正在嘗試在內部進行開發。這里一個值得注意的例子是 Filecoin 的 Groth16 算法的實現,它使用 GPU 來加速證明過程。另一個例子是 Edgeswap 使用 GPU 將 PLONK 的證明時間減少了 75%。
由于 GPU 對 ZKP 證明時間的改進會是有限的,因此另一種選擇是使用專用硬件,例如 FPGA 或 ASIC。在制造專用芯片(即 ASIC)的昂貴努力之前,FPGA 通常被視為硬件原型設計平臺。FGA 或結合 GPU 和 FPGA 的混合解決方案,可以在中短期內為 Rollup 以及以隱私為中心的網絡加速 ZKP 發揮重要作用。然而,如果 ZKP 技術發展到我們預期的水平,ASIC 最終將出現,并贏得這個市場。目前,ZKP 的硬件加速沒有得到充分解決,可能是因為 ZKP 算法的多樣性和碎片化。然而,我們相信,通過正確的商業模式,一些初創公司可以專注于開發和貨幣化這部分技術堆棧。為了釋放 ZKP 的潛力,需要構建幾個抽象層和工具。這些抽象對于簡化 ZKP 應用的開發過程是必要的,并允許每組開發人員專注于他們最擅長的事情。例如,應用程序開發人員不應該擔心 zk 電路的底層細節及其工作方式。再次使用 AI 類比,通過創建多個抽象層,AI 可能取得巨大進步。使用這些抽象,AI 應用程序開發人員無需擔心 NN 架構或硬件資源分配。TensorFlow 和 PyTorch 等框架抽象出了所有這些底層細節。![]()
zk 開發堆棧還沒有 AI 堆棧那么發達。然而,有一些努力來構建這些抽象。在堆棧的底部存在基礎的 ZKP 庫,例如 PLONK 和 STARK。在該層之上,Noir 等高級語言試圖抽象出底層的 zk 密碼學,并幫助應用開發人員專注于應用程序邏輯。Circom 是另一種流行的 ZKP 語言,它位于這兩層之間,因為它既可用于創建復雜的 zk 后端,也可用于開發基于 ZKP 的應用程序。Web 3 中 ZKP 抽象的另一個例子是 StarkWare 的 Cairo 語言,它允許開發人員實現在底層使用 STARK 證明的通用智能合約。為了提供進一步的抽象,Nethermind 的 Warp 工具允許 Solidity 開發人員將他們的 Solidity 代碼直接轉換為 Cairo。使用 Warp,可以將 Uniswap V3 代碼轉換為 Cairo,而只需對原始 Solidity 代碼進行最小的更改。
基于對 ZKP 可能進展路徑的討論,我們確定了一些與 ZKP 相關的創業想法,我們希望與創始人一起探索。創業的理念分為兩組:工具和應用。
與 AI 中的 Tensorflow 和 PyTorch 類似,高級 ZKP 開發框架對于在應用層解鎖創新是至關重要的。這些框架需要:
- 支持各種 ZKP 后端和硬件環境,例如 CPU 和 GPU;
以太坊生態中最接近的例子是 Hardhat 和 Foundry,但它們不太可能很快支持 zkEVM 或 ZKP。取而代之的是,現有的抽象工作,例如 Cairo,最終可能會演變到填補這一空間。
zk-Rollup 越來越受歡迎,其可以為游戲或高吞吐量 DeFi 協議啟用特定于應用的 L2。在這種情況下,zk-Rollup 主要進行執行和結算,而共識和數據可用性將由 L1 處理。然而,啟動特定于應用的 zk-Rollup 仍然是非常復雜的。我們相信,提供對開發人員友好的 SDK (軟件開發工具包),以啟動自定義 zk-Rollup 的初創公司將解決真正的業務需求,并通過提供開發工具箱、開發人員服務、排序器服務和支持基礎設施,成為有價值的企業。
針對特定用例并建立早期市場領先地位的專業硬件公司,最終會成為極具價值的公司。當英偉達通過專注于人工智能硬件而成為北美最有價值的半導體公司時,人工智能(AI)就是如此。當比特大陸、嘉楠以及 Whatsminer 通過專注于 ASIC 礦機成為獨角獸時,比特幣挖礦領域也是如此。設計和構建高效 ZKP 硬件加速器的公司,將遵循相同的軌跡。
ZKP 可用于創建跨鏈消息傳遞協議的有效性證明,跨鏈消息可以在目的鏈上快速驗證。這類似于在底層 L1 上驗證 zk-Rollup 的方式。但是,對于跨鏈消息傳遞,復雜性會更高,因為要驗證的簽名方案和密碼學函數在源鏈和目標鏈之間可能不同。Dark Forest 證明 ZKP 可以實現信息不完整的鏈上游戲。這對于設計更具互動性的游戲是至關重要的,在這些游戲中,玩家的行為在他們決定公開之前都是保密的。隨著鏈上游戲的成熟,我們預計 ZKP 將成為游戲執行引擎的一部分。對于成功將隱私功能集成到高吞吐量鏈上游戲引擎中的初創公司來說,機會是巨大的。ZKP 可以在身份空間中實現多個機會。它們可用于信譽或連接 Web 2 和 Web 3 身份。目前,我們的 Web 2 和 Web 3 身份是分開的。Clique 等項目通過使用預言機連接這些身份。ZKP 可以通過啟用 Web 2 和 Web 3 身份的匿名鏈接來進一步采用這種方法。這可以為那些可使用 Web 2 或 Web 3 數據證明特定領域專業知識的人啟用匿名 DAO 成員資格等用例。另一個用例是基于借款人的 Web 2 社會地位(例如 Twitter 關注者的數量)的無抵押 Web 3 貸款。Web 3 使假名在線賬戶能夠積極參與金融系統。從這個意義上說,Web 3 實現了巨大的財務包容性。隨著 Web 3 監管法規的增加,ZKP 可用于合規性而不會破壞假名。ZKP 可用于證明用戶不是受制裁國家的公民或居民。ZKP 還可用于證明合格投資者身份或任何其他KYC/AML要求。傳統金融債權融資通常用于支持成長中的初創公司以加速其增長或啟動新業務線,而無需籌集額外的風險資本。Web 3 DAO 以及假名公司的興起,為 Web 3 原生債權融資創造了機會。例如,使用 ZKP、DAO 或假名公司可以在不向貸款人透露借款人信息的情況下,根據其增長指標的證明,以具有競爭力的利率獲得非抵押貸款。金融機構通常將其交易歷史和風險敞口保密。由于區塊鏈鏈分析技術的不斷進步,當使用鏈上(即 DeFi協議)時,要滿足這一要求具有挑戰性。一個可能的解決方案是開發以隱私為重點的 DeFi 產品,保護協議參與者的隱私。一個正在嘗試實現的協議是 Penumbra 的 zkSwap。此外,Aztec 的 zk.money 通過模糊用戶參與透明 DeFi 協議,提供了一些隱私 DeFi 賺錢機會。通常,成功實現高效且注重隱私的 DeFi 產品的協議,可確保機構參與者的大量交易以及收入。Web 3 推送用戶對其數據的所有權,例如瀏覽歷史記錄、私人錢包活動等。Web 3 還支持為用戶的利益將這些數據貨幣化。由于數據貨幣化可能與隱私相矛盾,ZKP 可以在控制個人數據的哪些方面可透露給廣告商和數據聚合商方面發揮重要作用。如果與正確的實體共享,我們的很多私人數據可能會產生很大的影響。個人健康數據可通過眾包來幫助研究人員開發新藥。私人財務記錄可以與監管機構和監督機構共享,以識別和懲治腐敗。ZKP 可以實現此類數據的私有共享和貨幣化。ZKP 可以催生去中心化的情報組織。在這些情況下,情報運營商、數據偵探以及間諜可以成為網絡的一部分,而無需相互交流或了解。參與者可以使用 ZKP 來證明對某些情報數據的了解,然后再接受私人支付以換取這些數據。這樣的系統還可以促進協作和可組合的方式來豐富或解釋收集的數據,同時維護參與者的隱私。隨著 DAO 和鏈上治理的普及,Web3 正在向直接參與的民主靠攏。當前治理模式的一個主要缺陷是參與的非隱私性。ZKP 可能是解決這個問題的基礎。治理參與者可以投票,而不必透露他們的投票情況。此外,ZKP 可以將治理提案的可見性限制為對 DAO 成員可見,從而允許 DAO 建立競爭優勢。
ZKP 技術是 Web 3 領域最具創新性的技術之一,它為突破性協議和公司提供了多種機會。在 Alliance,我們希望成為這一運動的核心部分,我們正在尋求支持和資助創始人朝著這個方向發展。作者感謝 Shumo Chu、Carter McAlister 以及 Adam Porter 對本文的反饋。
-
零知識證明的硬件加速:
https://www.paradigm.xyz/2022/04/zk-hardware
-
去中心化的速度:零知識證明的進步:
https://a16z.com/2022/04/15/zero-knowledge-proofs-hardware-decentralization-innovation/
-
Zk-SNARKs:區塊鏈上的可更新設置:
https://iohk.io/en/blog/posts/2022/09/01/zk-snarks-updatable-setups-on-the-blockchain/
原文:
https://medium.com/alliancedao/zkps-in-web-3-now-and-the-future-21b459348f29
**本文僅代表原作者觀點,不構成任何投資意見或建議。-END-
【發布文章僅為傳播更有價值的信息,文章版權歸原作者所有,其內容與觀點不代表Unitimes立場。本微信平臺出現的圖片均在互聯網收集而來,版權歸版權所有人所有,若版權者認為其作品不宜供大家瀏覽或不應無償使用,請添加微信unitimes2018聯系我們,本平臺將立即更正。】
文章轉發自Unitimes微信公眾號,版權歸其所有。文章內容不代表本站立場和任何投資暗示。