來源:《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產品都能為其消費者提供這樣的保證,會發生什么?
Genesis Mining運營主管:無論交易費用如何,比特幣都是很好的價值存儲手段:針對比特幣及其區塊鏈網絡是否能在不需要第二層解決方案的情況下作為一種價值儲存手段被主流采用,比特幣采礦公司Genesis Mining運營主管Philip Salter表示,無論交易費用如何,比特幣都是一種很好的價值存儲手段。費用越高,能夠有效轉移的最小價值也就越大。然而,如今比特幣被更多地視為一種價值儲存手段,而非數字現金。Philip Salter認為,這種觀念的轉變仍可能引發一些問題。他說:“幾年前,由于交易費用實際上為零,所以1美元的存儲和傳輸是可行的。目前,發送一筆交易很容易花費15美元,所以再發送1美元是不明智的。如果這一趨勢繼續下去,由于更多的比特幣使用和更高的比特幣價格,它將禁止普通金額的價值轉移,它將只會成為非常大金額的有效價值存儲。”Salter補充道:“這就是為什么我認為第二層解決方案不僅對于比特幣作為貨幣的使用是必要的,而且對于比特幣作為價值儲存手段的長期可行性也是必要的。”(Cointelegraph)[2021/1/22 16:48:07]
這種信任最小化是ZKP的承諾。例如,在Web2中,ZKP可以通過確保所有客戶使用相同的算法來保證公平的信用評估或公平的保險索賠處理。ZK技術還沒有到達那個水平,因為運行ZKP過程仍然相對昂貴。然而,我們看到像ModulusLabs這樣的公司正在構建一種使用ZKP證明AI推斷的技術。
ZKP的技術要求
在技術層面上,一個高效的ZKP系統需要同時實現以下目標:
降低證明系統的計算復雜度和延遲,即讓證明者可以高效生成證明并在最短時間內將其傳遞給驗證者。
實現小型證明大小。
實現高效驗證,即最小化驗證成本。
除了這些主要目標外,根據用例可能需要一些次要目標,例如:
在隱私焦點應用程序中保護數據的隱私,這意味著證明系統可以處理未在生成的證明中泄露的私有輸入。
盡可能避免信任設置以簡化安全假設。
實現證明遞歸以進一步減少驗證成本,即單個驗證可以驗證多個證明,并在不同證明之間分攤成本。
同時實現所有這些目標是具有挑戰性的。根據用例,ZKP系統會優先考慮其中一些目標。例如,SNARK證明系統可以產生簡潔的證明,但證明復雜度會增加。另一方面,STRAK具有高效的證明者,但證明大小可能比SNARK大100倍。zk的研究人員不斷努力推動技術前沿,通過發明新的證明機制同時提高三個指標。
直播|Philip Gradwell:如何知道新一輪牛市是否到來:金色財經 · 直播主辦的金點Trend《以太坊之外的DeFi,香嗎? 》馬上開始!16:30準時開播!本場嘉賓來自Chainalysis的首席經濟分析師分享“如何知道新一輪牛市是否到來”,請掃碼移步收聽![2020/8/28]
不同證明系統的比較
對于構建與ZKP相關產品的開發人員來說,要考慮的一個重要問題是如何選擇底層證明系統,有幾個ZKP證明實現,還有更多處于研發階段。
ZKP后端選擇不僅取決于技術方面,而且還取決于目標產品。以為Rollup選擇證明系統為例。Rollup的關鍵特征,例如提款時間、交易成本,甚至去中心化程度,將主要由ZKP證明架構決定,如下表所示。
在Rollup中,證明發生在業務方面,即通過Rollup運營商。現有的ZKRollups,例如Starknet和Zksync當前使用集中的證明者。因此,他們可以將證明委托給專門的證明者,即證明作為服務公司,以提高證明者性能。通過專業化和利用優化的軟件/硬件,對于與以太坊兼容的zkEVMs,證明時間可以縮短到幾分鐘。例如,PolygonzkEVM的證明時間目前約為2分鐘。幾分鐘的證明時間,即提款延遲,對于Rollup來說是可接受的。
另一方面,一些用例需要證明發生在用戶端,生成私人交易,如TornadoCash交易。為了確保合理的用戶體驗,證明時間不能超過幾秒鐘。此外,由于用戶在使用錢包或在資源受限的設備上在瀏覽器中執行這些計算,所以選擇具有快速證明者的證明系統非常重要。一個很好的例子是Zcash在2018年Sapling升級中將其證明系統更改為Groth16,這是提高屏蔽交易速度的一個主要因素。
比較證明系統
通常,很難獲得不同證明系統性能的準確比較,特別是對于證明和驗證速度,因為它們取決于庫實現、選擇的加密曲線和使用的硬件。
Mina團隊在這篇文章中提供了一個很好的高級比較。還有一些用于不同的ZK系統的努力創建基準測試工具。
這個表格提供了SNARK實現的良好比較,并介紹了它們在速度方面從Groth16到Plonk再到Halo的進展情況。盡管有所進展,STARK仍然在證明速度方面勝出,但代價是更大的證明大小。該表還討論了證明系統的兩個重要特征:設置無信任性和電路可編程性。
直播|Higer :DeFi與ETH2.0如何引領下一個區塊鏈時代?:金色財經 · 直播主辦的金點Trend《2020 DeFi Dai飛嗎?》馬上開始!DeFi生態里,我們還應該狙擊哪些項目?成長空間是多少?應該關注哪些風險?16:00準時開播!本場嘉賓來自區塊鏈研習社的創始人Higer分享“DeFi與ETH2.0如何引領下一個區塊鏈時代”,請掃碼移步收聽。[2020/7/31]
設置無信任性部分討論了電路創建的預處理階段。一些證明技術需要通過多方計算參與,在預處理階段生成秘密隨機數。如果單個參與者是誠實的,則生成的隨機數確實是秘密的,預處理部分是安全的。這個過程稱為“信任設置”,因為它信任至少一個預處理階段的參與者是誠實的。需要信任設置被認為是一種弱點。在這個意義上,STARK和新的SNARK系統具有優勢。然而,一些項目將信任設置作為吸引社區參與的工具,例如Aztec和Manta。
可編程性部分討論了證明系統是否可以證明任意計算。SNARK通常可以對任何計算進行編程。然而,證明效率取決于所執行的計算類型。對于某些類型的STARK系統來說,這并不是適應不同類型計算的容易的情況。
如何為您的產品利用ZKP?
建立一個能夠從ZKP技術中受益的產品并非易事,需要建立正確的心理模型。
本節嘗試為開發人員提供一個框架,以選擇最佳方法來將ZKP集成到其產品中。根據產品需求、生態系統對齊和性能要求,將有幾個工具可供開發人員選擇。一些開發人員將能夠重復使用其現有的代碼,而另一些則必須學習新的領域特定語言來創建其應用程序。
以性能為主的zk應用程序
開發人員可以使用ZKP通過將大部分應用程序計算脫離鏈外,并僅在鏈上發布證明來實現更高的吞吐量或更低的費用。在這種情況下,有多個框架可供選擇。每個框架提供了一組工具,用于編譯應用程序代碼,生成ZK電路,實現ZK證明者,并為目標生態系統生成驗證器代碼。我們可以將這些框架分為兩個主要類別:以EVM為中心和非EVM。
以EVM為主的ZK框架
這組ZK框架與以太坊保持一致,作為Rollup建立在其之上。交易和應用程序在Rollup的ZK虛擬機上執行。證明由專門的證明者生成,并發布到L1,由智能合約驗證。
聲音 | 段新星:看到有價值的場景時思考如何用區塊鏈去更好地打造才是正確的:Bytom創始人段新星在“區塊鏈平昌論壇2019(Blockchain Pyeongchang Forum, BPF2019)”的圓桌論壇上表示,在投機和炒作層面區塊鏈處于熊市,但是在區塊鏈應用層面仍然在向前發展。同時,他指出,不能像拿著錘子砸釘子一樣,把區塊鏈強加于所有項目,而應該在看到有價值、有意義的場景時,思考如何用區塊鏈去更好地打造才是正確的。只有做到這點,離區塊鏈下一次爆發也就不遠了。[2019/1/28]
該組的第一個子集實現了與EVM兼容的zkVM,因此稱為zkEVM。這些的目標是通過允許以太坊開發人員使用Solidity和熟悉的工具而將摩擦最小化。它們通過創建適用于EVM的電路和證明器來抽象ZK復雜性。PolygonzkEVM和Scroll都包括在此桶中。
該組的第二個子集是不本地兼容EVM的zkVM。盡管不兼容,此組通過創建中間層來允許開發人員使用Solidity,從而減少了摩擦。Vitalik稱這個類型為type-4zkEVM。zkSyncEra和Starknet是這個組的好例子。使用Type-4zkEVM的優點是可以提供比兼容EVM類型更高的吞吐量和更低的費用。這使得它們適用于構建高吞吐量的應用程序,例如鏈上游戲或高性能金融產品,例如訂單簿DEXs。
為type-4zkEVM構建應用程序需要更多的開發人員努力,因為有關于可以使用的Solidity代碼的限制。或者,開發人員可以決定學習另一種語言,例如Cairo,以針對這些框架開發原生應用程序。
非EVMzk框架
另一種框架類型是那些不針對EVM架構的框架,因為它們針對競爭的L1或通用計算。盡管如此,它們仍然可以通過專門的SDK用于在以太坊上構建應用程序特定的zkRUs。
這里有兩種方法:
開發人員使用高級語言編寫代碼,該代碼針對特定的VM架構,稍后編譯為ZK電路。
開發人員使用領域特定語言,例如Circom,直接生成ZK電路。
前一種方法更適合開發人員,但通常會導致更大的電路,需要更長的證明時間。
如何讓比特幣的尸體飄過:財新專欄作家王立仁今日發文,盡快讓比特幣的尸體飄過來的方法核心點就在于影響其交易過程和記賬過程,從而破壞對比特幣系統的信任。他還論述了7大攻擊比特幣的方法:花錢硬碰硬的算力攻擊(Brute Attack)、巧取通訊環節(SmartAttack)、攻擊記賬系統、攻擊代碼、攻擊法幣與數字貨幣的通道、路由分割(RoutingSplitting)攻擊和直接硬分叉。[2017/12/4]
專注隱私的ZK應用程序
使用ZKP開發隱私重點的應用程序通常對開發人員來說是一項更具挑戰性的任務。與可伸縮性重點的解決方案相比,使用ZKP開發隱私重點的解決方案的工作較少,使得學習曲線更加陡峭。現有的隱私應用主要關注支付隱私,并且不允許太多的可編程性。將隱私和可編程性結合起來是一項具有挑戰性的任務。隱私重點的應用程序遵循以下兩個實現選項之一:
1.在通用L1之上構建
要在L1上啟用隱私支付應用程序,ZKP邏輯需要被構建為智能合約。該應用程序常常使用ZKP來創建私有資本池。用戶使用這些私人池作為混合器,為未與其原始錢包相關聯的新錢包提供資金。其中著名的例子是TornadoCash。對于這些應用程序,證明由用戶執行,驗證發生在鏈上。因此,使用具有快速證明、簡單驗證計算以及不泄露任何用戶信息的ZKP系統至關重要。
由于通用鏈并未針對昂貴的加密計算進行優化,驗證成本通常對主流用戶來說很昂貴,限制了這些應用程序的采用。將私人事務應用程序移動到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集成階段,涵蓋實現選項以及部署后的性能改進。
Dmail已正式上線新版本3.0.0_beta,提供更加安全、私密和高效的跨鏈加密通信服務。新版本主要迭代內容包括升級產品UI/UX、支持手機端H5使用、登錄地址迭代、支持更多登錄錢包、優化登錄.
1900/1/1 0:00:00針對HuntTown聯創指控幣安Bicasso產品竊取其在BNBChain黑客松上提出的創意,即Chatcasso項目.
1900/1/1 0:00:00原文:《2023第一敘事,以太坊上海升級——庖丁解牛LSD生態詳解公開課》 作者:Shield Lecture1:誰能參與質押投資?從聯合質押模式談起?Jerry:今晚我分享的主題為——「誰能參.
1900/1/1 0:00:00SeiNetwork宣布以8億美元估值完成3000萬美元融資,IOBCCapital、DistributedGlobal、MulticoinCapital、AsymmetricCapitalPa.
1900/1/1 0:00:00作者:秦曉峰,ODAILY星球日報今天下午,加密用戶?3155.eth?發文稱,一些頂級?MEV?機器人正成為黑客的攻擊目標,其「三明治攻擊」中的交易模塊被替換.
1900/1/1 0:00:00作者:OpsideteamZK?賽道的敘事在2023年持續升溫。一方面,剛剛過去的?ETHDenver大會上,ZK超越?Defi、NFT?等熱點,成為最高頻出現的詞匯,吸引著一眾參與者的目光;另.
1900/1/1 0:00:00