原文:《Are zero-knowledge proofs (ZKPs) the future of blockchain?》by ALTAN TUTAR, SAMUEL THOMAS, LINDSEY LI, DIVESH PUNJABI, ETHAN KURZWEIL – Bessemer Venture Partners
編譯:Cecilia, bfrenz DAO
想像下一代安全的互聯網,從登錄時刻開始,你的個人信息就受到保護。在這個新的互聯網中,你的數據將留在你自己的設備內,你可以完全掌控自己的信息,消除了被盜或欺詐的風險和恐懼。我們認為,一個將安全和隱私作為優先考慮的未來互聯網基礎設施可能比預期的更快到來。
當今的網絡基礎設施旨在從每次交互中提取數據並存儲在集中式數據存儲中。公司隨後利用這些數據分析用戶的在線行為,並將定位廣告以獲得利潤,對用戶的價值很小。當然,數據共享對於許多互聯網應用程序的功能也是必不可少的。從搜索引擎到社交媒體平台,再到電子商務網站,數據共享使我們日常生活中所依賴的各種在線活動成為可能。
但是許多互聯網用戶越來越希望擁有一個私密的互聯網。這需要新的基礎設施,在這個基礎設施中,用戶不會默認與應用程序共享其數據,但仍然可以從網絡驅動的在線應用程序中獲益。這可以通過在客戶端執行計算,然後向中央實體或計算機證明來實現。零知識證明(ZKPs)和協議是成為新互聯網基礎設施的基礎層的領先候選人,其中隱私是默認設置。
這不僅僅是一場未來的幻想;該領域的巨大潛力正在聚積。 Steel DAO 的新成立的加密貨幣研究部門一直在追踪該領域,並在2022 年見證了超過7.25 億美元的資金流向專門構建零知識證明解決方案的“純玩家”公司。其中最大的兩輪融資是Aleo 和Matter Labs 的2 億美元融資,其次是Aztec 的1 億美元融資。其他公司還包括Scroll、RiscZero、Elusiv 和Mina Protocol。
這篇關於ZK 的研究來自於美國著名投資機構Bessmer Venture Partners。本文將用便於理解的方式解釋什麼是ZKPs 和zkEVMs,並重點探討該領域內的三個主要創新類別:隱私、可擴展性和新型應用,以及它們的潛力和需要克服的障礙。
什麼是零知識證明?
零知識證明(ZKP)是一種驗證陳述或計算的方法,過程中不揭示有關該陳述本身的任何信息。例如,如果一個銷售酒精飲料給消費者的網站想要驗證消費者是否年滿21 歲, ZKP 可以回答“是”或“否”的問題,而不會透露消費者的實際年齡或任何其他身份信息。通常,ZKP 涉及雙方:證明者(prover)和驗證者(verifier)。證明者負責證明聲明,而驗證者負責驗證聲明。這些證明通過需要進行大量計算的數學方程來解決,最初由麻省理工學院的研究人員Shafi Goldwasser和Silvio Micali 以及多倫多大學的Charles Rackoff 研究。
雖然這些證明本質上是技術性的,但它們能夠解決的用例實際上非常普遍。舉個例子,比如我們正在申請貸款。在今天的現實情況下,申請人需要向銀行披露自己的資金證明、信用評分以及其他相關信息來證明自己是否有資格獲得貸款。申請人需要信任銀行不會濫用敏感和個人信息。但是使用ZKP,人們可以在不披露任何敏感數據的情況下申請貸款。這具有潛在的能力,可以從根本上改變我們處理真實和虛擬世界中的隱私的方式,擴展現有的基礎鏈,並推進其他(目前還屬於小眾)應用,比如去中心化人工智能。
我們相信在未來幾年推廣ZKP 需要以下三個因素的推動:
- 零知識以太坊虛擬機(zkEVM)的不斷改進;
- 用戶對數據隱私的認識和需求的不斷增加;
- Layer-2 擴容解決方案的持續使用。
什麼是zkEVM?為什麼值得關注?
zkEVM 是與EVM 兼容的虛擬機,可以運行ZKP 計算。以太坊虛擬機(EVM)是部署在以太坊上的智能合約的運行環境。換句話說,ZKP 現在可以與以太坊上的智能合約進行交互,從而使得可以開發更廣泛的支持隱私的用例,包括ZK-rollups(零知識匯總協議)。 Rollups 是一種擴容解決方案,可以在鏈外處理多個交易,然後批量打包到以太坊上的一個交易中,從而減少處理交易的成本和時間。在此之前,ZKP 不能與以太坊上的智能合約兼容,必須為特定的應用程序(例如,支付、代幣交換)開發。在本文中,我們將更詳細地研究ZKP 在隱私和擴展性方面的應用。
隱私
零知識證明(ZKPs)的一個重要數學特性是驗證者可以以零知識的方式驗證陳述的正確性。如今的應用程序需要從本地計算機傳輸數據到中央服務器以進行計算。儘管ZKPs 目前主要在加密社區中受到歡迎,但ZKPs 的應用遠不止區塊鏈這一塊領域。實際上,大型科技公司已經加入了這個領域,聲明了大量與ZKPs 相關的專利。自2010 年至2021 年,阿里巴巴發放了1111 項ZKP 專利。騰訊( 382 項專利)和IBM( 225 項專利)等其他關鍵參與者緊隨其後。阿里巴巴和騰訊特別專注於ZKPs 的金融服務用例,因為它們可以成為許多銀行流程的核心基礎設施,包括客戶身份驗證、貸款處理、開立投資賬戶等。我們相信,在ZKP 工具和基礎設施的創新和變革的推動下,將以三種主要方式影響我們與具有虛擬和現實工作流的應用程序的交互。
1)賬戶登錄
在今天,所有的應用程序都會通過儲存密碼來驗證用戶的身份。雖然使用零知識證明的安全遠程密碼協議(SRPP)已經有一段時間了,但我們還沒有看到有哪個創業公司利用這項技術來與Okta 競爭。這是因為網頁端應用程序是用JavaScript 編寫的,由於開發人員工具不成熟,編寫SRPP 在網頁端應用程序上很困難。我們相信通過使用零知識證明,可以重新設計廣泛使用的應用程序的身份驗證流程,從而向應用程序證明你擁有你的賬戶密碼。
2)付款
應用程序今天的電子商務網站積累了許多用戶財務數據,可以用在一些不利於客戶的地方。雖然聽起來問題不大,但我們認為有空間構建標準化的付款API ,不用透露用戶的數據,而是以完全零知識的方式促進支付。類似於Aztec 這樣的隱私第一的第二層擴展解決方案,但用於常規的互聯網支付。
3)線上(虛擬)及現實世界中的身份認證環節
在幾乎所有的線上和現實世界的交互中,用戶都需要驗證他們的身份。例如,申請簽證時需要向第三方提供銀行賬單、護照和其他敏感數據。如果使用零知識證明,當你申請簽證時,它只會向相關機構發出“是”或“否”的答复,告訴他們你是否擁有所需文件。同樣地,在網上購買加密貨幣時,我們需要向第三方發送我們的“護照”和其他敏感文件,以進行KYC / AML檢查。像Notebook Labs 這樣的公司正在使用零知識證明來防止可疑的不良行為者與DeFi 協議進行交互。這個公司通過向遵守規定的用戶發放通過ZKP 驗證的代幣,來讓其他協議知道這些用戶是遵守規定的,進而省去了查看用戶的文件的步驟。
期待看到區塊鏈領域之外的零知識證明用例,儘管我們認識到,正是由於區塊鏈的存在,它們可以獨特地擴展。此外,設計上,區塊鍊是匿名的,但它們並不具有隱私保護,其中所有交易都是完全透明的。所以我們認為需要像Aleo 這樣的隱私保護區塊鏈來解決這個問題。
除了用戶對隱私的不斷追求之外,還需要解決可擴展性問題。像以太坊這樣的Layer 1 面臨可擴展性“三難情況”,必須在可擴展性、安全性和去中心化之間做出權衡。比如,以太坊的願景是盡可能保持安全和去中心化,那代價可能就是捨棄可擴展性,但同時,以太坊使用量日益增長,後果就是交易變慢和高昂的費用。為此,零知識證明也可用於提高可擴展性。
可擴展性
區塊鏈(比如以太坊)的可擴展性可以通過兩種方式實現:一是增加區塊的交易容量,但這會帶來一些風險,例如使驗證變得更加困難;二是採用不同的方法與其交互,如將交易批量處理並作為單個交易提交到主網絡。實施這種方法的以太坊上層網絡稱為L2 擴容解決方案。它們允許開發人員構建生活在以太坊生態系統中的應用程序,以利用其安全性、去中心化和網絡效應,但同時提高了交易吞吐量並降低了交易成本。
這些解決方案也被稱為rollups ,分為兩種形式:Optimistic rollups 和zero-knowledge ( ZK ) rollups 。 Optimistic rollups 是“欺詐證明( fraud proofs )”,這意味著批量交易在7 天的挑戰期內被認為是有效的,在此期間任何人都可以對基礎交易的有效性提出異議。另一方面,ZK Rollups 不默認假定交易有效,而是作為“有效性證明( validity proofs )”,驗證基礎交易的有效性。它們依賴於自己的數學屬性——soundness。 soundness 是指數學保證,如果陳述為假,除了一些小概率之外,沒有欺騙證明者能夠說服一個誠實的驗證者其為真。這是通過經過深入研究的密碼學假設和可驗證計算來保證的,這使得證明者很難通過惡意方式(如更改輸入)黑入系統。
來源:https://vitalik.ca/general/2021/01/05/rollup.html
ZK-rollup 可以更快地處理交易,並且不需要像optimistic rollup 那樣的7 天挑戰期。因此,用戶不必等待7 天才能提取他們的資金。儘管如此,optimistic rollup 目前在L2 擴展市場上佔據著大約80% 的總鎖定價值(TVL)。歷史上,零知識證明與智能合約不兼容。因此,使用ZK-rollup 構建的應用程序只能適用於有限的、特定於應用程序的用例,如二層去中心化交易所dYdX 和用於支付和交易的協議Loopring。因此,開發人員選擇了樂觀rollup,因為它們與通用應用程序兼容。
如今,隨著對zkEVM 的改進,這種歷史限制正在得到解決。現在,通用應用程序可以利用ZK-rollup 的安全性和效率,因為它們與EVM 兼容,可以與智能合約進行交互。因此,我們認為,在未來幾年內,ZK-rollup 將有望接管L2 擴展市場,特別是由於正在構建基礎架構工具來改進使用zkEVMs 開發通用應用程序的體驗,如StarkWare、Polygon、MatterLabs 和Scroll。
話雖如此,zkEVMs 仍然相對較新,並且正在使用不同程度的以太坊兼容性和性能構建。總體而言,兼容性的最高級別是(1) 與以太坊等效,而最低級別是(4),在這種環境下,智能合約代碼(例如Solidity)被編譯為ZK-friendly 的語言。例如,像以太坊的研究部門Privacy&Scaling Exploration 這樣正在追求最高級別兼容性的團隊,其代價是性能降低,因為它們的目的並不一定是在不久的將來投入生產。
相反,像StarkWare 這樣的公司已經部署了StarkNet,這被認為是最完整和性能最高的zkEVM 之一,但需要使用一種新的本地編程語言Cairo,以支持在EVM 上的ZKP 計算。因此,它需要開發人員學習如何在自定義環境中執行智能合約代碼,這是採用的一個挑戰。 Polygon 的Hermez、Matter Labs 的zkSync2.0 和Scroll 等項目正在尋求解決這些摩擦領域以擴大開發人員的使用。
來源:https://vitalik.ca/general/2021/01/05/rollup.html
除了進一步改進zkEVMs 外, ZKP 的大範圍採用還面臨其他挑戰,包括提供更好的基礎設施和降低理解和使用它們的複雜性。
當前需要克服的困難
在硬件方面,開發者需要改善圖形處理單元(GPU)的並行處理能力或設計特定的硬件,例如應用特定集成電路(ASIC),以繼續減少證明語句所需的時間和資源。
儘管在數學算法方面已經取得了許多進展,例如引入了PLONK,但我們認為新算法將繼續出現,最終實現更快、更好的解決方案。此外,如果我們想讓這個領域真正起飛,還需要構建更多的抽象層。儘管這已經吸引了許多開發者和用戶的關注,但總的來說,它仍然是一個相當複雜的領域,需要付出較大的精力才能夠構建和交互。
最後,鑑於零知識證明的本質複雜性,監管機構甚至用戶可能會謹慎對待——例如最近對Tornado Cash 的禁令加強了一種錯誤的觀念,即所有尋求匿名性的人都是惡意行為者。
儘管存在困難,我們很高興看到公司以不同創新的方式克服這些障礙。
創新的實際用例
雖然ZKP 技術早在1989 年就被提出,但密碼學的普及推動了創新,過去幾年中,水平應用案例和應用程序顯著增加。例如,去中心化存儲提供商Filecoin 使用PoRep 或複制證明來驗證存儲提供商確實存儲了他們聲稱存儲的數據。通過使用ZKP 技術,驗證者可以更快地驗證這些信息,而不會損害安全性、信任或信心。
另一個令人興奮的應用領域是遊戲,像Dark Forest 這樣的鏈上游戲正在引領基於ZKP 的創新。其中一個核心特點是博弈論家所謂的“不完全信息”,即大部分虛擬宇宙都是隱藏的,除非玩家探索它。另一個關鍵特點是玩家可以通過向區塊鏈發送證明來探索這個宇宙,證明移動是有效的,但不會揭示他們在宇宙中的坐標。
最後,Chainlink 和Teller 正在build 為“未充足抵押貸款”進行概念驗證。一句話解釋就是,Teller 證明用戶的離線銀行賬戶餘額超過所請求的貸款金額指定的動態閾值,而不實際揭示他們的銀行賬戶詳細信息。
ZKP 市場全覽圖
零知識證明領域的不完全市場圖來源:BVP
ZKP 未來可期
儘管在這個領域存在許多挑戰,但加密基礎設施將繼續演進和發展。開發活動仍然強勁,相關公司繼續投資於後端和麵向消費者的加密機會,這一切讓人感覺ZKP 的“春天”已經近在眼前。我們對ZKP 的未來感到興奮,因為它似乎是建立更去中心化的網絡的關鍵技術里程碑。儘管目前仍存在一些障礙,還沒有被大規模採用,但ZKP 正在推動互聯網隱私至上的重建,並推進其他區塊鏈應用和用例的採用。