Foresight Ventures | 氮氣加速!ZK協處理器如何打破智能合約數據壁壘

新手1/7/2024, 4:37:55 AM
本文對 ZK 協處理器的概念、技術實作及應用進行了概述解讀。

一、概念介紹

關於協處理器這個概念,一個很淺顯易懂的例子就是電腦和顯卡的關繫,CPU可以完成大部分任務,但是一旦遇到特定任務,就需要顯卡的幫助,因爲CPU算力不夠,比如説機器學習,圖形渲染,或者是大型游戲的運行,我們玩大型游戲的時候如果不想掉幀或者卡頓,那肯定就需要一塊性能很好的顯卡。那在這個場景中,CPU就是處理器,顯卡就是協處理器。映射到區塊鏈上,智能合約就是CPU,ZK協處理器就是GPU。

關鍵點就是把特定任務交給特定的協處理器做,就像一個工廠裡,老闆知道每個環節的步驟,也可以自己做,也可以教員工整個生産過程,但是這樣效率就很低,隻能一個一個生産,一個生産完了才能生産下一個,於是他雇了很多特定的員工,他們各司其職,在自己的車間做著生産鏈條上自己擅長的工作,鏈條的環節之間可以互相進行通信協衕但互不幹涉對方的工作,隻做自己最擅長的事,手速快體力好的就打螺絲,懂操作機器的就去操作機器,懂財會的就去計算生産量和成本,異步協衕工作從而最大化工作效率。

在工業革命的時候,資本家們就已經髮現這種模式能給自己的工廠帶來最大的産能,但可能因爲技術或者別的原因,生産環節中的一步遇到壁壘的時候,可能要外包別的專門的生産商去做,比如説一個生産手機的公司,芯片可能由別的專門的芯片公司生産,手機公司就是中央處理器,芯片公司就是協處理器。協處理器能夠輕鬆異步處理中央處理器自身難以處理的壁壘較大和繁瑣的特定任務。

ZK協處理器廣義上比較寬泛,有的項目叫自己協處理器,有的叫ZKVM,但是都是衕一個思路:允許智能合約開髮者在現有的數據上無狀態地證明鏈下計算。簡單來説就是把一些鏈上計算的工作丟到鏈下,降本增效,衕時用ZK保證計算的可靠性,併保護特定數據的隱私。在數據驅動的區塊鏈世界裡,這顯得尤爲重要。

二、爲什麽我們需要ZK協處理器

智能合約開髮者麵臨的最大瓶頸之一仍然是與鏈上計算相關的高昂成本。由於每次操作都要計量Gas,因此覆雜應用邏輯的成本很快就會變得高到沒法執行,因爲區塊鏈的DA層中的存檔節點雖然確實能夠存儲歷史數據,這也是爲什麽像Dune Analytics,Nansen,0xscope,Etherscan這些鏈外分析應用能有那麽多來自區塊鏈上的數據,併且可以追溯到很久以前,但對於智能合約來説要訪問所有的這些數據併不簡單,它隻能夠輕鬆訪問虛擬機狀態中儲存的數據,最新的區塊數據,以及其他公開的智能合約的數據。對於更多的數據,智能合約可能要耗費很大的功夫去訪問:

智能合約在以太坊虛擬機(EVM)中能夠訪問最近的256個區塊的區塊頭哈希值。這些區塊頭包含了區塊鏈中直到當前區塊爲止的所有活動信息,併通過默剋爾樹和Keccak哈希算法被壓縮成了32字節的哈希值。

雖然這些數據被哈希打包過了,但其實它們是可以解壓的——隻是這併不容易實現。例如,如果你想利用最近的區塊頭來無需信任地訪問上一個區塊中的特定數據,這涉及一繫列覆雜的步驟。首先,你需要從存檔節點穫取鏈外數據,然後構建一個默剋爾樹和區塊的有效性證明,以驗證該數據在區塊鏈上的真實性。隨後,EVM會處理這些有效性證明,進行驗證和解釋,這種操作不僅繁瑣而且時間長,Gas還特別貴。

這個挑戰的根本原因在於,區塊鏈虛擬機(如EVM)本身併不適合處理大量數據和密集型計算任務,比如上述的解壓縮工作。EVM的設計重點是在保證安全和去中心化的衕時,執行智能合約代碼,而非處理大規模數據或進行覆雜的計算任務。因此,當涉及到需要大量計算資源的任務時,通常需要尋找其他解決方案,比如利用鏈下計算或其他擴展技術,這時候,ZK協處理器應運而生。

ZK rollups 其實就是最早的ZK協處理器,以更大的規模和數量支持在 L1 上使用的衕類型計算。這個處理器是協議層麵上的,現在我們説的ZK協處理器是dapp層麵上的。ZK 協處理器通過允許智能合約使用 ZK 證明無信任地委托歷史性鏈上數據訪問和計算來增強智能合約的可拓展性。開髮者可以將昂貴的操作轉移到 ZK 協處理器上,併簡單地使用鏈上的結果,而不是在 EVM 中執行所有操作。通過將數據訪問和計算與區塊鏈共識解耦,這爲智能合約提供了一種新的擴展方式。

ZK 協處理器爲鏈上應用引入了一種新的設計模式,消除了計算必鬚在區塊鏈虛擬機中完成的限製。這使得應用程序在控製gas成本的情況下可以訪問更多數據,併以比以前更大的規模運行,在不損害去中心化和安全性的情況下增加了智能合約的可擴展性和效率。

三、技術實現

這個部分將以Axiom的架構詮釋技術上zk coprocessor是怎麽解決問題的。其實就是兩個核心:數據抓取和計算。在這兩個過程中,ZK衕時保障了效率和隱私。

3.1 數據抓取

在 ZK 協處理器上執行計算最重要的一個方麵是確保從區塊鏈歷史中正確訪問所有輸入數據。 前文有提到過其實這挺難的,因爲智能合約隻能在其代碼中訪問當前的區塊鏈狀態,而即使是這種訪問也是鏈上計算中最昂貴的部分。這意味著交易記録或以前的餘額等歷史性鏈上數據(計算中有趣的鏈上輸入)無法被智能合約本地使用,以驗證協處理器的結果。

ZK 協處理器通過三種不衕的方式來解決這個問題,在成本、安全性和開髮難度之間進行權衡:

  1. 在區塊鏈狀態中存儲額外數據,併使用 EVM 存儲讀取驗證協處理器在鏈上使用的所有數據。 這種方法相當昂貴,對於海量數據來説成本過高。
  2. 信任Oracle或簽名者網絡來驗證協處理器的輸入數據。 這要求協處理器用戶信任Oracle或多重簽名提供者,但這樣降低了安全性。
  3. 使用 ZK 證明來檢查協處理器中使用的任何鏈上數據是否在區塊鏈歷史中得到了承諾。區塊鏈中的任何區塊都會提交所有過去的區塊,因此會提交任何歷史數據,從而爲數據有效性提供加密保證,併且不需要用戶提供額外的信任假設。

3.2 計算

在 ZK 協處理器中執行鏈下計算需要將傳統計算機程序轉化爲 ZK 電路。目前,所有實現這一目的的方法都會對性能産生巨大影響,與本地程序執行相比,ZK 證明的開銷從 10,000 到 1,000,000 不等。另一方麵,ZK 電路的計算模型與標準計算機體繫結構不衕(比如,目前所有變量都必鬚以一個大的加密質數爲模數來編碼,而且執行可能是非確定性的),這意味著開髮人員很難直接編寫它們。

因此,在 ZK 協處理器中指定計算的三種主要方法主要是在性能、靈活性和開髮難度之間進行權衡,:

  1. 自定義電路: 開髮人員爲每個應用編寫自己的電路。 這種方法具有最大的性能潛力,但需要開髮人員投入大量精力。
  2. 電路的 eDSL / DSL: 開髮人員爲每個應用編寫電路,但要在一個有主見的框架中抽象出 ZK 特有的問題(類似於使用 PyTorch 處理神經網絡)。但這樣性能就稍微低一些。
  3. zkVM 開髮人員在現有虛擬機中編寫電路,併在 ZK 中驗證其執行。在使用現有虛擬機時,這爲開髮人員提供了最簡單的體驗,但由於虛擬機和 ZK 之間的計算模型不衕,這樣性能和靈活性都比較低。

四、應用

ZK協處理器的應用非常廣泛,Dapp能覆蓋到的所有應用場景ZK協處理器理論上來説都能覆蓋到。隻要是跟數據和計算相關的任務,ZK協處理器都能起到降本增效、保護隱私的作用,以下將從不衕的賽道出髮,探討ZK處理器能在應用層具體做些什麽。

4.1 Defi

4.1.1 DEX

以Uniswap V4裡的hook來舉例:

Hook允許開髮者在流動性池的整個生命周期中的任意關鍵點執行指定的操作——例如在交易代幣之前或之後,或者在 LP 頭寸更改之前或之後,自定義流動性池、兌換、費用和 LP 頭寸之間的交互方式,比如説:

  • 時間加權平均做市商(TWAMM);
  • 基於波動性或其他投入的動態費用;
  • 鏈上限價訂單;
  • 將超出範圍的流動性存入借貸協議;
  • 定製化的鏈上預言機,例如幾何平均數預言機;
  • 自動覆利 LP 手續費到 LP 頭寸;
  • Uniswap的 MEV 利潤分配給 LP;
  • LP或者交易員的忠誠度折扣計畫;

簡單來説就是可以讓開髮者根據自己的想法,抓取任意鏈上歷史數據併用來自定義Uniswap裡的池子的機製,Hook的出現給鏈上的交易帶來更多的可組合性,和更高的資本效率。然而,定義這些的代碼邏輯一旦覆雜起來,就會給用戶和開髮者帶來極大的gas負擔,那麽這個時候zkcoprocessor就派上用場了,它可以幫助省去這些gas費用,又提高了效率。

從更長遠的視角來看,ZK協處理器將加速DEX和CEX的融合,自 2022 年以來,我們看到 DEX 和 CEX 在功能上趨於一緻,各大CEX都在接受這一現實,併採用 Web3 錢包、構建 EVM L2 併採用閃電網絡等現有基礎設施或開源來擁抱鏈上的流動性份額。這種現象的背後離不開ZK協處理器的助推,CEX能實現的所有功能,無論是網格交易,跟單,快速借貸,還是用戶數據的使用,DEX也能通過ZK協處理器實現,而Defi的可組合性和自由度,以及鏈上小幣種的交易,傳統的CEX都難以實現,衕時ZK技術還能在執行的衕時保障用戶的隱私。

4.1.2 空投

如果一些項目方想進行空投,那就需要智能合約查詢地址的歷史活動,但又不想暴露用戶的地址信息,併在不引入額外信任證明的情況下執行,比如説一個做Defi lending的項目方想通過地址和Aave,Compound,Fraxlend,Spark一繫列的借貸協議的交互量作爲空投的標準,ZK協處理器的抓取歷史數據和隱私特性可以輕鬆的解決這個需求。

4.2 ZKML

ZK協處理器另一個令人興奮的點是在機器學習這塊,既然可以賦予智能合約鏈下計算的能力,那麽鏈上的高效率機器學習將成爲可能,而事實上,ZK協處理器確實也是目前ZKML數據的輸入和計算不可或缺的闆塊,它可以智能合約中導入的鏈上/鏈下歷史數據中提取機器學習需要的input,然後把計算編寫成ZK電路丟到鏈上。

4.3 KYC

KYC是一個很大的生意,現在web3世界正在逐漸擁抱合規,有了 ZK 協處理器,就可以通過抓取用戶提供的任何鏈下數據,做出一個智能合約可驗證的證明,而不需要暴露用戶的任何多餘信息,事實上一些項目正在落地,比如説Uniswap的KYC hook,就是採用了ZK協處理器Pado無信任地抓取鏈下數據。資産證明,學歷證明,出行證明,駕駛證明,執法證明,玩家證明,交易證明…….一切鏈上鏈下的歷史行爲,甚至可以打包成一個完整的身份,都可以寫成可信度極強的ZK證明上鏈,衕時保護用戶隱私。

4.4 Social

Friend.tech的投機屬性其實要比社交屬性更強,核心在於它的bonding curve,那有沒有可能也給friend.tech的bonding curve上一個hook,讓用戶可以自定義bonding curve的走曏,比如説實現在交易key的熱潮結束,投機者離開之後,讓bonding curve變得平滑,使真正的粉絲進入門檻變低,實現真正的私域流量的增長。又或是讓智能合約穫得用戶的鏈上/鏈下的社交圖譜,在不衕的社交Dapp上都能夠一鍵關註自己的好友。又或者在鏈上建立private club,比如説Degen club,達到歷史Gas消耗條件的地址才能進入等等。

4.5 Gaming

在傳統的Web2游戲中,用戶數據是一個很重要的參數,購買行爲,游戲風格以及貢獻都可以讓游戲更好的去運營,提供更好的用戶體驗,比如説MOBA游戲中的ELO匹配機製,對皮膚的購買頻率等等,但在區塊鏈上這些數據難以被智能合約抓取,所以隻能用中心化的方案取代或者幹脆直接放棄。但ZK協處理器的出現使得去中心化的方案成爲可能。

五、項目方

這個賽道裡已經有了一些佼佼者,思路其實都差不多,通過storage proof或者共識生成ZK證明然後丟到鏈上,但技術特點和實現的功能各有所長。

5.1 Axiom

Axiom作爲ZK(零知識)協處理器的領導者,專註於智能合約能夠無需信任地訪問整個以太坊歷史和任何ZK驗證計算。開髮者可以曏Axiom提交鏈上查詢,Axiom隨後通過ZK驗證處理這些查詢,併以無信任的方式將結果回傳給開髮者的智能合約。這使得開髮者能夠構建更豐富的鏈上應用程序,而無需依賴額外的信任假設。

爲了實現這些查詢,Axiom執行以下三個步驟:

  1. 讀取:Axiom利用ZK證明,無需信任地從以太坊歷史區塊的區塊頭、狀態、交易和收據中讀取數據。由於所有以太坊鏈上數據都以這些格式編碼,Axiom因此能夠訪問存檔節點能夠訪問的所有內容。Axiom 通過Merkle-Patricia三元組和區塊頭哈希鏈的 ZK 證明來驗證 ZK 協處理器的所有輸入數據。 雖然這種方法開髮起來比較睏難,但它能爲最終用戶提供最佳的安全性和成本,因爲它能確保 Axiom 返回的所有結果在密碼學上等衕於 EVM 中進行的鏈上計算。
  2. 計算:數據攝取後,Axiom在其上應用經過驗證的計算。開髮者可以在JavaScript前端指定他們的計算邏輯,每次計算的有效性都在ZK證明中得到驗證。開髮者可以訪問AxiomREPL或查看文檔,了解可用的計算原語。Axiom通過 eDSL 允許用戶訪問鏈上數據併指定自己的計算。還允許用戶使用ZK電路庫編寫自己的電路。
  3. 驗證:Axiom爲每個查詢結果提供ZK有效性證明,這些證明確保(1)輸入數據是從鏈中正確提取的,(2)計算是正確應用的。這些ZK證明在Axiom智能合約中進行鏈上驗證,確保最終結果在用戶的智能合約中可靠使用。

由於結果是通過ZK證明驗證的,Axiom的結果在密碼學上與以太坊的結果具有相衕的安全性。這種方法不對加密經濟學、激勵機製或博弈論做任何假設。Axiom相信這種方式將爲智能合約應用提供盡可能高的保證水平。Axiom團隊和Uniswap Foundation密切合作,拿到了Uniswap的Grants,將在Uniswap上打造無信任的預言機。

5.2 Risc Zero

Bonsai: 在2023年,RISC Zero髮布了Bonsai,這是一個證明服務,允許鏈上和鏈下應用請求併接收zkVM證明。Bonsai是一個通用的零知識證明服務,允許任何鏈、任何協議和任何應用利用ZK證明。它具有高度併行性,可編程性和高性能。

Bonsai使你能夠直接將零知識證明集成到任何智能合約中,無需定製電路。這使得ZK可以直接集成到任何EVM鏈上的去中心化應用程序中,有潛力支持任何其他生態繫統。

zkVM是Bonsai的基礎,支持廣泛的語言兼容性,支持可證明的Rust代碼,以及潛在的任何編譯到RISC-V的語言(如C++、Rust、Go等)的零知識可證明代碼。通過遞歸證明、定製電路編譯器、狀態延續以及對證明算法的持續改進,Bonsai使任何人都能爲各種應用生成高性能的ZK證明。

RISC Zero zkVM: RISC Zero zkVM首次髮布於2022年4月,可以證明任意代碼的正確執行,使開髮者能夠用成熟的語言如Rust和C++構建ZK應用。這個髮布是ZK軟件開髮的一個重大突破:zkVM使得無需構建電路和使用定製語言就能構建ZK應用成爲可能。

通過允許開髮者使用Rust併利用Rust生態繫統的成熟度,zkVM使開髮者能夠快速構建有意義的ZK應用,無需有高級數學或密碼學方麵的背景。

這些應用包括:

  • JSON:證明JSON文件中某個條目的內容,衕時保持其他數據的私密性。
  • Where’s Waldo:證明Waldo出現在JPG文件中,衕時保持圖像的其他部分私密。
  • ZK Checkmate:證明你看到一步將軍,而不透露穫勝的舉動。
  • ZK Proof of Exploit:證明你可以利用一個以太坊賬戶,而不透露漏洞。
  • ECDSA簽名驗證:證明ECDSA簽名的有效性。

這些示例都是通過利用成熟的軟件生態繫統實現的:大部分Rust工具包在Risc Zero zkVM中開箱即用。能夠兼容Rust對ZK軟件世界來説是一個游戲規則改變者:在其他平颱上可能需要幾個月或幾年才能構建的項目,在RISC Zero的平颱上可以輕鬆解決。

除了更容易構建之外,RISC Zero還在性能上交付成果。zkVM具有CUDA和Metal的GPU加速,且通過延續實現了大型程序的併行證明。

此前,Risc Zero穫得了Galaxy Digital, IOSG, RockawayX, Maven 11, Fenbushi Capital, Delphi Digital, Algaé Ventures, IOBC等機構的4千萬美元A輪融資。

5.3 Brevis

Celer Network旗下的Brevis則專註於多鏈歷史數據的抓取,它賦予智能合約能力,從任何鏈上讀取其完整的歷史數據,併執行全麵無信任的定製計算,目前主要支持以太坊POS,Comos Tendermint和BSC。

應用界麵:Brevis的當前繫統支持高效且簡潔的ZK證明,爲連接至區塊鏈的去中心化應用(dApp)合約提供以下經過ZK證明的源鏈信息:

  1. 源鏈上任何區塊的區塊哈希值及相關狀態、交易、收據根。
  2. 源鏈上任何特定區塊、合約、槽的槽值和相關元數據。
  3. 源鏈上任何交易的交易收據和相關元數據。
  4. 源鏈上任何交易的交易輸入和相關元數據。
  5. 源鏈上任何實體髮送至目標鏈上任何實體的任意信息。

架構概述:Brevis的架構由三個主要部分構成:

  1. 中繼器網絡:它衕步來自不衕區塊鏈的區塊頭和鏈上信息,併將其轉髮給驗證器網絡以生成有效性證明。之後,它會將驗證過的信息及其相關證明提交至連接的區塊鏈。
  2. 證明者網絡:爲每個區塊鏈的輕客戶端協議、區塊更新實現電路,併生成所請求的槽值、交易、收據以及集成應用邏輯的證明。爲了最小化證明時間、成本和鏈上驗證成本,證明者網絡可以彙總衕時生成的分布式證明。此外,它還可以利用GPU、FPGA和ASIC等加速器來提高效率。
  3. 連接區塊鏈上的驗證器合約:接收由驗證器網絡生成的經過zk驗證的數據和相關證明,然後將經過驗證的信息反饋給dApp合約。

這一整合的架構使得Brevis在提供跨鏈數據和計算時,能夠保證高效率和安全性,從而使dApp開髮者能夠充分利用區塊鏈的潛力。有了這種模塊化架構,Brevis 可以在所有支持的鏈上爲鏈上智能合約提供完全免信任、靈活、高效的數據訪問和計算能力。這爲 dApp 開髮提供了全新的範式。Brevis 具有廣泛的用例,如數據驅動的 DeFi、zkBridges、鏈上用戶穫取、zkDID、社交賬戶抽象等,增加了數據的互操性。

5.4 Langrange

Langrange和Brevis的願景類似,旨在通過ZK Big Data Stack增強多鏈之間的互通,它能夠在所有主流區塊鏈上創建通用的狀態證明。通過與Langrange協議集成,應用程序能夠提交多鏈狀態的聚合證明,這些證明隨後可以被其他鏈上的合約以非交互的方式驗證。

與傳統的橋接和消息傳遞協議不衕,Langrange協議不依賴於特定的節點組來傳遞信息。相反,它利用加密技術來實時協調跨鏈狀態的證明,這包括那些由不受信任的用戶提交的證明。在這種機製下,即使信息來源不可信,加密技術的應用也保證了證明的有效性和安全性。

Langrange協議一開始將與所有EVM兼容的L1、L2 rollups兼容。此外,Langrange還計畫在不久的將來支持非EVM兼容鏈,包括但不限於Solana、Sui、Aptos以及基於Cosmos SDK的流行公鏈。

Langrange協議與傳統橋接和消息協議的區別:

傳統的橋接和消息傳遞協議主要用於在特定的一對鏈之間轉移資産或消息。這些協議通常依賴於一組中間節點來確認源鏈在目標鏈上的最新區塊頭。這種模式主要針對單一對單的鏈關繫進行優化,基於兩個鏈的當前狀態。相比之下,Langrange協議提供了一種更通用、更靈活的跨鏈交互方法,使應用程序能夠在更廣泛的區塊鏈生態繫統中進行交互,而不僅限於單一的鏈對鏈關繫。

Langrange協議專門優化了用於證明鏈間合約狀態的機製,而非僅限於信息或資産的傳輸。這一特點允許Langrange協議有效地處理涉及當前和歷史合約狀態的覆雜分析,這些狀態可能跨越多條鏈。這種能力使得Langrange能夠支持一繫列覆雜的跨鏈應用場景,例如計算多鏈去中心化交易所(DEX)上資産價格的移動平均值,或者分析多條不衕鏈上貨幣市場利率的波動性。

因此,Langrange狀態證明可被視爲對多對一(n對1)鏈關繫的優化。在這種跨鏈關繫中,一條鏈上的去中心化應用(DApp)依賴於來自多條其他鏈(n條)的實時和歷史狀態數據的聚合。這一特性極大地拓展了DApp的功能和效率,使其能夠彙總和分析來自多個不衕區塊鏈的數據,進而提供更深入、全麵的洞察。這種方式顯著區別於傳統的單一鏈或一對一鏈關繫,爲區塊鏈應用提供了更加廣闊的潛力和應用範圍。

Langrange此前穫得了1kx,Maven11, Lattice,CMT Digital和gumi crypto等機構的投資。

5.5 Herodotus

Herodotus 旨在爲智能合約提供來自其他以太坊層的衕步鏈上數據訪問。他們認爲存儲證明可以統一多個 Rollups 的狀態,甚至允許以太坊層之間的衕步讀取。簡單來説就是跨EVM主鏈和rollup之間的數據抓取。目前支持ETH主網,Starknet,Zksync,OP,Arbitrum和Polygon。

Herodotus定義的Storage Proof是一種覆合證明,可用於驗證大型數據集中的一個或多個元素的有效性,比如整個以太坊區塊鏈中的數據。

Storage Proof的生成流程大緻分爲三個步驟:

第一步:穫取可驗證承諾的區塊頭儲存纍加器

  • 這一步是爲了穫取一個我們可以驗證證明的“承諾”。如果纍加器還沒有包含我們需要證明的最新區塊頭,我們首先需要證明鏈的連續性,以確保覆蓋到包含我們目標數據的區塊範圍。例如,如果我們要證明的數據在區塊1,000,001中,而區塊頭儲存的智能合約隻覆蓋到區塊1,000,000,那麽我們就需要對頭存儲進行更新。
  • 如果目標區塊已在纍加器中,則可以直接進行下一步。

第二步:證明特定賬戶的存在

  • 這一步需要從以太坊網絡中所有賬戶構成的狀態樹(State Trie)中生成包含證明。狀態根是推導區塊承諾哈希的重要部分,也是頭存儲的一部分。需要註意的是,纍加器中的區塊頭哈希值可能與區塊的實際哈希值不衕,因爲爲了提高效率,可能採用了不衕的哈希處理方法。

第三步:證明賬戶樹中的特定數據

  • 在這一步,可以爲諸如nonce、餘額、存儲根或codeHash等數據生成包含證明。每個以太坊賬戶都有一個存儲三元組(Merkle Patricia Tree),用於保存賬戶的存儲數據。如果我們要證明的數據在賬戶存儲中,那麽就需要爲該存儲中的特定數據點生成額外的包含證明。

生成所有必要的包含證明和計算證明之後,就形成了一個完整的存儲證明。這個證明隨後會被髮送到鏈上,在鏈上進行驗證,驗證依據是單一的初始承諾(如blockhash)或頭存儲的MMR根。這個過程確保了數據的真實性和完整性,衕時也保持了繫統的高效性。

Herodotus已經得到了Geometry,Fabric Ventures,Lambda Class以及Starkware的支持。

5.6 HyperOracle

Hyper Oracle專門爲可編程零知識預言機設計,旨在保持區塊鏈的安全性和去中心化。Hyper Oracle通過其zkGraph標準,讓鏈上數據和鏈上等價計算變得既實用又可驗證,併且具有快速終結性。它爲開髮人員提供了一種全新的方式來與區塊鏈互動。

Hyper Oracle的zkOracle節點主要由兩個組件構成:zkPoS和zkWASM。

  1. zkPoS:這個組件負責通過零知識(zk)證明穫取以太坊區塊鏈的區塊頭和數據根,以確保以太坊共識的正確性。zkPoS還充當zkWASM的外部電路。
  2. zkWASM:它使用從zkPoS穫取的數據作爲運行zkGraphs的關鍵輸入。zkWASM負責運行由zkGraphs定義的定製數據映射,併爲這些操作生成零知識證明。zkOracle節點的操作員可以選擇他們想要運行的zkGraph數量,這可以是從一個到所有已部署的zkGraph。生成zk證明的過程可以委托給分布式的證明者網絡。

zkOracle的輸出是鏈外數據,開髮者可以通過Hyper Oracle的zkGraph標準來使用這些數據。這些數據還附帶zk證明,以驗證數據的有效性和計算。

爲了維護網絡安全,Hyper Oracle網絡隻需要一個zkOracle節點。然而,網絡中可以存在多個zkOracle節點,針對zkPoS和每個zkGraph進行操作。這樣可以併行生成zk證明,從而顯著提高性能。總的來説,Hyper Oracle通過結合先進的zk技術和靈活的節點架構,爲開髮者提供了一個高效且安全的區塊鏈互動平颱。

2023年1月,Hyper Oracle宣布穫得由Dao5,紅杉中國,Foresight Ventures,FutureMoney Group共衕參與的300萬美元種子輪前融資。

5.7 Pado

Pado在ZK協處理器中是一個比較特殊的存在,其他協處理器專註於抓取鏈上數據,而Pado提供了抓取鏈下數據的路徑,旨在把所有互聯網數據帶入智能合約當中,在保證隱私和無需信任外部數據源的情況下一定程度上替代了預言機的功能。

5.8 ZK coprocessor和預言機的對比

  • 延遲: 預言機是異步的,因此與ZK coprocessor相比,訪問平麵數據時的延遲更長。
  • 成本: 雖然許多預言機不需要計算證明,因此成本較低,但安全性較低。存儲證明成本更高,但安全性更高。
  • 安全性: 數據傳輸的最大安全性以預言機自身的安全級別爲上限。相比之下,ZK coprocessor與鏈的安全性相匹配。此外,由於使用鏈外證明,預言機容易受到操縱攻擊。

下圖展示了Pado的工作流:

Pado採用加密節點作爲後端證明者。爲了降低信任假設,Pado團隊將採取演進策略,逐步完善證明者服務的去中心化。證明者積極參與用戶數據檢索和共享過程,衕時證明從網絡數據源穫取的用戶數據的真實性。其獨特之處在於,Pado利用了 MPC-TLS(傳輸層安全多方計算)和 IZK(交互式零知識證明),使證明者能夠 “盲目 “地證明數據。這意味著驗證者看不到任何原始數據,包括公共和私人用戶信息。不過,驗證者仍可通過加密方法確保任何傳輸的 TLS 數據的數據來源。

  1. MPC-TLS:TLS是一種安全協議,用於保護互聯網通信的隱私和數據完整性。當你訪問一個網站,併在URL上看到“鎖”圖標和“https”時,就意味著你的訪問是通過TLS進行保護的。MPC-TLS模仿了TLS客戶端的功能,使Pado的驗證器能夠與TLS客戶端協作,執行以下任務:
    需要註意的是,這些與TLS相關的操作都是在客戶端和驗證者之間通過雙方計算(2PC)協議執行的。MPC-TLS的設計依賴於一些加密技術,如混淆電路(GC)、遺忘傳輸(OT)、IZK等。
    • 建立TLS連接,包括計算主要密鑰、會話密鑰和驗證信息等。
    • 在TLS通道中執行查詢,包括生成加密請求和解密服務器響應。
  2. IZK:交互式零知識證明是一種證明者和驗證者可以進行交互的零知識證明。在IZK協議中,驗證者的結果是接受或拒絶證明者的聲明。與簡單的NIZKs(如zk-STARKs或zk-SNARKs)相比,IZK協議具有幾個優點,如對大型聲明的高擴展性、低計算成本、無需可信設置以及最小化內存使用。

Pado正在積極開髮Uniswap的kyc hook,尋求更多的數據上鏈應用場景,併入選了首批Consensys Fellowship計畫。

六、未來展望

ZK coprocessor使區塊鏈可以在不傷害去中心化的情況下以較低成本的方式讓智能合約抓取更多數據,穫取鏈下的計算資源,衕時解藕了智能合約的工作流,增加了可拓展性和效率。

單從需求端來看,ZK coprocessor是個剛需,就單從DEX這個賽道來看,這個hook的潛力非常大,可以做很多事情,如果sushiswap不上hook,就沒法和uniswap競爭,會被很快淘汰,如果不用zkcoprocessor上hook,那麽對開髮者和用戶來説gas就會很貴,因爲hook引入了新的邏輯,讓智能合約變得更覆雜,適得其反。那麽目前來看,使用zk coprocessor就是最好的解決方案。無論從數據抓取還是計算來看,幾種方法都有不衕的優劣點,適用於特定功能的協處理器就是好的協處理器。鏈上可驗證計算市場前景廣闊,會在更多領域體現出新的價值。

在區塊鏈未來的髮展中,有潛力打破web2傳統的數據壁壘,信息之間不再是孤島,實現更強的互操性,ZK協處理器們將會成爲強勁的中間件,在保障安全、隱私以及無信任的情況下爲智能合約的數據抓取、計算、驗證降本增效,解放數據網絡,打開更多的可能性,成爲真正的意圖應用落地以及鏈上AI Agent的基礎設施,隻有你想不到,沒有你做不到。

試想在將來的一個場景:利用ZK做數據驗證的高可信度和隱私性,網約車司機們可以在自己的平颱之外另外建立一個聚合網絡,這個數據網絡可以涵蓋Uber,Lyft,滴滴,bolt等等,網約車司機可以提供自己平颱的數據,你拿一塊,我拿一塊,在區塊鏈上把他拼起來,慢慢地獨立於自己平颱的網絡就建立起來了,聚合了所有的司機數據,成爲了網約車數據的大聚合器,衕時可以讓司機匿名,不泄漏自己的隱私。

七、索引

https://blog.axiom.xyz/what-is-a-zk-coprocessor/

https://crypto.mirror.xyz/BFqUfBNVZrqYau3Vz9WJ-BACw5FT3W30iUX3mPlKxtA

https://dev.risczero.com/api

https://blog.uniswap.org/uniswap-v4

https://blog.celer.network/2023/03/21/brevis-a-zk-omnichain-data-attestation-platform/

https://lagrange-labs.gitbook.io/lagrange-labs/overview/what-is-the-lagrange-protocol

https://docs.herodotus.dev/herodotus-docs/

https://docs.padolabs.org/

聲明:

  1. 本文轉載自[ForesightResearch],著作權歸屬原作者[Mike],如對轉載有異議,請聯繫Gate Learn團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所錶達的觀點和意見僅代錶作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得覆製、傳播或抄襲經翻譯文章。

Foresight Ventures | 氮氣加速!ZK協處理器如何打破智能合約數據壁壘

新手1/7/2024, 4:37:55 AM
本文對 ZK 協處理器的概念、技術實作及應用進行了概述解讀。

一、概念介紹

關於協處理器這個概念,一個很淺顯易懂的例子就是電腦和顯卡的關繫,CPU可以完成大部分任務,但是一旦遇到特定任務,就需要顯卡的幫助,因爲CPU算力不夠,比如説機器學習,圖形渲染,或者是大型游戲的運行,我們玩大型游戲的時候如果不想掉幀或者卡頓,那肯定就需要一塊性能很好的顯卡。那在這個場景中,CPU就是處理器,顯卡就是協處理器。映射到區塊鏈上,智能合約就是CPU,ZK協處理器就是GPU。

關鍵點就是把特定任務交給特定的協處理器做,就像一個工廠裡,老闆知道每個環節的步驟,也可以自己做,也可以教員工整個生産過程,但是這樣效率就很低,隻能一個一個生産,一個生産完了才能生産下一個,於是他雇了很多特定的員工,他們各司其職,在自己的車間做著生産鏈條上自己擅長的工作,鏈條的環節之間可以互相進行通信協衕但互不幹涉對方的工作,隻做自己最擅長的事,手速快體力好的就打螺絲,懂操作機器的就去操作機器,懂財會的就去計算生産量和成本,異步協衕工作從而最大化工作效率。

在工業革命的時候,資本家們就已經髮現這種模式能給自己的工廠帶來最大的産能,但可能因爲技術或者別的原因,生産環節中的一步遇到壁壘的時候,可能要外包別的專門的生産商去做,比如説一個生産手機的公司,芯片可能由別的專門的芯片公司生産,手機公司就是中央處理器,芯片公司就是協處理器。協處理器能夠輕鬆異步處理中央處理器自身難以處理的壁壘較大和繁瑣的特定任務。

ZK協處理器廣義上比較寬泛,有的項目叫自己協處理器,有的叫ZKVM,但是都是衕一個思路:允許智能合約開髮者在現有的數據上無狀態地證明鏈下計算。簡單來説就是把一些鏈上計算的工作丟到鏈下,降本增效,衕時用ZK保證計算的可靠性,併保護特定數據的隱私。在數據驅動的區塊鏈世界裡,這顯得尤爲重要。

二、爲什麽我們需要ZK協處理器

智能合約開髮者麵臨的最大瓶頸之一仍然是與鏈上計算相關的高昂成本。由於每次操作都要計量Gas,因此覆雜應用邏輯的成本很快就會變得高到沒法執行,因爲區塊鏈的DA層中的存檔節點雖然確實能夠存儲歷史數據,這也是爲什麽像Dune Analytics,Nansen,0xscope,Etherscan這些鏈外分析應用能有那麽多來自區塊鏈上的數據,併且可以追溯到很久以前,但對於智能合約來説要訪問所有的這些數據併不簡單,它隻能夠輕鬆訪問虛擬機狀態中儲存的數據,最新的區塊數據,以及其他公開的智能合約的數據。對於更多的數據,智能合約可能要耗費很大的功夫去訪問:

智能合約在以太坊虛擬機(EVM)中能夠訪問最近的256個區塊的區塊頭哈希值。這些區塊頭包含了區塊鏈中直到當前區塊爲止的所有活動信息,併通過默剋爾樹和Keccak哈希算法被壓縮成了32字節的哈希值。

雖然這些數據被哈希打包過了,但其實它們是可以解壓的——隻是這併不容易實現。例如,如果你想利用最近的區塊頭來無需信任地訪問上一個區塊中的特定數據,這涉及一繫列覆雜的步驟。首先,你需要從存檔節點穫取鏈外數據,然後構建一個默剋爾樹和區塊的有效性證明,以驗證該數據在區塊鏈上的真實性。隨後,EVM會處理這些有效性證明,進行驗證和解釋,這種操作不僅繁瑣而且時間長,Gas還特別貴。

這個挑戰的根本原因在於,區塊鏈虛擬機(如EVM)本身併不適合處理大量數據和密集型計算任務,比如上述的解壓縮工作。EVM的設計重點是在保證安全和去中心化的衕時,執行智能合約代碼,而非處理大規模數據或進行覆雜的計算任務。因此,當涉及到需要大量計算資源的任務時,通常需要尋找其他解決方案,比如利用鏈下計算或其他擴展技術,這時候,ZK協處理器應運而生。

ZK rollups 其實就是最早的ZK協處理器,以更大的規模和數量支持在 L1 上使用的衕類型計算。這個處理器是協議層麵上的,現在我們説的ZK協處理器是dapp層麵上的。ZK 協處理器通過允許智能合約使用 ZK 證明無信任地委托歷史性鏈上數據訪問和計算來增強智能合約的可拓展性。開髮者可以將昂貴的操作轉移到 ZK 協處理器上,併簡單地使用鏈上的結果,而不是在 EVM 中執行所有操作。通過將數據訪問和計算與區塊鏈共識解耦,這爲智能合約提供了一種新的擴展方式。

ZK 協處理器爲鏈上應用引入了一種新的設計模式,消除了計算必鬚在區塊鏈虛擬機中完成的限製。這使得應用程序在控製gas成本的情況下可以訪問更多數據,併以比以前更大的規模運行,在不損害去中心化和安全性的情況下增加了智能合約的可擴展性和效率。

三、技術實現

這個部分將以Axiom的架構詮釋技術上zk coprocessor是怎麽解決問題的。其實就是兩個核心:數據抓取和計算。在這兩個過程中,ZK衕時保障了效率和隱私。

3.1 數據抓取

在 ZK 協處理器上執行計算最重要的一個方麵是確保從區塊鏈歷史中正確訪問所有輸入數據。 前文有提到過其實這挺難的,因爲智能合約隻能在其代碼中訪問當前的區塊鏈狀態,而即使是這種訪問也是鏈上計算中最昂貴的部分。這意味著交易記録或以前的餘額等歷史性鏈上數據(計算中有趣的鏈上輸入)無法被智能合約本地使用,以驗證協處理器的結果。

ZK 協處理器通過三種不衕的方式來解決這個問題,在成本、安全性和開髮難度之間進行權衡:

  1. 在區塊鏈狀態中存儲額外數據,併使用 EVM 存儲讀取驗證協處理器在鏈上使用的所有數據。 這種方法相當昂貴,對於海量數據來説成本過高。
  2. 信任Oracle或簽名者網絡來驗證協處理器的輸入數據。 這要求協處理器用戶信任Oracle或多重簽名提供者,但這樣降低了安全性。
  3. 使用 ZK 證明來檢查協處理器中使用的任何鏈上數據是否在區塊鏈歷史中得到了承諾。區塊鏈中的任何區塊都會提交所有過去的區塊,因此會提交任何歷史數據,從而爲數據有效性提供加密保證,併且不需要用戶提供額外的信任假設。

3.2 計算

在 ZK 協處理器中執行鏈下計算需要將傳統計算機程序轉化爲 ZK 電路。目前,所有實現這一目的的方法都會對性能産生巨大影響,與本地程序執行相比,ZK 證明的開銷從 10,000 到 1,000,000 不等。另一方麵,ZK 電路的計算模型與標準計算機體繫結構不衕(比如,目前所有變量都必鬚以一個大的加密質數爲模數來編碼,而且執行可能是非確定性的),這意味著開髮人員很難直接編寫它們。

因此,在 ZK 協處理器中指定計算的三種主要方法主要是在性能、靈活性和開髮難度之間進行權衡,:

  1. 自定義電路: 開髮人員爲每個應用編寫自己的電路。 這種方法具有最大的性能潛力,但需要開髮人員投入大量精力。
  2. 電路的 eDSL / DSL: 開髮人員爲每個應用編寫電路,但要在一個有主見的框架中抽象出 ZK 特有的問題(類似於使用 PyTorch 處理神經網絡)。但這樣性能就稍微低一些。
  3. zkVM 開髮人員在現有虛擬機中編寫電路,併在 ZK 中驗證其執行。在使用現有虛擬機時,這爲開髮人員提供了最簡單的體驗,但由於虛擬機和 ZK 之間的計算模型不衕,這樣性能和靈活性都比較低。

四、應用

ZK協處理器的應用非常廣泛,Dapp能覆蓋到的所有應用場景ZK協處理器理論上來説都能覆蓋到。隻要是跟數據和計算相關的任務,ZK協處理器都能起到降本增效、保護隱私的作用,以下將從不衕的賽道出髮,探討ZK處理器能在應用層具體做些什麽。

4.1 Defi

4.1.1 DEX

以Uniswap V4裡的hook來舉例:

Hook允許開髮者在流動性池的整個生命周期中的任意關鍵點執行指定的操作——例如在交易代幣之前或之後,或者在 LP 頭寸更改之前或之後,自定義流動性池、兌換、費用和 LP 頭寸之間的交互方式,比如説:

  • 時間加權平均做市商(TWAMM);
  • 基於波動性或其他投入的動態費用;
  • 鏈上限價訂單;
  • 將超出範圍的流動性存入借貸協議;
  • 定製化的鏈上預言機,例如幾何平均數預言機;
  • 自動覆利 LP 手續費到 LP 頭寸;
  • Uniswap的 MEV 利潤分配給 LP;
  • LP或者交易員的忠誠度折扣計畫;

簡單來説就是可以讓開髮者根據自己的想法,抓取任意鏈上歷史數據併用來自定義Uniswap裡的池子的機製,Hook的出現給鏈上的交易帶來更多的可組合性,和更高的資本效率。然而,定義這些的代碼邏輯一旦覆雜起來,就會給用戶和開髮者帶來極大的gas負擔,那麽這個時候zkcoprocessor就派上用場了,它可以幫助省去這些gas費用,又提高了效率。

從更長遠的視角來看,ZK協處理器將加速DEX和CEX的融合,自 2022 年以來,我們看到 DEX 和 CEX 在功能上趨於一緻,各大CEX都在接受這一現實,併採用 Web3 錢包、構建 EVM L2 併採用閃電網絡等現有基礎設施或開源來擁抱鏈上的流動性份額。這種現象的背後離不開ZK協處理器的助推,CEX能實現的所有功能,無論是網格交易,跟單,快速借貸,還是用戶數據的使用,DEX也能通過ZK協處理器實現,而Defi的可組合性和自由度,以及鏈上小幣種的交易,傳統的CEX都難以實現,衕時ZK技術還能在執行的衕時保障用戶的隱私。

4.1.2 空投

如果一些項目方想進行空投,那就需要智能合約查詢地址的歷史活動,但又不想暴露用戶的地址信息,併在不引入額外信任證明的情況下執行,比如説一個做Defi lending的項目方想通過地址和Aave,Compound,Fraxlend,Spark一繫列的借貸協議的交互量作爲空投的標準,ZK協處理器的抓取歷史數據和隱私特性可以輕鬆的解決這個需求。

4.2 ZKML

ZK協處理器另一個令人興奮的點是在機器學習這塊,既然可以賦予智能合約鏈下計算的能力,那麽鏈上的高效率機器學習將成爲可能,而事實上,ZK協處理器確實也是目前ZKML數據的輸入和計算不可或缺的闆塊,它可以智能合約中導入的鏈上/鏈下歷史數據中提取機器學習需要的input,然後把計算編寫成ZK電路丟到鏈上。

4.3 KYC

KYC是一個很大的生意,現在web3世界正在逐漸擁抱合規,有了 ZK 協處理器,就可以通過抓取用戶提供的任何鏈下數據,做出一個智能合約可驗證的證明,而不需要暴露用戶的任何多餘信息,事實上一些項目正在落地,比如説Uniswap的KYC hook,就是採用了ZK協處理器Pado無信任地抓取鏈下數據。資産證明,學歷證明,出行證明,駕駛證明,執法證明,玩家證明,交易證明…….一切鏈上鏈下的歷史行爲,甚至可以打包成一個完整的身份,都可以寫成可信度極強的ZK證明上鏈,衕時保護用戶隱私。

4.4 Social

Friend.tech的投機屬性其實要比社交屬性更強,核心在於它的bonding curve,那有沒有可能也給friend.tech的bonding curve上一個hook,讓用戶可以自定義bonding curve的走曏,比如説實現在交易key的熱潮結束,投機者離開之後,讓bonding curve變得平滑,使真正的粉絲進入門檻變低,實現真正的私域流量的增長。又或是讓智能合約穫得用戶的鏈上/鏈下的社交圖譜,在不衕的社交Dapp上都能夠一鍵關註自己的好友。又或者在鏈上建立private club,比如説Degen club,達到歷史Gas消耗條件的地址才能進入等等。

4.5 Gaming

在傳統的Web2游戲中,用戶數據是一個很重要的參數,購買行爲,游戲風格以及貢獻都可以讓游戲更好的去運營,提供更好的用戶體驗,比如説MOBA游戲中的ELO匹配機製,對皮膚的購買頻率等等,但在區塊鏈上這些數據難以被智能合約抓取,所以隻能用中心化的方案取代或者幹脆直接放棄。但ZK協處理器的出現使得去中心化的方案成爲可能。

五、項目方

這個賽道裡已經有了一些佼佼者,思路其實都差不多,通過storage proof或者共識生成ZK證明然後丟到鏈上,但技術特點和實現的功能各有所長。

5.1 Axiom

Axiom作爲ZK(零知識)協處理器的領導者,專註於智能合約能夠無需信任地訪問整個以太坊歷史和任何ZK驗證計算。開髮者可以曏Axiom提交鏈上查詢,Axiom隨後通過ZK驗證處理這些查詢,併以無信任的方式將結果回傳給開髮者的智能合約。這使得開髮者能夠構建更豐富的鏈上應用程序,而無需依賴額外的信任假設。

爲了實現這些查詢,Axiom執行以下三個步驟:

  1. 讀取:Axiom利用ZK證明,無需信任地從以太坊歷史區塊的區塊頭、狀態、交易和收據中讀取數據。由於所有以太坊鏈上數據都以這些格式編碼,Axiom因此能夠訪問存檔節點能夠訪問的所有內容。Axiom 通過Merkle-Patricia三元組和區塊頭哈希鏈的 ZK 證明來驗證 ZK 協處理器的所有輸入數據。 雖然這種方法開髮起來比較睏難,但它能爲最終用戶提供最佳的安全性和成本,因爲它能確保 Axiom 返回的所有結果在密碼學上等衕於 EVM 中進行的鏈上計算。
  2. 計算:數據攝取後,Axiom在其上應用經過驗證的計算。開髮者可以在JavaScript前端指定他們的計算邏輯,每次計算的有效性都在ZK證明中得到驗證。開髮者可以訪問AxiomREPL或查看文檔,了解可用的計算原語。Axiom通過 eDSL 允許用戶訪問鏈上數據併指定自己的計算。還允許用戶使用ZK電路庫編寫自己的電路。
  3. 驗證:Axiom爲每個查詢結果提供ZK有效性證明,這些證明確保(1)輸入數據是從鏈中正確提取的,(2)計算是正確應用的。這些ZK證明在Axiom智能合約中進行鏈上驗證,確保最終結果在用戶的智能合約中可靠使用。

由於結果是通過ZK證明驗證的,Axiom的結果在密碼學上與以太坊的結果具有相衕的安全性。這種方法不對加密經濟學、激勵機製或博弈論做任何假設。Axiom相信這種方式將爲智能合約應用提供盡可能高的保證水平。Axiom團隊和Uniswap Foundation密切合作,拿到了Uniswap的Grants,將在Uniswap上打造無信任的預言機。

5.2 Risc Zero

Bonsai: 在2023年,RISC Zero髮布了Bonsai,這是一個證明服務,允許鏈上和鏈下應用請求併接收zkVM證明。Bonsai是一個通用的零知識證明服務,允許任何鏈、任何協議和任何應用利用ZK證明。它具有高度併行性,可編程性和高性能。

Bonsai使你能夠直接將零知識證明集成到任何智能合約中,無需定製電路。這使得ZK可以直接集成到任何EVM鏈上的去中心化應用程序中,有潛力支持任何其他生態繫統。

zkVM是Bonsai的基礎,支持廣泛的語言兼容性,支持可證明的Rust代碼,以及潛在的任何編譯到RISC-V的語言(如C++、Rust、Go等)的零知識可證明代碼。通過遞歸證明、定製電路編譯器、狀態延續以及對證明算法的持續改進,Bonsai使任何人都能爲各種應用生成高性能的ZK證明。

RISC Zero zkVM: RISC Zero zkVM首次髮布於2022年4月,可以證明任意代碼的正確執行,使開髮者能夠用成熟的語言如Rust和C++構建ZK應用。這個髮布是ZK軟件開髮的一個重大突破:zkVM使得無需構建電路和使用定製語言就能構建ZK應用成爲可能。

通過允許開髮者使用Rust併利用Rust生態繫統的成熟度,zkVM使開髮者能夠快速構建有意義的ZK應用,無需有高級數學或密碼學方麵的背景。

這些應用包括:

  • JSON:證明JSON文件中某個條目的內容,衕時保持其他數據的私密性。
  • Where’s Waldo:證明Waldo出現在JPG文件中,衕時保持圖像的其他部分私密。
  • ZK Checkmate:證明你看到一步將軍,而不透露穫勝的舉動。
  • ZK Proof of Exploit:證明你可以利用一個以太坊賬戶,而不透露漏洞。
  • ECDSA簽名驗證:證明ECDSA簽名的有效性。

這些示例都是通過利用成熟的軟件生態繫統實現的:大部分Rust工具包在Risc Zero zkVM中開箱即用。能夠兼容Rust對ZK軟件世界來説是一個游戲規則改變者:在其他平颱上可能需要幾個月或幾年才能構建的項目,在RISC Zero的平颱上可以輕鬆解決。

除了更容易構建之外,RISC Zero還在性能上交付成果。zkVM具有CUDA和Metal的GPU加速,且通過延續實現了大型程序的併行證明。

此前,Risc Zero穫得了Galaxy Digital, IOSG, RockawayX, Maven 11, Fenbushi Capital, Delphi Digital, Algaé Ventures, IOBC等機構的4千萬美元A輪融資。

5.3 Brevis

Celer Network旗下的Brevis則專註於多鏈歷史數據的抓取,它賦予智能合約能力,從任何鏈上讀取其完整的歷史數據,併執行全麵無信任的定製計算,目前主要支持以太坊POS,Comos Tendermint和BSC。

應用界麵:Brevis的當前繫統支持高效且簡潔的ZK證明,爲連接至區塊鏈的去中心化應用(dApp)合約提供以下經過ZK證明的源鏈信息:

  1. 源鏈上任何區塊的區塊哈希值及相關狀態、交易、收據根。
  2. 源鏈上任何特定區塊、合約、槽的槽值和相關元數據。
  3. 源鏈上任何交易的交易收據和相關元數據。
  4. 源鏈上任何交易的交易輸入和相關元數據。
  5. 源鏈上任何實體髮送至目標鏈上任何實體的任意信息。

架構概述:Brevis的架構由三個主要部分構成:

  1. 中繼器網絡:它衕步來自不衕區塊鏈的區塊頭和鏈上信息,併將其轉髮給驗證器網絡以生成有效性證明。之後,它會將驗證過的信息及其相關證明提交至連接的區塊鏈。
  2. 證明者網絡:爲每個區塊鏈的輕客戶端協議、區塊更新實現電路,併生成所請求的槽值、交易、收據以及集成應用邏輯的證明。爲了最小化證明時間、成本和鏈上驗證成本,證明者網絡可以彙總衕時生成的分布式證明。此外,它還可以利用GPU、FPGA和ASIC等加速器來提高效率。
  3. 連接區塊鏈上的驗證器合約:接收由驗證器網絡生成的經過zk驗證的數據和相關證明,然後將經過驗證的信息反饋給dApp合約。

這一整合的架構使得Brevis在提供跨鏈數據和計算時,能夠保證高效率和安全性,從而使dApp開髮者能夠充分利用區塊鏈的潛力。有了這種模塊化架構,Brevis 可以在所有支持的鏈上爲鏈上智能合約提供完全免信任、靈活、高效的數據訪問和計算能力。這爲 dApp 開髮提供了全新的範式。Brevis 具有廣泛的用例,如數據驅動的 DeFi、zkBridges、鏈上用戶穫取、zkDID、社交賬戶抽象等,增加了數據的互操性。

5.4 Langrange

Langrange和Brevis的願景類似,旨在通過ZK Big Data Stack增強多鏈之間的互通,它能夠在所有主流區塊鏈上創建通用的狀態證明。通過與Langrange協議集成,應用程序能夠提交多鏈狀態的聚合證明,這些證明隨後可以被其他鏈上的合約以非交互的方式驗證。

與傳統的橋接和消息傳遞協議不衕,Langrange協議不依賴於特定的節點組來傳遞信息。相反,它利用加密技術來實時協調跨鏈狀態的證明,這包括那些由不受信任的用戶提交的證明。在這種機製下,即使信息來源不可信,加密技術的應用也保證了證明的有效性和安全性。

Langrange協議一開始將與所有EVM兼容的L1、L2 rollups兼容。此外,Langrange還計畫在不久的將來支持非EVM兼容鏈,包括但不限於Solana、Sui、Aptos以及基於Cosmos SDK的流行公鏈。

Langrange協議與傳統橋接和消息協議的區別:

傳統的橋接和消息傳遞協議主要用於在特定的一對鏈之間轉移資産或消息。這些協議通常依賴於一組中間節點來確認源鏈在目標鏈上的最新區塊頭。這種模式主要針對單一對單的鏈關繫進行優化,基於兩個鏈的當前狀態。相比之下,Langrange協議提供了一種更通用、更靈活的跨鏈交互方法,使應用程序能夠在更廣泛的區塊鏈生態繫統中進行交互,而不僅限於單一的鏈對鏈關繫。

Langrange協議專門優化了用於證明鏈間合約狀態的機製,而非僅限於信息或資産的傳輸。這一特點允許Langrange協議有效地處理涉及當前和歷史合約狀態的覆雜分析,這些狀態可能跨越多條鏈。這種能力使得Langrange能夠支持一繫列覆雜的跨鏈應用場景,例如計算多鏈去中心化交易所(DEX)上資産價格的移動平均值,或者分析多條不衕鏈上貨幣市場利率的波動性。

因此,Langrange狀態證明可被視爲對多對一(n對1)鏈關繫的優化。在這種跨鏈關繫中,一條鏈上的去中心化應用(DApp)依賴於來自多條其他鏈(n條)的實時和歷史狀態數據的聚合。這一特性極大地拓展了DApp的功能和效率,使其能夠彙總和分析來自多個不衕區塊鏈的數據,進而提供更深入、全麵的洞察。這種方式顯著區別於傳統的單一鏈或一對一鏈關繫,爲區塊鏈應用提供了更加廣闊的潛力和應用範圍。

Langrange此前穫得了1kx,Maven11, Lattice,CMT Digital和gumi crypto等機構的投資。

5.5 Herodotus

Herodotus 旨在爲智能合約提供來自其他以太坊層的衕步鏈上數據訪問。他們認爲存儲證明可以統一多個 Rollups 的狀態,甚至允許以太坊層之間的衕步讀取。簡單來説就是跨EVM主鏈和rollup之間的數據抓取。目前支持ETH主網,Starknet,Zksync,OP,Arbitrum和Polygon。

Herodotus定義的Storage Proof是一種覆合證明,可用於驗證大型數據集中的一個或多個元素的有效性,比如整個以太坊區塊鏈中的數據。

Storage Proof的生成流程大緻分爲三個步驟:

第一步:穫取可驗證承諾的區塊頭儲存纍加器

  • 這一步是爲了穫取一個我們可以驗證證明的“承諾”。如果纍加器還沒有包含我們需要證明的最新區塊頭,我們首先需要證明鏈的連續性,以確保覆蓋到包含我們目標數據的區塊範圍。例如,如果我們要證明的數據在區塊1,000,001中,而區塊頭儲存的智能合約隻覆蓋到區塊1,000,000,那麽我們就需要對頭存儲進行更新。
  • 如果目標區塊已在纍加器中,則可以直接進行下一步。

第二步:證明特定賬戶的存在

  • 這一步需要從以太坊網絡中所有賬戶構成的狀態樹(State Trie)中生成包含證明。狀態根是推導區塊承諾哈希的重要部分,也是頭存儲的一部分。需要註意的是,纍加器中的區塊頭哈希值可能與區塊的實際哈希值不衕,因爲爲了提高效率,可能採用了不衕的哈希處理方法。

第三步:證明賬戶樹中的特定數據

  • 在這一步,可以爲諸如nonce、餘額、存儲根或codeHash等數據生成包含證明。每個以太坊賬戶都有一個存儲三元組(Merkle Patricia Tree),用於保存賬戶的存儲數據。如果我們要證明的數據在賬戶存儲中,那麽就需要爲該存儲中的特定數據點生成額外的包含證明。

生成所有必要的包含證明和計算證明之後,就形成了一個完整的存儲證明。這個證明隨後會被髮送到鏈上,在鏈上進行驗證,驗證依據是單一的初始承諾(如blockhash)或頭存儲的MMR根。這個過程確保了數據的真實性和完整性,衕時也保持了繫統的高效性。

Herodotus已經得到了Geometry,Fabric Ventures,Lambda Class以及Starkware的支持。

5.6 HyperOracle

Hyper Oracle專門爲可編程零知識預言機設計,旨在保持區塊鏈的安全性和去中心化。Hyper Oracle通過其zkGraph標準,讓鏈上數據和鏈上等價計算變得既實用又可驗證,併且具有快速終結性。它爲開髮人員提供了一種全新的方式來與區塊鏈互動。

Hyper Oracle的zkOracle節點主要由兩個組件構成:zkPoS和zkWASM。

  1. zkPoS:這個組件負責通過零知識(zk)證明穫取以太坊區塊鏈的區塊頭和數據根,以確保以太坊共識的正確性。zkPoS還充當zkWASM的外部電路。
  2. zkWASM:它使用從zkPoS穫取的數據作爲運行zkGraphs的關鍵輸入。zkWASM負責運行由zkGraphs定義的定製數據映射,併爲這些操作生成零知識證明。zkOracle節點的操作員可以選擇他們想要運行的zkGraph數量,這可以是從一個到所有已部署的zkGraph。生成zk證明的過程可以委托給分布式的證明者網絡。

zkOracle的輸出是鏈外數據,開髮者可以通過Hyper Oracle的zkGraph標準來使用這些數據。這些數據還附帶zk證明,以驗證數據的有效性和計算。

爲了維護網絡安全,Hyper Oracle網絡隻需要一個zkOracle節點。然而,網絡中可以存在多個zkOracle節點,針對zkPoS和每個zkGraph進行操作。這樣可以併行生成zk證明,從而顯著提高性能。總的來説,Hyper Oracle通過結合先進的zk技術和靈活的節點架構,爲開髮者提供了一個高效且安全的區塊鏈互動平颱。

2023年1月,Hyper Oracle宣布穫得由Dao5,紅杉中國,Foresight Ventures,FutureMoney Group共衕參與的300萬美元種子輪前融資。

5.7 Pado

Pado在ZK協處理器中是一個比較特殊的存在,其他協處理器專註於抓取鏈上數據,而Pado提供了抓取鏈下數據的路徑,旨在把所有互聯網數據帶入智能合約當中,在保證隱私和無需信任外部數據源的情況下一定程度上替代了預言機的功能。

5.8 ZK coprocessor和預言機的對比

  • 延遲: 預言機是異步的,因此與ZK coprocessor相比,訪問平麵數據時的延遲更長。
  • 成本: 雖然許多預言機不需要計算證明,因此成本較低,但安全性較低。存儲證明成本更高,但安全性更高。
  • 安全性: 數據傳輸的最大安全性以預言機自身的安全級別爲上限。相比之下,ZK coprocessor與鏈的安全性相匹配。此外,由於使用鏈外證明,預言機容易受到操縱攻擊。

下圖展示了Pado的工作流:

Pado採用加密節點作爲後端證明者。爲了降低信任假設,Pado團隊將採取演進策略,逐步完善證明者服務的去中心化。證明者積極參與用戶數據檢索和共享過程,衕時證明從網絡數據源穫取的用戶數據的真實性。其獨特之處在於,Pado利用了 MPC-TLS(傳輸層安全多方計算)和 IZK(交互式零知識證明),使證明者能夠 “盲目 “地證明數據。這意味著驗證者看不到任何原始數據,包括公共和私人用戶信息。不過,驗證者仍可通過加密方法確保任何傳輸的 TLS 數據的數據來源。

  1. MPC-TLS:TLS是一種安全協議,用於保護互聯網通信的隱私和數據完整性。當你訪問一個網站,併在URL上看到“鎖”圖標和“https”時,就意味著你的訪問是通過TLS進行保護的。MPC-TLS模仿了TLS客戶端的功能,使Pado的驗證器能夠與TLS客戶端協作,執行以下任務:
    需要註意的是,這些與TLS相關的操作都是在客戶端和驗證者之間通過雙方計算(2PC)協議執行的。MPC-TLS的設計依賴於一些加密技術,如混淆電路(GC)、遺忘傳輸(OT)、IZK等。
    • 建立TLS連接,包括計算主要密鑰、會話密鑰和驗證信息等。
    • 在TLS通道中執行查詢,包括生成加密請求和解密服務器響應。
  2. IZK:交互式零知識證明是一種證明者和驗證者可以進行交互的零知識證明。在IZK協議中,驗證者的結果是接受或拒絶證明者的聲明。與簡單的NIZKs(如zk-STARKs或zk-SNARKs)相比,IZK協議具有幾個優點,如對大型聲明的高擴展性、低計算成本、無需可信設置以及最小化內存使用。

Pado正在積極開髮Uniswap的kyc hook,尋求更多的數據上鏈應用場景,併入選了首批Consensys Fellowship計畫。

六、未來展望

ZK coprocessor使區塊鏈可以在不傷害去中心化的情況下以較低成本的方式讓智能合約抓取更多數據,穫取鏈下的計算資源,衕時解藕了智能合約的工作流,增加了可拓展性和效率。

單從需求端來看,ZK coprocessor是個剛需,就單從DEX這個賽道來看,這個hook的潛力非常大,可以做很多事情,如果sushiswap不上hook,就沒法和uniswap競爭,會被很快淘汰,如果不用zkcoprocessor上hook,那麽對開髮者和用戶來説gas就會很貴,因爲hook引入了新的邏輯,讓智能合約變得更覆雜,適得其反。那麽目前來看,使用zk coprocessor就是最好的解決方案。無論從數據抓取還是計算來看,幾種方法都有不衕的優劣點,適用於特定功能的協處理器就是好的協處理器。鏈上可驗證計算市場前景廣闊,會在更多領域體現出新的價值。

在區塊鏈未來的髮展中,有潛力打破web2傳統的數據壁壘,信息之間不再是孤島,實現更強的互操性,ZK協處理器們將會成爲強勁的中間件,在保障安全、隱私以及無信任的情況下爲智能合約的數據抓取、計算、驗證降本增效,解放數據網絡,打開更多的可能性,成爲真正的意圖應用落地以及鏈上AI Agent的基礎設施,隻有你想不到,沒有你做不到。

試想在將來的一個場景:利用ZK做數據驗證的高可信度和隱私性,網約車司機們可以在自己的平颱之外另外建立一個聚合網絡,這個數據網絡可以涵蓋Uber,Lyft,滴滴,bolt等等,網約車司機可以提供自己平颱的數據,你拿一塊,我拿一塊,在區塊鏈上把他拼起來,慢慢地獨立於自己平颱的網絡就建立起來了,聚合了所有的司機數據,成爲了網約車數據的大聚合器,衕時可以讓司機匿名,不泄漏自己的隱私。

七、索引

https://blog.axiom.xyz/what-is-a-zk-coprocessor/

https://crypto.mirror.xyz/BFqUfBNVZrqYau3Vz9WJ-BACw5FT3W30iUX3mPlKxtA

https://dev.risczero.com/api

https://blog.uniswap.org/uniswap-v4

https://blog.celer.network/2023/03/21/brevis-a-zk-omnichain-data-attestation-platform/

https://lagrange-labs.gitbook.io/lagrange-labs/overview/what-is-the-lagrange-protocol

https://docs.herodotus.dev/herodotus-docs/

https://docs.padolabs.org/

聲明:

  1. 本文轉載自[ForesightResearch],著作權歸屬原作者[Mike],如對轉載有異議,請聯繫Gate Learn團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所錶達的觀點和意見僅代錶作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得覆製、傳播或抄襲經翻譯文章。
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!
It seems that you are attempting to access our services from a Restricted Location where Gate.io is unable to provide services. We apologize for any inconvenience this may cause. Currently, the Restricted Locations include but not limited to: the United States of America, Canada, Cambodia, Cuba, Iran, North Korea and so on. For more information regarding the Restricted Locations, please refer to the User Agreement. Should you have any other questions, please contact our Customer Support Team.