原文標題:ZKPs in Web 3: Now and the Future
原文作者:Mohamed Fouda、Qiao Wang
原文編譯:ChinaDeFi
原文編譯:ChinaDeFi
原文標題:
原文作者:Mohamed Fouda、Qiao Wang
原文編譯:ChinaDeFi
原文編譯:ChinaDeFi
零知識技術( 簡稱ZK) 是一種使能技術,它不僅將改變Web3,還將改變其他行業。它是一種可以通用的技術,具有大量的用例。我們正處於弄清這項技術所能實現的所有用例的早期階段。一些明顯的ZK 用例已經有了實際的應用程序,如啟用交易隱私和數據壓縮,即Rollup。然而,要使ZK 獲得主流採用,仍然需要許多潛在的用例和技術進步。
在本文中,我們將首先回顧ZKP 的不同應用。然後會討論什麼可以使這項技術的下一階段成為可能,以及關於一些可以從這項技術中受益的初創公司的想法。
ZKP 應用程序
零知識證明(ZKP) 自發明以來就在加密行業中找到了強大的立足點。 ZKP 確實有一些「魔法」,使這項技術非常令人興奮。在較高的級別上,ZKP 允許實體向世界的其他部分證明他們知道一條信息,或者他們已經正確地完成了一項任務,而無需透露該信息或顯示任務執行的細節。 ZK 的神奇數學允許我們通過檢查生成的ZKP 來信任知識或信任執行已完成。因此,ZKP 的第一個也是最一致的用例是關注隱私的加密網絡。 ZKP 還用於在以太坊L1 上提供以太坊L2 交易的有效性證明,以引入ZK-Rollup 的概念。此外,ZKP 還在不同的項目中發現了其他小眾應用。
關注隱私的支付和協議
ZKP 原生的會保護隱私,特別是在去中心化的網絡中,缺乏一個可以作為真相來源的中心化機構。 ZKP 允許Web3 用戶( 證明者) 向網絡驗證者( 驗證者) 證明他們的交易是有效的,同時他們不需要透露交易細節,如交易金額,發送者或接收者地址。
ZKP 最初是為了支持Zcash 網絡中的隱蔽功能,即私人支付,其後又擴展到其他網絡。實施私人支付網絡包括:
關注隱私的L1:Zcash、Horizon、Aleo 和Iron Fish
通用鏈上的隱私智能合約:Tornado Cash
注重隱私的L2:Aztec
Mina
ZK-Rollup 驗證
Filecoin
ZKP 的另一個主要用例是在底層L1 上生成Rollup 有效性證明。通用Rollup 決定不用ZKP 的隱私特性,這樣就可以優化吞吐量,即證明更多的TX。在這種權衡中,ZKP 僅作為L2 交易執行正確性的證明。
Celo Plumo
由於一些通用函數不能被有效地證明,生成ZKP 來證明任意智能合約的正確執行是很困難的。解決這個問題需要專門的VM,這些VM 可以使用底層ZK 電路有效地進行驗證。由於這種複雜性,ZK-Rollup 最初只支持支付或單個應用程序,例如,可以很容易地生成ZKP 的DEX。這裡的例子包括ZKSync 1.0 和Loopring。之後,通用的zkEVM 實現開始出現在市場上,包括Starknet、zkSync 2.0、Polygon zkEVM 和Scroll。目前,所有ZK-Rollup 都在以太坊上,但也有可能在包括比特幣在內的其他鏈上實現ZK-Rollup。然而,實施比特幣Rollup 將需要改變比特幣操作碼和硬分叉鏈,這通常不受比特幣社區的歡迎。
Dark Forest
其他ZKP 應用程序
除了關注隱私的應用程序和Rollup 之外,我們還在其他區塊鏈協議中發現了其他應用程序。本節將介紹這些用例。
Mina 使用ZKP 將區塊鏈狀態壓縮到一個很小的尺寸(~22 KB)。為了實現這一點,Mina 使用遞歸ZKP,即其他ZKP 的ZKP。當在Mina 網絡中生成一個區塊時,ZK-SNARK 用於生成該區塊的證明,以確保其有效性。當新區塊引用以前的區塊時,新區塊的ZKP 會驗證所有以前的區塊,同時保持恆定的大小。
Filecoin 使用ZKP 來確保存儲提供者正確地存儲了他們聲稱要存的數據。這個過程稱為複制證明(PoReb)。在這個過程中,存儲提供者生成ZKP 來證明它們存儲的是數據的唯一副本,也就是說,沒有引用由另一個提供者維護的副本。此外,由於證明的大小比存儲的數據小得多,使用ZKP 減少了存儲提供者的帶寬需求。
Celo Plumo 使用ZKP 來創建可以在手機和其他資源有限的設備上使用的超輕型網絡客戶端。儘管客戶端是輕量級的,但它保證了所訪問狀態的正確性。
Dark Forest 是ZKP 遊戲領域中最受歡迎的應用。儘管ZKP 的使用符合隱私用例,但把它用於創建不完全信息遊戲的應用確實是比較獨特的,超越了ZKP 在支付網絡中的金融應用範圍。
ZKP 及其應用的發展軌跡
在2016 年之前,ZKP 只是一個研究課題,只在少數學術圈子內被討論。當Zcash 創始團隊創建了ZKP 變體ZK-SNARK 的第一個可生產實現,以支持Zcash 網絡中的屏蔽/ 私人交易時,這一切都改變了。有了真實的用例,對ZKP 的興趣也就愈加濃鬱,從而也產生了更好的ZKP 變體,這也成為第一節中討論的許多項目的基礎。然而,該技術要實現主流採用還需要進一步的ZKP 開發。
為了了解如何進一步改進這項技術,我們可以藉鑑類似的技術,如人工智能。在許多方面,ZKP 技術類似於人工智能技術,預計也將遵循類似的軌跡。和ZKP 一樣,人工智能一開始也是一項很有前途的技術,可以解決很多問題。然而,最初的人工智能算法在能力上受到限制,計算複雜度遠遠超過了現有硬件的能力。這使得人工智能應用的開發和使用變得緩慢和不切實際,使得人工智能就局限在了研究實驗室裡。通過發明DNN 等新架構並利用GPU 來提高執行速度,現在正在逐步改進。這最終帶來了一些突破,比如2012 年的AlexNet,它以巨大的優勢贏得了最著名的計算機視覺比賽ImageNet。
AlexNet 是人工智能時代的開始,催生了當前的人工智能應用程序,如GPT-3, Dall.E 2 和Stable Diffusion。
ZKP 今天的狀態類似於AI 早期的狀態,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 刺激了多種實現的開發,這些實現被多種Web3 協議(例如Aztec、Mina 和Celo)使用。
優化執行引擎
ZKP 的一個主要限制是計算的複雜性,這導致了證明時間過長。例如,最近Polygon 發布的zkEVM 實現了在64 核服務器上用5 分鐘生成500k gas 計算的證明。提高ZKP 驗證時間是ZKP 技術主流化的關鍵。與AI 類似,優化軟件執行引擎和使用專用硬件都是實現這一目標的必要條件。
優化軟件
許多ZKP 生成操作是大規模並行的,這也就意味著並行處理,例如GPU,可以加速ZKP 的計算。專用的GPU 庫( 如CUDA) 可以用於加速Nvidia GPU 上ZKP 的計算。由於每個項目都使用不同的ZKP 算法,因此有幾個項目正在嘗試在內部開發這種算法。這裡顯著的例子是Filecoin 對Groth16 算法的實現,該算法使用GPU 來加速證明過程。另一個例子是Edgeswap 使用GPU 將PLONK 的證明時間縮短了75%。
專用硬件
由於GPU 通常使得ZKP 驗證時間的改進有限,在這種情況下,我們的另一種選擇是使用專用硬件,如FPGA 或ASIC。 FPGA 通常被認為是在製造專用芯片( 即ASIC) 之前的硬件原型平台。 FPGA、或者結合了GPU 和FPGA 的混合解決方案,可以在中短期內,在加速中心化網絡和以隱私為重點的網絡的ZKP 方面發揮重要作用。然而,如果ZKP 技術發展到我們預期的水平,ASIC 將最終贏得這個市場。目前,ZKP 的硬件加速還沒有得到充分解決,這可能是因為ZKP 算法的多樣性和碎片化。然而,我們相信,有了正確的商業模式,一些初創公司可以專注於開發和貨幣化這部分技術堆棧。
軟件抽象層
ZK 開發棧還沒有AI 開發棧那麼完善。然而,構建這些抽象需要一些努力。在堆棧的底部存在低級ZKP 庫,如PLONK 和STARK。在這一層之上,像Noir 這樣的高級語言試圖抽像出底層的ZK 密碼學,並幫助應用程序開發人員專注於應用程序邏輯。 Circom 是另一種流行的ZKP 語言,它位於這兩層之間,因為它既可以用於創建複雜的ZK 後端,也可以用於開發基於ZKP 的應用程序。
ZKP 工具
Web3 中ZKP 抽象的另一個例子是StarkWare 的Cairo 語言,它允許開發人員實現在底層使用STARK 證明的通用智能合約。為了提供進一步的抽象,Nethermind 的Warp 工具允許Solidity 開發人員將他們的Solidity 代碼直接轉換為Cairo。使用Warp,可以將Uniswap V3 代碼轉換為Cairo,只需要對原始的Solidity 代碼進行最少的改動。
ZKP 工具
支持各種ZKP 後端和硬件環境,例如CPU 和GPU;
支持各種ZKP 後端和硬件環境,例如CPU 和GPU;
高級開發框架
抽象底層ZKP 後端的複雜性;
ZK-Rollup SDK
可進行高效的調試和測試;
ZKP 硬件加速器
ZKP 硬件加速器
提供具有示例和教程的豐富開發環境。
ZK-Rollup 越來越流行,可以為遊戲或高吞吐量的DeFi 協議啟用特定於應用程序的L2。在這個場景中,ZK-Rollup 主要進行執行和結算,而L1 將處理共識和數據可用性。然而,啟動特定於應用程序的ZK-Rollup 仍然非常複雜。我們相信,提供開發人員友好的SDK 來發布自定義ZK-Rollup 的初創公司將解決真正的業務需求,並可以通過提供開發工具箱、開發人員服務、測序器服務和支持基礎設施來成為有價值的企業。
ZKP 硬件加速器
ZKP 硬件加速器
瞄準特定用例並建立早期市場領先地位的專業硬件公司被證明是非常有價值的公司。當英偉達專攻人工智能硬件,成為北美最有價值的半導體公司時,人工智能領域就是如此。比特幣挖礦領域也是一樣,Bitmain、Canaan 和Whatsminer 通過專攻ASIC 挖礦成為獨角獸。設計和製造高效ZKP 硬件加速器的公司也很可能將遵循同樣的軌跡。
ZKP Web3 應用程序
ZK 橋和互操作性
ZKP 可用於為跨鏈消息傳遞協議創建有效性證明,其中跨鏈消息可以在目標鏈上被快速驗證。這類似於在底層L1 上驗證ZK-Rollup 的方式。然而,對於跨鏈消息傳遞,由於要驗證的簽名方案和加密函數在源鍊和目標鏈之間可能不同,因此復雜性更高。
ZK 鏈上游戲引擎
Dark Forest 證明了ZKP 可以使信息不完整的鏈上游戲成為可能。這對於更具互動性的遊戲設計至關重要,因為在這些遊戲中,玩家的行為是保密的,直到他們決定將其公之於眾。隨著鏈上游戲的成熟,我們希望ZKP 成為遊戲執行引擎的一部分。對於成功將隱私功能集成到高吞吐量鏈上游戲引擎中的初創公司來說,機會是巨大的。
身份解決方案
ZKP 在身份領域中擁有多個機會。它們可以用於信譽或連接Web2 和Web3 身份。目前,我們的Web2 和Web3 身份是分開的。 Clique 等項目通過使用預言機連接這些身份。通過啟用Web2 和Web3 身份的匿名鏈接,ZKP 可以將這種方法更進一步。這可以為那些使用Web2 或Web3 數據證明特定領域專業知識的人啟用匿名DAO 成員的用例。另一個用例是基於借款人的Web2 社會地位( 例如Twitter 追隨者數量) 的無擔保Web3 貸款。
用於法規遵從性的ZKP
Web3 使匿名在線賬戶能夠積極參與金融系統。從這個意義上說,Web3 實現了巨大的金融自由和包容性。隨著Web3 法規的增加,ZKP 可以用於遵從而不破壞匿名性的活動。 ZKP 還可用於證明投資者身份或任何其他KYC/AML 要求。
原生Web3 私人債務融資
TradeFi 債務融資通常用於支持成長型初創公司,以加速其增長或啟動新的業務線,而無需籌集額外的風險投資。 Web3 DAO 和匿名公司的興起為Web3 原生債務融資創造了機會。例如,通過使用ZKP、DAO 或匿名公司可以根據其增長指標的證明以具有競爭力的利率獲得無抵押貸款,而無需向貸方透露借款人的信息。
私人DeFi
金融機構通常不公開自己的交易歷史和風險敞口。由於鏈分析的不斷進步,當使用鏈上協議( 例如DeFi 協議) 時,要滿足這一點是具有挑戰性的。一種可能的解決方案是開發以隱私為中心的DeFi 產品,以保護協議參與者的隱私。一個正在嘗試實現這一願景的協議是Penumbra 的zkSwap。此外,Aztec 的zk.money 通過模糊用戶參與的DeFi 協議,提供了一些私人DeFi 的賺錢機會。一般來說,成功實現高效且注重隱私的DeFi 產品協議可以從機構參與者那裡獲得可觀的收入。
DAO 和鏈上治理正在被普及,當前治理模式的一個主要缺陷是參與的非隱私性。 ZKP 是解決這個問題的基礎。治理參與者可以在不透露投票方式的情況下進行投票。此外,ZKP 可以限制治理提案對DAO 成員的可見性,從而使得DAO 建立競爭優勢。
結論
原文鏈接
