比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

如何通過 ZKP 構建 Web3 產品?_ZKP

Author:

Time:1900/1/1 0:00:00

來源:《HowtoLeverageZKPsasaWeb3Builder》

作者:MohamedFouda、QiaoWang

編譯:深潮TechFlow

零知識證明正在成為未來十年根本性變革的技術。ZKP在Web3內外都有著應用。

在Web3中,ZKP正在解決兩個主要瓶頸——可擴展性和隱私:

在可擴展性方面,幾個ZKRollups,又名ValidityRollups,正在推出以將以太坊擴展10-100倍,同時通過降低交易成本來改善用戶體驗。

在隱私方面,ZKP正從私密交易和交易混合時代擴展到更復雜和有用的領域,例如私密鏈上交易、身份和經過驗證的憑據。

關于ZKP有很多內容,包括我們自己對ZKP空間未來發展的愿景以及為實現這一未來所需的創業公司。然而,建設者如何從ZKP中受益以及從哪里開始仍存在一定的教育差距。

本文旨在通過匯集重要資源來填補這一差距,指導開發人員了解ZKP在實踐中的工作原理以及如何在其應用中使用ZKP。

ZKP在實踐中是如何運作的?

ZKP實際上是通過證明者向驗證者證明他們知道特定信息而不泄露該信息的一種技術。

在實踐中,至少在Web3中,ZKP的使用方式通常不同。大多數應用程序不使用ZKP來顯示專有數據的所有權。相反,ZKP被用于通過可驗證性提高信任。我們預計ZKP將成為未來實體之間標準的信任模型。原因是ZKP的兩個主要組成部分——證明和驗證——正在以一種使信任尋求實體與其用戶之間具有獨特互動方案的方式被分離。

ZKP的主要組成部分是證明生成和證明驗證。

證明生成涉及運行大量計算以生成執行過程的證明,這個證明用于消除對證明者的信任需求。

相反,任何人都可以在證明上運行一個簡單的過程來驗證證明者運行過程的完整性。

這種心理模型允許企業運行一個流程,并允許客戶信任所述流程的執行而不需要重復執行該流程。

讓我們舉個例子:

假設你訂閱了OpenAI的付費計劃,使用他們的大型語言模型之一,例如chatGPT。您必須相信OpenAI確實運行了您請求的特定模型,而不是用更簡單、效率更低的模型替換它。如果OpenAI可以向您發送少量數據,證明它確實運行了您請求的特定模型呢?此外,想象一下,假如每個專有SaaS產品都能為其消費者提供這樣的保證,會發生什么?

幣情觀察室 | 我是如何從650賺到100個比特幣的?:4月8日 19:00,金色盤面邀請實盤大V 幣圈棟哥做客金色財經《幣情觀察室》直播間,將分享《我是如何從650賺到100個比特幣的?》,敬請關注,掃描下圖二維碼即可觀看直播![2020/4/8]

這種信任最小化是ZKP的承諾。例如,在Web2中,ZKP可以通過確保所有客戶使用相同的算法來保證公平的信用評估或公平的保險索賠處理。ZK技術還沒有到達那個水平,因為運行ZKP過程仍然相對昂貴。然而,我們看到像ModulusLabs這樣的公司正在構建一種使用ZKP證明AI推斷的技術。

ZKP的技術要求

在技術層面上,一個高效的ZKP系統需要同時實現以下目標:

降低證明系統的計算復雜度和延遲,即讓證明者可以高效生成證明并在最短時間內將其傳遞給驗證者。

實現小型證明大小。

實現高效驗證,即最小化驗證成本。

除了這些主要目標外,根據用例可能需要一些次要目標,例如:

在隱私焦點應用程序中保護數據的隱私,這意味著證明系統可以處理未在生成的證明中泄露的私有輸入。

盡可能避免信任設置以簡化安全假設。

實現證明遞歸以進一步減少驗證成本,即單個驗證可以驗證多個證明,并在不同證明之間分攤成本。

同時實現所有這些目標是具有挑戰性的。根據用例,ZKP系統會優先考慮其中一些目標。例如,SNARK證明系統可以產生簡潔的證明,但證明復雜度會增加。另一方面,STRAK具有高效的證明者,但證明大小可能比SNARK大100倍。zk的研究人員不斷努力推動技術前沿,通過發明新的證明機制同時提高三個指標。

不同證明系統的比較

對于構建與ZKP相關產品的開發人員來說,要考慮的一個重要問題是如何選擇底層證明系統,有幾個ZKP證明實現,還有更多處于研發階段。

ZKP后端選擇不僅取決于技術方面,而且還取決于目標產品。以為Rollup選擇證明系統為例。Rollup的關鍵特征,例如提款時間、交易成本,甚至去中心化程度,將主要由ZKP證明架構決定,如下表所示。

在Rollup中,證明發生在業務方面,即通過Rollup運營商。現有的ZKRollups,例如Starknet和Zksync當前使用集中的證明者。因此,他們可以將證明委托給專門的證明者,即證明作為服務公司,以提高證明者性能。通過專業化和利用優化的軟件/硬件,對于與以太坊兼容的zkEVMs,證明時間可以縮短到幾分鐘。例如,PolygonzkEVM的證明時間目前約為2分鐘。幾分鐘的證明時間,即提款延遲,對于Rollup來說是可接受的。

大咖零距離 | 如何使用火箭戰法2天盈利20倍:3月19日18:00,金色盤面邀請實盤大V莊見愁做客金色財經《大咖零距離》直播間,將分享《如何使用火箭戰法2天盈利20倍》,敬請關注,欲進群觀看直播掃描海報二維碼報名即可![2020/3/19]

另一方面,一些用例需要證明發生在用戶端,生成私人交易,如TornadoCash交易。為了確保合理的用戶體驗,證明時間不能超過幾秒鐘。此外,由于用戶在使用錢包或在資源受限的設備上在瀏覽器中執行這些計算,所以選擇具有快速證明者的證明系統非常重要。一個很好的例子是Zcash在2018年Sapling升級中將其證明系統更改為Groth16,這是提高屏蔽交易速度的一個主要因素。

比較證明系統

通常,很難獲得不同證明系統性能的準確比較,特別是對于證明和驗證速度,因為它們取決于庫實現、選擇的加密曲線和使用的硬件。

Mina團隊在這篇文章中提供了一個很好的高級比較。還有一些用于不同的ZK系統的努力創建基準測試工具。

這個表格提供了SNARK實現的良好比較,并介紹了它們在速度方面從Groth16到Plonk再到Halo的進展情況。盡管有所進展,STARK仍然在證明速度方面勝出,但代價是更大的證明大小。該表還討論了證明系統的兩個重要特征:設置無信任性和電路可編程性。

設置無信任性部分討論了電路創建的預處理階段。一些證明技術需要通過多方計算參與,在預處理階段生成秘密隨機數。如果單個參與者是誠實的,則生成的隨機數確實是秘密的,預處理部分是安全的。這個過程稱為“信任設置”,因為它信任至少一個預處理階段的參與者是誠實的。需要信任設置被認為是一種弱點。在這個意義上,STARK和新的SNARK系統具有優勢。然而,一些項目將信任設置作為吸引社區參與的工具,例如Aztec和Manta。

可編程性部分討論了證明系統是否可以證明任意計算。SNARK通常可以對任何計算進行編程。然而,證明效率取決于所執行的計算類型。對于某些類型的STARK系統來說,這并不是適應不同類型計算的容易的情況。

如何為您的產品利用ZKP?

建立一個能夠從ZKP技術中受益的產品并非易事,需要建立正確的心理模型。

聲音 | 光大證券彭文生:Libra的發展關鍵要看監管機構如何在支持創新和監管之間的平衡:近日,光大集團研究院副院長、光大證券全球首席經濟學家彭文生表示,和比特幣等代幣相比,Libra尚未問世引來如此高的關注度,一是數字經濟下科技巨頭平臺公司和貨幣的網絡規模優勢有協同效應;二是Libra作為一攬子貨幣的衍生品,屬于數字貨幣中的穩定幣。而比特幣等代幣僅僅是數字資產,其未來價值取決于使用者對其的“信仰”,故其價格波動幅度會比較大。他還指出,未來Libra要成為貨幣,在起步階段,支付手段可能是突破口;但發展到一定規模后,儲值工具的作用更重要,是推動Libra能成為一種真正貨幣的主要力量。Libra現在是0,按常理起步會較慢,但不能低估其社區網絡帶來的規模效應。不過Libra的發展關鍵還要看監管機構如何在支持創新和監管之間的平衡。[2019/7/30]

本節嘗試為開發人員提供一個框架,以選擇最佳方法來將ZKP集成到其產品中。根據產品需求、生態系統對齊和性能要求,將有幾個工具可供開發人員選擇。一些開發人員將能夠重復使用其現有的代碼,而另一些則必須學習新的領域特定語言來創建其應用程序。

以性能為主的zk應用程序

開發人員可以使用ZKP通過將大部分應用程序計算脫離鏈外,并僅在鏈上發布證明來實現更高的吞吐量或更低的費用。在這種情況下,有多個框架可供選擇。每個框架提供了一組工具,用于編譯應用程序代碼,生成ZK電路,實現ZK證明者,并為目標生態系統生成驗證器代碼。我們可以將這些框架分為兩個主要類別:以EVM為中心和非EVM。

以EVM為主的ZK框架

這組ZK框架與以太坊保持一致,作為Rollup建立在其之上。交易和應用程序在Rollup的ZK虛擬機上執行。證明由專門的證明者生成,并發布到L1,由智能合約驗證。

該組的第一個子集實現了與EVM兼容的zkVM,因此稱為zkEVM。這些的目標是通過允許以太坊開發人員使用Solidity和熟悉的工具而將摩擦最小化。它們通過創建適用于EVM的電路和證明器來抽象ZK復雜性。PolygonzkEVM和Scroll都包括在此桶中。

該組的第二個子集是不本地兼容EVM的zkVM。盡管不兼容,此組通過創建中間層來允許開發人員使用Solidity,從而減少了摩擦。Vitalik稱這個類型為type-4zkEVM。zkSyncEra和Starknet是這個組的好例子。使用Type-4zkEVM的優點是可以提供比兼容EVM類型更高的吞吐量和更低的費用。這使得它們適用于構建高吞吐量的應用程序,例如鏈上游戲或高性能金融產品,例如訂單簿DEXs。

聲音 | 奧斯汀市雇員退休制度CIO:應關注加密資產如何適應現有的投資組合:據coindesk消息,今日在彭博社舉辦的Institutional Crypto會議上,美國德州奧斯汀市雇員退休制度首席投資官(CIO)David Veal表示:“我不確定加密資產是否需要被定位為可替代資產,我們應該看看它如何適應現有的投資組合。加密資產可以通過使如此多事物獲得流動性來消除非流動性。我們的投資組合多樣化正慢慢受到侵蝕,而加密可以帶來回報。”[2018/10/16]

為type-4zkEVM構建應用程序需要更多的開發人員努力,因為有關于可以使用的Solidity代碼的限制。或者,開發人員可以決定學習另一種語言,例如Cairo,以針對這些框架開發原生應用程序。

非EVMzk框架

另一種框架類型是那些不針對EVM架構的框架,因為它們針對競爭的L1或通用計算。盡管如此,它們仍然可以通過專門的SDK用于在以太坊上構建應用程序特定的zkRUs。

這里有兩種方法:

開發人員使用高級語言編寫代碼,該代碼針對特定的VM架構,稍后編譯為ZK電路。

開發人員使用領域特定語言,例如Circom,直接生成ZK電路。

前一種方法更適合開發人員,但通常會導致更大的電路,需要更長的證明時間。

專注隱私的ZK應用程序

使用ZKP開發隱私重點的應用程序通常對開發人員來說是一項更具挑戰性的任務。與可伸縮性重點的解決方案相比,使用ZKP開發隱私重點的解決方案的工作較少,使得學習曲線更加陡峭。現有的隱私應用主要關注支付隱私,并且不允許太多的可編程性。將隱私和可編程性結合起來是一項具有挑戰性的任務。隱私重點的應用程序遵循以下兩個實現選項之一:

1.在通用L1之上構建

要在L1上啟用隱私支付應用程序,ZKP邏輯需要被構建為智能合約。該應用程序常常使用ZKP來創建私有資本池。用戶使用這些私人池作為混合器,為未與其原始錢包相關聯的新錢包提供資金。其中著名的例子是TornadoCash。對于這些應用程序,證明由用戶執行,驗證發生在鏈上。因此,使用具有快速證明、簡單驗證計算以及不泄露任何用戶信息的ZKP系統至關重要。

環球銀行金融電信協會與七家中央證券存管機構簽署一項協議備忘錄,以研究區塊鏈如何用于交易后流程:環球銀行金融電信協會(SWIFT)與七家中央證券存管機構簽署了一項協議備忘錄,以研究區塊鏈如何用于交易后流程,如代理投票等。這七家機構分別是美國納斯達克 Nasdaq Market Technology、俄羅斯國家結算存管公司(National Settlement Depository)、瑞士SIX Securities Services,南非Strate,阿布扎比證券交易所,阿根廷的Caja de Valores和智利的Depores de Central Valores。[2018/1/16]

由于通用鏈并未針對昂貴的加密計算進行優化,驗證成本通常對主流用戶來說很昂貴,限制了這些應用程序的采用。將私人事務應用程序移動到Rollup以減少燃氣費用的直覺解決方案可能會帶來挑戰。在這種情況下,私人交易證明需要包含在Rollup證明中,即證明遞歸,而目前Ethereum上的通用zkRollup無法實現證明遞歸。

2.構建重點隱私的新L1/L2

為了為私人交易和應用程序降低成本,開發人員不得不構建一個新的以隱私為核心的L1或專門的Rollup。大多數隱私重點鏈仍無法支持通用計算,并專注于專業用途。例如,Penumbra和Renegade專注于私密交易。Aleo正在通過創建專用語言Leo來編譯用高級語言編寫的程序以生成對應的ZK電路,從而構建用于私有應用程序的框架。應用程序的交互是在鏈外完成的,僅將證明作為私有交易發布到鏈上。Aztec正在朝著類似的方向發展,但作為EthereumL2。他們最近宣布將重點放在創建使用Noir作為默認智能合約語言的廣義私人Rollup上。

ZK加速

在開發人員選擇了適合其應用程序的正確ZK開發框架并選擇了底層證明系統之后,下一步是優化應用程序的性能,尋找改善用戶體驗的方法。這通常歸結為提高證明者的性能和延遲。正如前面討論的那樣,對于Rollup,縮短證明時間意味著將證明提交到L1的延遲較短,因此取款延遲也較短。對于用戶生成的證明,即隱私應用程序,更快的證明意味著更短的交易生成時間和更好的用戶體驗。

正如我們在之前的文章中討論過的那樣,加速證明過程通常需要軟件優化和專用硬件。在過去的幾個月中,專用硬件競爭加劇,有多家公司進入了這場競賽。在本節中,我們將討論ZK加速的當前情況以及開發人員可以從這種競爭中獲益的方式。

證明即服務?

到目前為止,執行ZK證明工作的標準模型是使用具有多核CPU和/或GPU的強大服務器,并利用經過優化的開源庫來提高證明性能。這種模型增加了開發人員需要維護證明基礎設施的運營復雜性。解決這種復雜性并允許更好的專業化的更好模型是證明即服務模型。在這個模型中,需要為某個ZK電路或某個用例生成證明的實體連接到運行專有軟件執行證明計算的提供者。一些公司可以專門為特定用例生成證明。例如,Axiom構建了一個系統,用于在以太坊上生成Halo2證明的歷史數據。其他參與者可以專注于特定的ZKP后端,例如Plonk或Halo2,并構建專有的優化,以實現更快速和更高效的證明計算。=nilFoundation正在進一步推廣這個概念,通過構建一個ZKP計算市場。在這個ProofMarket中,證明買家提交要生成的ZKP的出價,由證明生成器進行匹配和履行。Mina也有類似的概念,稱為Snarketplace,但僅限于Mina網絡所需的SNARK證明。

硬件加速

隨著需要高效生成zk證明的幾個L1和Rollup的推出,生成這些證明并賺取相應獎勵的競爭將變得日益激烈。如果這些鏈和L2成功吸引了大量用戶,證明生成可能會發展成為類似于比特幣挖礦競爭的一種軍備競賽。有不同的ZKP加速方法,即GPUvsFPGAvsASIC。這篇來自AmberGroup的文章對這些不同選擇和面臨的每種實現選項的挑戰進行了很好的討論。然而,從長遠來看,為證明生成生產最有效的ASIC的公司將在以zk為重點的鏈上擁有顯著的經濟優勢。

值得注意的是,在ZK證明競爭和比特幣挖礦之間存在一個重要區別值得強調。在比特幣中,挖掘過程基于簡單計算,即SHA256哈希。這個計算是固定的,不容易改變,因此重點放在芯片設計創新和進入最先進的半導體節點的機會上。在ZKP領域,不同證明協議之間存在顯著的分裂。即使使用相同的證明后端,例如Plonk,目標電路大小也可能導致ASIC性能的差異。這種比特幣挖礦和ZKP生成之間的區別可能導致多個獲勝者,每個專業化于不同的ZK后端。

有多個參與者進入ZK特定芯片領域。每個參與者專注于提高證明生成的兩個主要操作之一:多標量乘法和數論變換。最后一個走出隱秘狀態的參與者是Cysic,在ETHDenver期間宣布了其600萬美元的種子輪融資。Cysic專注于通過使用FPGA加速MSMs。FPGA的靈活性可以使它們支持不同的ZK系統。這種方法類似于Ulventanna,該公司在1月份宣布了1500萬美元的種子輪融資。ZK芯片開發空間中的其他參與者包括Ingonyama,發布了一個名為Icicle的庫,可在GPU上加速MSM和NTT計算的計算,以及Accseal、Snarkify和Supranational。除了這個列表,Web3空間中的知名參與者還有其他隱秘公司和研究努力。后者的例子包括JumpCrypto的CycloneMSM實現,用于使用FPGA加速MSM計算,以及JaneStreet的FPGA實現,用于加速MSM和NTT。

由于ZKP加速的重要性越來越高,需要公平評估不同實現的競賽正在成為推動該領域前進的重要場所。2022年的比賽獎金超過400萬美元。

隨著需要高效生成ZK證明的幾個L1和Rollup的推出,生成這些證明并賺取相應獎勵的競爭將變得日益激烈。如果這些鏈和L2成功吸引了大量用戶,證明生成可能會發展成為類似于比特幣挖礦競爭的一種軍備競賽。有不同的ZKP加速方法,即GPUvsFPGAvsASIC。這篇來自AmberGroup的文章對這些不同選擇和面臨的每種實現選項的挑戰進行了很好的討論。然而,從長遠來看,為證明生成生產最有效的ASIC的公司將在以ZK為重點的鏈上擁有顯著的經濟優勢。

值得注意的是,在ZK證明競爭和比特幣挖礦之間存在一個重要區別值得強調。在比特幣中,挖掘過程基于簡單計算,即SHA256哈希。這個計算是固定的,不容易改變,因此重點放在芯片設計創新和進入最先進的半導體節點的機會上。在ZKP領域,不同證明協議之間存在顯著的分裂。即使使用相同的證明后端,例如Plonk,目標電路大小也可能導致ASIC性能的差異。這種比特幣挖礦和ZKP生成之間的區別可能導致多個獲勝者,每個專業化于不同的ZK后端。

有多個參與者進入ZK特定芯片領域。每個參與者專注于提高證明生成的兩個主要操作之一:多標量乘法和數論變換。最后一個走出隱秘狀態的參與者是Cysic,在ETHDenver期間宣布了其600萬美元的種子輪融資。Cysic專注于通過使用FPGA加速MSMs。FPGA的靈活性可以使它們支持不同的ZK系統。這種方法類似于Ulventanna,該公司在1月份宣布了1500萬美元的種子輪融資。ZK芯片開發空間中的其他參與者包括Ingonyama,發布了一個名為Icicle的庫,可在GPU上加速MSM和NTT計算的計算,以及Accseal、Snarkify和Supranational。除了這個列表,Web3空間中的知名參與者還有其他隱秘公司和研究努力。后者的例子包括JumpCrypto的CycloneMSM實現,用于使用FPGA加速MSM計算,以及JaneStreet的FPGA實現,用于加速MSM和NTT。

由于ZKP加速的重要性越來越高,需要公平評估不同實現的競賽正在成為推動該領域前進的重要場所。2022年的比賽獎金超過400萬美元。

有用的教育資源

在本節中,我們匯總了一些教育資源,幫助開發人員了解ZKP空間。這絕不是一個詳盡的列表,因為這個主題上有很多優秀的內容。可以在這里和這里找到包含所有zk資源的綜合列表。這是建立一個友好的方式,讓開發人員了解這個領域的努力。

對于那些有興趣了解ZKP基礎知識及其工作原理的人,第一個要檢查的資源之一是ZKHack的ZKWhiteboardSessions。特別是DanBoneh的三個入門會議對于具有一定數學理解的任何人來說都是高層次的。系列的其余部分涉及該領域的特定主題。

對于想直接使用ZK工具的開發人員,這個優秀的初學者指南非常實用。此后,PoseidonLabs創建了一個應用ZK研討會,引導開發人員使用Circom和Hardhat構建ZK應用程序。針對其他ZK語言和框架的其他研討會包括使用Noir進行的這個研討會和使用RiscZero進行的這個研討會。

結論

作為對ZKP潛力的信仰者,Alliance努力幫助更多的構建者進入這個領域,并為他們提供資金和指導支持。在Web3中,ZKP已經解決了妨礙主流采用的可擴展性和隱私痛點。在Web2中,ZKP可以將最小化信任的精神帶到包括SaaS、保險和信用評分在內的廣泛業務范圍內。本文旨在幫助構建者將ZKP集成到他們的產品中。本文引導構建者通過不同的規劃ZKP集成階段,涵蓋實現選項以及部署后的性能改進。

Tags:ZKPROLROLLARKZKPEPEAITROLLSTROLLER幣Sparkpoint

火幣下載
dappOS 已集成 GMX、Benqi、Perpetual 等 15 個 dapp,總 TVL 已超 300 萬美元_POS

由ChainCatcher和RootData主辦的“Zhen”系列活動第二期今日在香港舉行,本期ChainCatcher邀請多位業內Builder與投資者圍繞“新周期與新敘事”的主題共同探討.

1900/1/1 0:00:00
萬物研究院:OpenAI 創始人要向 10 億人空投的 Worldcoin 是什么?_OIN

作者:陳劍Jason,萬物研究院隨著OpenAI的ChatGPT發布后掀起了一波AI熱潮,但與此同時OpenAI創始人Sam正在謀劃另一起也會發生在上半年的Crypto熱潮:WorldCoin.

1900/1/1 0:00:00
俄羅斯加密交易所 Bitzlato 現允許用戶最多提取 50% 比特幣_LAT

據Bitcoin.com報道,俄羅斯加密交易所Bitzlato的用戶現在可以提取部分資金。自周一以來,其客戶可以使用其一半的比特幣余額.

1900/1/1 0:00:00
Beosin:MEV 機器人損失 2500 萬美元攻擊事件簡析_ETH

據區塊鏈安全審計公司Beosin旗下BeosinEagleEye平臺監測顯示,MEV機器人遭受惡意三明治攻擊,損失金額約2500萬美元,Beosin安全團隊對事件進行了簡析.

1900/1/1 0:00:00
zkSync Era 主網生態有哪些即將爆發的明星項目?_SYN

作者:ChainCatcherzkSyncEra主網上線以來吸引了大量加密用戶的關注,截至4月10日,zkSyncEraTVL已超過1.76億美元.

1900/1/1 0:00:00
IOSG Ventures:從存儲到計算,去中心化存儲復興_WEAVE

撰文:Leo,IOSGVentures 概要: Arweave協議設計從技術上保證永久存儲的實現,更適用于高價值數字資產,如NFTmetadata的保存數據存儲之上,更需要計算.

1900/1/1 0:00:00
ads