協處理器歷史背景

在傳統的計算機領域,協處理器是負責爲CPU大腦處理其它繁雜的事情的處理單元。協處理在計算機領域非常常見,如蘋果在2013年推出M7運動協處理器,大幅度提升了智能設備的運動方面靈敏度。廣爲人知的GPU便是Nvidia在2007年提出的協處理器,其負責爲CPU處理圖形渲染等任務。GPU通過卸載一些計算密集且耗時的代碼部分來加速CPU上運行的應用程序,這種架構被稱爲“異構” / “混合”計算。

協處理器能夠卸載一些複雜且單一性能要求或者性能要求極高的代碼,讓CPU去處理更加靈活多變的部分。

在以太坊鏈上,有兩個嚴重阻礙應用發展的問題:

  1. 由於操作需要高昂的Gas Fee,一筆普通的轉賬硬編碼爲21000 Gas Limit,這個就展現以太坊網絡的Gas Fee底線,其它操作包括存儲就會花費更多的Gas,進而就會限制鏈上應用的開發範圍,大多數的合約代碼僅僅是圍繞資產操作而編寫,一旦涉及到複雜的操作就會需要大量Gas,這對於應用和用戶的“Mass Adoption”是嚴重阻礙。

  2. 由於智能合約存在於虛擬機中,智能合約實際上只能訪問近期的256個區塊的數據,特別是在明年的Pectra升級,引入的EIP-4444提案,全節點將不會再存儲過去的區塊數據,那麼數據的缺失,導致了基於數據的創新應用遲遲無法出現,畢竟類似於Tiktok、Instagram、多數據的Defi應用、LLM等都是基於數據來進行構建,這也是爲什麼Lens這種基於數據的社交協議要推出Layer3 Momoka的原因,因爲我們認爲的區塊鏈是數據流向非常順暢的畢竟鏈上都是公開透明的,但是實際不然,僅僅是代幣資產數據流通順暢,但是數據資產由於底層設施的不完善仍然阻礙很大,這也會嚴重限制“Mass Adoption”產品的出現。

我們通過這一事實,發現其計算和數據都是限制新的計算範式“Mass Adoption”出現的原因。然而這個是以太坊區塊鏈本身的弊病,並且其在設計時本就不是爲了處理大量計算以及數據密集型任務而設計的。但是想要兼容這些計算與數據密集型的應用該如何實現?這裏就需要引出協處理器,以太坊鏈本身作爲CPU,協處理器就類似於GPU,鏈本身能處理一些非計算、數據密集型的資產數據和簡單操作,而應用想要靈活使用數據或者計算資源可以使用協處理器。伴隨着ZK技術的探索,爲了保證協處理器在鏈下進行計算和數據使用的無需信任,因此自然而然,協處理器大多都在以ZK爲底層進行研發。

對於ZK Coporcessor,其應用邊界之廣,任何真實的dapp應用場景均能覆蓋,如社交、遊戲、Defi積木、基於鏈上數據的風控系統、Oracle、數據存儲、大模型語言訓練推理等等,從理論上來說,任何Web2的應用能做到的事情,有了ZK協處理器就都能實現,並且還有以太坊來作爲最終結算層保護應用安全性。

在傳統的世界中,協處理器也沒有一個明確的定義,只要能作爲輔助協助完成任務的單獨芯片都叫協處理器。當前業內對ZK協處理器的定義並不完全相同,如ZK-Query、ZK-Oracle、ZKM等都是協處理器,能夠協助查詢鏈上完整數據、鏈下的可信數據以及鏈下計算結果,從這個定義來看,實際上layer2也算是以太坊的協處理器,我們也會在下文中對比Layer2與通用ZK協處理器的異同。

協處理器項目一覽

ZK協處理器部分項目,圖源:Gate Ventures

目前業內比較知名的協處理分成三大部分,分別是鏈上數據索引、預言機、ZKML這三大應用場景,而三種場景都包含的項目爲General-ZKM,在鏈下運行的虛擬機又各有不同,如Delphinus 專注於zkWASM,而Risc Zero專注於Risc-V架構。

協處理器技術架構

我們以General ZK協處理器爲例,進行其架構的分析,來讓讀者明白,該通用型的虛擬機在技術以及機制設計上的異同,來判斷未來協處理器的發展趨勢,其中主要圍繞Risc Zero、Lagrange、Succinct三個項目進行分析。

Risc Zero

在Risc Zero中,其ZK協處理器名爲Bonsai。

Bonsai架構,圖源:Risc Zero

Bonsai組件,圖源:Risc Zero

在Bonsai中,構建了一整套的與鏈無關的零知識證明的組件,其目標是成爲一個與鏈無關的協處理器,基於Risc-V指令集架構,具備極大的通用性,支持的語言包括Rust、C++、Solidity、Go 等。其主要的功能包括:

  1. 通用 zkVM,能夠在零知識/可驗證環境中運行任何虛擬機。

  2. 可直接集成到任何智能合約或鏈中的ZK證明生成系統

  3. 一個通用的 rollup,將 Bonsai 上證明的任何計算分發到鏈上,讓網絡礦工進行證明生成。

其組件包括:

  1. 證明者網絡:通過Bonsai API,證明者在網絡中接受到需要驗證的ZK代碼,然後運行證明算法,生成ZK證明,這個網絡未來會開放給所有人。

  2. Request Pool:這個池是存儲用戶發起的證明請求的(類似於以太坊的mempool,用於暫存交易),然後這個Request Pool會經過Sequencer的排序,生成區塊,其中的許多證明請求會被拆分以提高證明效率。

  3. Rollup 引擎:這個引擎會收集證明者網絡裏收集到的證明結果,然後打包成Root Proof,上傳到以太坊主網,以讓鏈上的驗證者隨時驗證。

  4. Image Hub:這個是一個可視化的開發者平臺,在這個平臺中可以存儲函數以及完整的應用程序,因此開發者可以通過智能合約調用對應的API,因此鏈上智能合約就具備了調用鏈下程序的能力。

  5. State Store:Bonsai還引入了鏈下的狀態存儲,在數據庫中以鍵值對的形式存儲,這樣就能夠減少鏈上的存儲費用,並且與ImageHub平臺配合,能減少智能合約的複雜性。

  6. Proving Marketplace: ZK證明產業鏈的中上游,算力市場用於匹配算力的供需雙方。

Lagrange

Lagrange的目標是構建一個協處理器和可驗證的數據庫,其中包括了區塊鏈上的歷史數據,可以順暢的使用這些數據來進行無需信任的應用搭建。這就能滿足計算和數據密集型應用的開發。

這涉及到兩個功能:

  1. 可驗證數據庫:通過索引鏈上智能合約的Storage,將智能合約產生鏈上狀態放入數據庫中。本質上就是重新構建區塊鏈的存儲、狀態和區塊,然後以一種更新的方式存儲在便於檢索的鏈下數據庫中。

  2. MapReduce原則的計算:MapReduce原則就是在大型數據庫上,採用數據分離多實例並行計算,最後將結果整合在一起。而這種支持並行執行的架構被Lagrange稱爲zkMR。

在數據庫的設計中,其一共涉及到鏈上數據的三部分,分別爲合約存儲的數據、EOA狀態數據以及區塊數據。

Lagrange數據庫結構,圖源:Lagrange

以上是其合約存儲的數據的映射結構,在這裏存儲了合約的狀態變量,並且每個合約都有一個獨立的Storage Trie,這個Trie在以太坊內是以MPT樹的形式存儲。MPT樹雖然簡單,但是其效率很低,這也是爲什麼以太坊核心開發者推動Verkel樹開發的原因。在Lagrange內,每個節點都能使用SNARK/STARK 進行“證明”,而父節點又包含了子節點的證明,這其中需要使用遞歸證明的技術。

賬戶狀態,圖源:Lagrange

賬戶分別爲EOA和合約賬戶,都可以以賬戶 / Storage Root(合約變量的存儲空間)的形式存儲來代表賬戶狀態,但是似乎Lagrange並沒有完全設計好這一部分,實際上還需要加上State Trie(外部賬戶的狀態存儲空間)的根。

區塊數據結構,圖源:Lagrange

Lagrange在新的數據結構中,創建了對於SNARKs證明友好的區塊數據結構,這顆樹的每個葉子都是一個區塊頭,這個數的大小是固定的,如果以太坊12秒出塊一次,那麼這個數據庫大約可以使用25年。

在Lagrange的ZKMR虛擬機中,其計算有兩個步驟:

  1. Map:分佈式的機器對一整個數據進行映射,生成鍵值對。

  2. Reduce:分佈式計算機分別計算證明,之後將證明全部合併。

簡而言之,ZKMR可以將較小計算的證明組合起來以創建整個計算的證明。這使得 ZKMR 能夠有效地擴展,以在需要多個步驟或多層計算的大型數據集上進行復雜的計算證明。比如,如果Uniswap在100條鏈上部署,那麼如果想要計算100條鏈上的某個代幣的TWAP價格,就需要大量的計算以及整合,這個時候ZKMR就能夠分別計算每條鏈,然後組合起來一個完整計算證明。

Lagrange協處理器運行流程,圖源:Lagrange

以上是其執行流程:

  1. 開發者的智能合約,首先在Lagrange上註冊,然後向Lagrange的鏈上智能合約提交一個證明請求,這時,代理合約負責與開發者合約交互。

  2. 鏈下的Lagrange通過將請求分解爲可並行的小任務並分發給不同的證明器來共同驗證。

  3. 該證明器實際上也是一個網絡,其網絡的安全性由EigenLayer的Restaking技術保障。

Succinct

Succinct Network的目標是將可編程事實集成到區塊鏈開發Stack的每個部分(包括 L2、協處理器、跨鏈橋等)。

Succinct運作流程,圖源:Succinct

Succinct可以接受包括Solidity和零知識領域的專門語言(DSL)等代碼,傳入到鏈下的Succinct協處理器,Succinct完成目標鏈的數據索引,然後將證明申請發送給證明市場,能夠支持CPU、GPU以及ETC等芯片的礦機在證明網絡中提交證明。其特點在於證明市場對於各種證明系統都兼容,因爲未來會有很長一段各種證明系統並存的時期。

Succinct的鏈下ZKVM稱爲SP(Succinct Processor),其能夠支持Rust語言以及其它的LLVM語言,其核心特性包括:

  1. 遞歸+驗證:基於STARKs技術的遞歸證明技術,能夠指數級增強ZK壓縮效率。

  2. 支持SNARKs到STARKs包裝器:能夠同時採納SNARKs和STARKs優點,解決證明大小和驗證時間的權衡問題。

  3. 預編譯爲中心的 zkVM 架構:對於一些常見的算法如SHA256、Keccak、ECDSA等,能夠提前編譯以減少運行時的證明生成時間和驗證時間。

比較

在進行通用ZK協處理器的比較時,我們主要以滿足Mass Adoption第一性原理來進行比較,我們也會闡述爲什麼很重要:

  1. 數據索引/同步問題:只有完整的鏈上數據以及同步索引功能才能滿足基於大數據的應用的要求,否則其應用範圍較爲單一。

  2. 基於技術:SNARKs與STARKs技術有不同的抉擇點,在中期內是以SNARKs技術爲主,在長期以STARKs技術爲主。

  3. 是否支持遞歸:只有支持遞歸才能更大程度的壓縮數據以及實現計算的並行證明,因此實現完全的遞歸是項目的技術亮點。

  4. 證明系統:證明系統直接影響了證明生成的大小、時間,這個是ZK技術中成本最高的地方,目前都是以自建ZK雲算力市場和證明網絡爲主。

  5. 生態合作:能夠通過第三真實需求方來判斷其技術方向是否被B端用戶認可。

  6. 支持的VC以及融資情況:可能能夠表示其後續的資源支持情況。

圖源:Gate Ventures

其實整體的技術路徑已經很明晰,因此大多數的技術都趨同,比如都使用STARKs到SNARKs的包裝器,能夠同時使用STARKs和SNARKs的優點,降低證明生成時間和驗證時間以及抗量子攻擊。由於ZK算法的遞歸性能夠很大程度影響ZK的性能,目前三個項目都有遞歸功能。ZK算法的證明生成是成本和時間耗費最多的地方,因此三個項目的都依賴於本身對ZK算力的強需求構建了證明者網絡和雲算力市場。也鑑於此,目前技術路徑非常相似的情況下,可能突圍更需要團隊以及背後的VC對於生態合作資源方面的協助以佔據市場份額。

協處理器與Layer2的異同

與Layer2不同的是,協處理器是面向應用的,而Layer2仍然是面向用戶的。協處理器能作爲一個加速組件或者模塊化的組件,構成以下幾種應用場景:

  1. 作爲ZK Layer2的鏈下虛擬機組件,這些Layer2可以將自己的VM換成協處理器。

  2. 作爲公鏈上應用卸載算力到鏈下的協處理器。

  3. 作爲公鏈上應用獲取其它鏈可驗證數據的預言機。

  4. 作爲兩條鏈上的跨鏈橋進行消息的傳遞。

這些應用場景僅僅是羅列了一部分,對於協處理器,我們需要理解其帶來了全鏈的實時同步數據與高性能低成本可信計算的潛力,能夠通過協處理器安全地重構幾乎區塊鏈的所有中間件。包括Chainlink、The Graph目前也在開發其自己的ZK預言機和查詢;而主流的跨鏈橋如Wormhole、Layerzero等也在研發基於ZK的跨鏈橋技術;鏈下的LLMs(大模型預言)的訓練以及可信推理、等等。

協處理器面臨的問題

  1. 開發者進入有阻力,ZK技術從理論上可行,但是目前技術難點仍然有很多,外部理解也晦澀難懂,因此當新的開發者進入到生態中時,由於需要掌握特定的語言與開發者工具,可能是一個較大的阻力。

  2. 賽道處於極早期,zkVM 性能非常複雜且涉及多個維度(包括硬件、單節點與多節點性能、內存使用、遞歸成本、哈希函數選擇等因素),目前各個緯度都有在構建的項目,賽道處於非常早期,格局還不明朗。

  3. 硬件等先決條件仍然未落地,從硬件來看,目前主流的硬件是ASIC以及FPGA方式構建,廠商包括Ingonyama、Cysic等,也仍然處於實驗室階段,仍未商業化落地,我們認爲硬件是ZK技術大規模落地前提。

  4. 技術路徑相似,很難有技術上的隔代領先,目前主要比拼背後的VC資源以及團隊BD能力,是否能拿下主流應用和公鏈的生態位。

總結與展望

ZK技術具備極大通用性,也幫助以太坊生態從去中心化的價值取向走向了去信任化的價值觀。“ Don’t Trust , Verify it“,這句話便是ZK技術的最佳實踐。ZK技術能夠重構跨鏈橋、預言機、鏈上查詢、鏈下計算、虛擬機等等一系列應用場景,而通用型的ZK Coprocessor就是實現ZK技術落地的工具之一。對於ZK Coporcessor,其應用邊界之廣,任何真實的dapp應用場景均能覆蓋,從理論上來說,任何Web2的應用能做到的事情,有了ZK協處理器就都能實現。

技術普及曲線,圖源:Gartner

自古以來,技術的發展都落後於人類對美好生活的想象(比如嫦娥奔月到阿波羅踏上月球),如果一個東西確實有創新性和顛覆性以及必要性,那麼技術一定會實現,只是時間問題。我們認爲通用ZK協處理器遵循這一發展趨勢。我們對於ZK協處理器“Mass Adoption”有兩個指標:全鏈的實時可證明數據庫以及低成本鏈下計算。如果數據量足夠並且實時同步加上低成本的鏈下可驗證計算,那麼軟件的開發範式便能夠徹底改變,但是這一目標是緩慢迭代的,因此我們着重去尋找符合這兩點趨勢或者價值取向的項目,並且ZK算力芯片的落地是ZK協處理器大規模商業化應用的前提,本輪週期缺乏創新,是真正構建下一代“Mass Adoption”技術和應用的窗口期,我們預計在下一輪週期中,ZK產業鏈能夠商業化落地,因此現在正是將目光重新放在一些真正能讓Web3承載10億人鏈上交互的技術上面。