然而我們發現,大多數人對于協處理器概念還是相對陌生,尤其是對于協處理器的精準定位 — 協處理器是什么,又不是什么,還比較模糊。而對于市面上幾家協處理器賽道的技術方案對比,尚未有人系統的整理過,這篇文希望能夠給市場和用戶一個關于協處理賽道更加清晰的認識。
如果要求你只用一句話來向一個非技術或是開發人員講清楚協處理器,你會如何描述?
我想董沫博士的這句可能非常接近標準答案 — 協處理器說白了就是”賦予智能合約Dune Analytics的能力”。
這句話該如何拆解?
想象一下我們使用Dune的場景 — 你想要去Uniswap V3做LP賺點手續費,于是乎你打開Dune,找到最近Uniswap上各種交易對的交易量,手續費近7天的APR,主流交易對的上下波動區間等等…
又或者StepN火了那會,你開始炒鞋,不確定什么時候該脫手,于是你每天盯著Dune上面StepN的數據,每日交易量,新增用戶數,鞋子地板價……打算一旦出現增長放緩或是下跌趨勢就趕緊跑。
當然,可能不僅你在盯著這些數據,Uniswap和StepN的開發團隊也同樣關注這些數據。
這些數據非常有意義 — 它不僅可以幫助判斷趨勢的變化,還可以以此玩出更多的花樣,正如互聯網大廠常用的“大數據”打法。
比如根據用戶經常買賣的鞋子風格與價格,推薦類似的鞋子。
比如根據用戶持有創世鞋子的時長,推出一個“用戶忠誠獎勵計劃”,給予忠誠用戶更多的空投或是福利。
比如根據Uniswap上面LP或是Trader提供的TVL或是交易量推出一個類似Cex的VIP方案,給予Trader交易手續費減免或是LP手續費份額增加的福利
……
這時問題來了 — 互聯網大廠玩大數據+AI,基本是個黑箱,想怎么弄怎么弄,用戶看不到,也不在乎。
但在Web3這邊,透明,去信任是咱們天然的政治正確,拒絕黑箱!
于是乎當你想要實現上述場景之時,會面臨一個兩難之境 — 要么你通過中心化的手段去實現,“后臺手動”用Dune統計完這些索引數據,然后去部署實施;要么你寫一套智能合約,自動去鏈上抓取這些數據,完成計算,自動部署分。
前者會讓你陷入“政治不正確”的信任問題。
后者在鏈上產生的Gas費用會是個天文數字,你(項目方)的錢包承受不起。
這時候就是協處理器登場的時候了,把剛才那兩種手段結合一下,同時把“后臺手動”這個步驟通過技術手段“自證清白”,換句話說,通過ZK技術把鏈外“索引+計算”這一塊“自證清白”了,然后喂給智能合約,這樣信任問題解決,海量的Gas費用也不見了,完美!
為什么會叫做“協處理器”呢?其實這是來源于Web2.0發展歷史中的“GPU”。GPU之所以在當時被引入作為一個單獨的計算硬件,獨立于CPU存在,是因為他的設計架構能夠處理一些CPU從根本上就難以處理的計算,比如大規模的并行重復計算,圖形計算等等。正是有了這種“協處理器”的架構,我們今天才有了精彩的CG電影,游戲,AI模型等等,所以這種協處理器的架構實際上是計算計體系架構的一次飛躍。現在各家協處理器團隊也是希望將這種架構引入Web3.0,在這里區塊鏈就類似于Web3.0的CPU,不論是L1還是L2,都天生不適應這類“重數據”和“復雜計算邏輯”的任務,所以引入一個區塊鏈協處理器,來幫助處理這類計算,從而極大拓展區塊鏈應用的可能性。
所以協處理器做的事情歸納一下就是兩件事:
前段時間Starkware那邊火了一個概念,叫做Storage Proof,也叫State Proof,基本上做的就是步驟1,代表是,Herodotus,Langrage等等,許多基于ZK技術的跨鏈橋的技術重點也在步驟1上。
協處理器無非也就是步驟1完事兒之后再加一個步驟2,免信任提取數據之后再做個免信任計算就OK了。
所以用一個相對技術一點的話來精確形容,協處理器應該是Storage Proof/State Proof的超集,是Verfiable Computation(可驗證計算)的一個子集。
要注意的一點是,協處理器不是Rollup。
從技術上講,Rollup的ZK證明類似于上述步驟2,而步驟1“拿數據”這個過程,是通過Sequencer直接實現的,即便是去中心化Sequencer,也只是通過某種競爭或是共識機制去拿,而非Storage Proof這種ZK的形式。更重要的是ZK Rollup除了計算層之外,還要實現一個類似L1 區塊鏈的存儲層,這個存儲是永久存在的,而ZK Coprocessor則是“無狀態”的,進行完計算之后,不需要保留所有狀態。
從應用場景來講,協處理器可以看做所有Layer1/Layer2的一個服務型插件,而Rollup則是自己重新起一個執行層,幫助結算層擴容。
看完上面,你可能會有一個疑惑,協處理器,非得用ZK來做么?聽起來怎么這么像是一個“加了ZK的Graph”,而我們似乎對于Graph上面的結果也沒有什么“大的懷疑”。
說是這么說,那是因為平常你用Graph的時候基本上不怎么牽扯真金白銀,這些索引都是服務off-chain services的,你在前端用戶界面上看到的,交易量,交易歷史等等數據,可以通過graph,Alchemy,Zettablock等多家數據索引提供商來提供,但這些數據沒法塞回到智能合約里面,因為一旦你塞回去就是去增加了額外的對這個索引服務的信任。當數據跟真金白銀,尤其是那種大體量的TVL進行聯動之時,這種額外的信任就變得重要起來,想象下一個朋友問你借100塊,你可能眼都不眨說給就給了,問你借1萬,甚至100萬的時候呢?
但話又說回來,是不是協處理上面所有的場景真的都得用ZK來做呢? 畢竟Rollup里面我們就有OP和ZK兩條技術路線,最近流行的ZKML,也有相應分支路線的OPML概念提出,那么協處理器這事兒,是不是也有個OP的分支,比如說OP-Coprocessor?
其實還真的有 — 不過在此我們先對具體的細節保密,很快我們將會發布更細節的信息出來。
Brevis 的架構由三個組件組成:zkFabric、zkQueryNet 和 zkAggregatorRollup。
如下是一個Brevis的架構圖:
zkFabric: 從所有連接的區塊鏈中收集區塊頭,并生成證明這些區塊頭有效性的 ZK 共識證明。通過zkFabric, Brevis 實現了對多鏈可互操作的協處理器,也就是能夠讓一個區塊鏈訪問另外一個區塊鏈的任意歷史數據。
zkQueryNet: 一個開放的 ZK 查詢引擎市場,可接受來自 dApp 的數據查詢,并對其進行處理。數據查詢使用來自 zkFabric 的經過驗證的區塊頭處理這些查詢,并生成 ZK 查詢證明。這些引擎既有高度專業化的功能,也有通用化的查詢語言,可滿足不同的應用需求。
zkAggregatorRollup: 一個 ZK 卷積區塊鏈,充當 zkFabric 和 zkQueryNet 的聚合和存儲層。它驗證來自這兩個組件的證明,存儲經過驗證的數據,并將其經過 zk 驗證的狀態根提交到所有連接的區塊鏈上。
ZK Fabric 作為為區塊頭生成proof的關鍵部分,保證這一部分的安全是非常重要的,如下為zkFabric的架構圖:
zkFabric基于零知識證明(ZKP)的輕客戶端使其完全免于信任,無需依賴任何外部驗證實體。無需依賴任何外部驗證實體,因為其安全性完全來自于因為其安全性完全來自于底層區塊鏈和數學上可靠的證明。
zkFabric Prover 網絡為每個區塊鏈的 lightclient 協議實現電路,該網絡為區塊頭生成有效性證明。證明者可利用 GPU、FPGA 和 ASIC 等加速器,最大限度地減少證明時間和成本。
zkFabric依賴于區塊鏈和底層加密協議的安全假設和底層加密協議的安全假設。不過,要確保 zkFabric 的有效性,至少需要一個誠實的中繼器來同步正確的fork。因此,zkFabric采用了去中心化的中繼網絡而不是單個中繼器來優化 zkFabric 的有效性。這種中繼網絡可以利用現有的結構,如 Celer 網絡中的狀態監護網絡。
證明者分配: 證明者網絡是一個分散的 ZKP 證明者網絡、需要為每個證明生成任務選擇一個證明者,并向這些證明者支付費用。
目前的部署:
目前為各種區塊鏈(包括以太坊 PoS、Cosmos Tendermint 和 BNB Chain)實現的輕客戶端協議作為示例和概念驗證。
Brevis目前已經跟uniswap hook開展合作,hook大大添加了自定義uniswap 池,但與CEX相比,UnisWap仍然缺乏有效的數據處理功能來創建依賴大型用戶交易數據(例如基于交易量的忠誠度計劃)的功能。
在Brevis的幫助下,hook解決了挑戰。hook現在可以從用戶或LP的完整歷史鏈數據中讀取,并以完全無信任的方式運行可自定義的計算。
2. Herodotus
Herodotus 是一個強大的數據訪問中間件,它為智能合約提供如下跨以太坊層同步訪問當前和歷史鏈上數據的功能:
L1 states from L2s
L2 states from both L1s and other L2s
L3/App-Chain states to L2s and L1s
Herodotus提出存儲證明這個概念,存儲證明融合了包含證明(確認數據的存在)和計算證明(驗證多步驟工作流的執行),以證明大型數據集(如整個以太坊區塊鏈或rollup)中一個或多個元素的有效性。
區塊鏈的核心是數據庫,其中的數據使用 Merkle 樹、Merkle Patricia 樹等數據結構進行加密保護。這些數據結構的獨特之處在于,一旦數據被安全地提交給它們,就可以產生證據來確認數據包含在結構內。
Merkle 樹和 Merkle Patricia 樹的使用增強了以太坊區塊鏈的安全性。通過在樹的每個級別對數據進行加密散列,幾乎不可能在不被發現的情況下更改數據。對數據點的任何更改都需要更改樹上相應的哈希值到根哈希值,這在區塊鏈標頭中公開可見。區塊鏈的這一基本特征提供了高水平的數據完整性和不變性。
其次,這些樹可以通過包含證明進行有效的數據驗證。例如,當驗證交易的包含或合約的狀態時,無需搜索整個以太坊區塊鏈,只需驗證相關 Merkle 樹內的路徑即可。
Herodotus定義的存儲證明是以下內容的融合:
Workflow :
1. 獲得區塊哈希
區塊鏈上的每個數據都屬于特定的區塊。區塊哈希作為該區塊的唯一標識符,通過區塊頭來總結其所有內容。在存儲證明的工作流程中,首先需要確定和驗證包含我們感興趣的數據的區塊的區塊哈希,這是整個過程中的首要步驟。
2. 獲得區塊頭
一旦獲得了相關的區塊散列,下一步就是訪問區塊頭。為此,需要與上一步獲取的區塊哈希值相關聯的區塊頭進行哈希處理。然后,將提供的區塊頭的哈希值與所得的區塊哈希值進行比較:
取得哈希的方式有兩種:
(1)使用BLOCKHASH opcode 來檢索
(2)從 Block Hash Accumulator來查詢歷史中已經被驗證過的區塊的哈希
這一步驟可確保正在處理的區塊頭是真實的。該步驟完成后,智能合約就可以訪問區塊頭中的任何值。
3. 確定所需的根 (可選)
有了區塊頭,我們就可以深入研究它的內容,特別是:
stateRoot: 區塊鏈發生時整個區塊鏈狀態的加密摘要。
receiptsRoot: 區塊中所有交易結果(收據)的加密摘要。
事務根(transactionsRoot): 區塊中發生的所有交易的加密摘要。
跟可以被解碼,使得能夠核實區塊中是否包含特定賬戶、收據或交易。
4. 根據所選根來驗證數據(可選)
有了我們所選的根,并考慮到以太坊采用的是 Merkle-Patricia Trie 結構,我們就可以利用 Merkle 包含證明來驗證樹中是否存在數據。驗證步驟將根據數據和區塊內數據的深度而有所不同。
目前支持的網絡:
From Ethereum to Starknet
From Ethereum Goerli* to Starknet Goerli*
From Ethereum Goerli* to zkSync Era Goerli*
3. Axiom
Axiom提供了一種方式可以讓開發人員從以太坊的整個歷史記錄中查詢區塊頭,帳戶或存儲值。AXIOM引入了一種基于密碼學的鏈接的新方法。Axiom返回的所有結果均通過零知識證明在鏈上驗證,這意味著智能合約可以在沒有其他信任假設的情況下使用它們。
Axiom最近發布了Halo2-repl,是一個基于瀏覽器的用 Javascript 編寫的 halo2 REPL。這使得開發人員只需使用標準的 Javascript 就能編寫 ZK 電路,而無需學習 Rust 等新語言、安裝證明庫或處理依賴關系。
Axiom 由兩個主要技術組件組成:
AxiomV1 — 以太坊區塊鏈緩存,從 Genesis 開始。
AxiomV1Query — 執行針對 AxiomV1 查詢的智能合約。
(1)在 AxiomV1 中緩存區塊哈希值:
AxiomV1智能合約以兩種形式緩存自創世區塊以來的以太坊區塊哈希:
首先, 緩存了連續1024個區塊哈希的Keccak Merkle根。這些Merkle根通過ZK證明進行更新,驗證區塊頭哈希是否形成以EVM直接可訪問的最近256個區塊之一或已存在于AxiomV1緩存中的區塊哈希為結束的承諾鏈。
其次。Axiom從創世區塊開始存儲這些Merkle根的Merkle Mountain Range。該Merkle Mountain Range是在鏈上構建的,通過對緩存的第一部分Keccak Merkle根進行更新。
(2)在AxiomV1Query中履行查詢:
AxiomV1Query智能合約用于批量查詢,以實現對歷史以太坊區塊頭、賬戶和賬戶存儲的任意數據的無信任訪問。查詢可以在鏈上進行,并且通過針對AxiomV1緩存的區塊哈希進行的ZK證明來在鏈上完成。
這些ZK證明檢查相關的鏈上數據是否直接位于區塊頭中,或者位于區塊的賬戶或存儲Trie中,通過驗證Merkle-Patricia Trie的包含(或不包含)證明來實現。
4. Nexus
Nexus 試圖利用零知識證明為可驗證的云計算搭建一個通用平臺。目前是machine archetechture agnostic 的,對risc 5/ WebAssembly/ EVM 都支持。Nexus利用的是supernova的證明系統,團隊測試生成證明所需的內存為6GB,未來還會在此基礎上優化使得普通的用戶端設備電腦可以生成證明。
確切的說,架構分為兩部分:
Nexus zero:由零知識證明和通用 zkVM 支持的去中心化可驗證云計算網絡。
Nexus: 由多方計算、狀態機復制和通用 WASM 虛擬機驅動的分散式可驗證云計算網絡。
Nexus 和 Nexus Zero 應用程序可以用傳統編程語言編寫,目前支持 Rust,以后將會支持更多的語言。
Nexus 應用程序在去中心化云計算網絡中運行,該網絡本質上是一種直接連接到以太坊的通用 “無服務器區塊鏈”。因此,Nexus 應用程序并不繼承以太坊的安全性,但作為交換,由于其網絡規模縮小,可以獲得更高的計算能力(如計算、存儲和事件驅動 I/O)。Nexus 應用程序在專用云上運行,該云可達成內部共識,并通過以太坊內部可驗證的全網閾值簽名提供可驗證計算的 “證明”(而非真正的證明)。
Nexus Zero 應用程序確實繼承了以太坊的安全性,因為它們是帶有零知識證明的通用程序,可以在 BN-254 橢圓曲線上進行鏈上驗證。
由于 Nexus 可在復制環境中運行任何確定性 WASM 二進制文件,預計它將被用作證明生成應用的有效性/分散性/容錯性來源,包括 zk-rollup排序器、樂觀的 rollup 排序器和其他證明器,如 Nexus Zero 的 zkVM 本身。
文標題:Unveiling Intelligent DeFi: The Coprocessor Revolution
原文作者:lukewasm.eth
原文來源:Mirror
編譯:Lynn,火星財經
特別感謝@0xkrane、@atiselsts_eth、Avi(來自@nil_foundation)、@ChundaMcCain、@IsdrsP、@Li_Steven1、Maki 和@Phil_Kelly_NYC(來自@o1_labs和@yilongl_megaeth)對本文的寶貴討論、見解和反饋!
由于區塊鏈處理能力有限,當今的去中心化應用程序在執行復雜的鏈上計算時面臨著限制。然而,隨著區塊鏈協處理器等技術的快速發展,結合博弈論和機制設計,出現了新一波用例,極大地改善了用戶體驗。
本文探討了協處理器的設計空間,重點關注它們所支持的潛在用例。
要點:
區塊鏈通常被視為通用 CPU 虛擬機 (VM),可能不適合繁重的計算。涉及數據驅動分析和密集計算的任務通常需要鏈下解決方案。例如,像 dydx v3 這樣的訂單簿交易所利用在中心化服務器上??運行的鏈外匹配和風險引擎,僅在鏈上進行資金結算。
在計算中,引入協處理器來協助處理器執行特定任務,如前綴“co-”所示。例如,GPU 充當 CPU 的協處理器。它們擅長處理 3D 渲染和深度學習等任務所需的并行計算。這種安排允許主 CPU 專注于通用處理。協處理器模型使計算機能夠處理更復雜的工作負載,而使用單個通用 CPU 是無法實現的。
通過利用協處理器和訪問鏈上數據,區塊鏈應用程序可以提供高級功能并做出明智的決策。這為進行額外計算創造了機會,能夠執行更復雜的任務,并使應用程序變得更加“智能”。
基于信任假設,協處理器主要可以分為三種不同類型:零知識(ZK)、樂觀和加密經濟。
ZK 協處理器如果實現正確,理論上是無需信任的。他們執行鏈下計算并提交鏈上證明進行驗證。雖然它們提供了速度,但在證明成本方面需要權衡。隨著定制硬件的進步和加密技術的發展,轉嫁給最終消費者的最終成本可能會降低到更可接受的水平。
Axiom和RISC ZeroBonsai 是 ZK 協處理器的示例。它們允許訪問鏈上狀態的任意計算在鏈外運行,并提供計算執行的證據。
為了更清楚地了解典型 ZK 協處理器的運行方式,讓我們檢查一下RISC Zero Bonsai 的工作流程。
應用程序將協同處理請求發送到 Bonsai Relay,然后將證明請求轉發到 Bonsai 證明服務。RISC Zero zkVM 執行程序并生成證明來驗證代碼的正確執行,任何人都可以驗證。隨后,Bonsai Relay 在鏈上發布證明,應用程序通過回調函數接收結果。
以太坊上的盆景
雖然 ZK 協處理器是實現可驗證的鏈外計算的一種方法,但 MPC 和 TEE 等替代方案提供了不同的方法。MPC 支持對敏感數據進行協作計算,而 TEE 則提供基于硬件的安全飛地。每個選項都需要在安全性和效率之間進行權衡。在本文中,我們將重點關注 ZK 協處理器。
樂觀協處理器提供了經濟高效的解決方案,但它們存在嚴重的延遲問題(通常為數周)。他們要求誠實的各方在具有挑戰性的窗口內通過欺詐證據有效地挑戰他們。因此,安全保障的時間被推遲。
加密經濟協處理器是樂觀的協處理器,在執行時具有足夠大的經濟債券和鏈上保險系統,允許其他人獲得錯誤計算的補償。這種經濟債券和保險可以通過 Eigenlayer 等共享安全提供商購買。優點是即時結算,但缺點是購買保險的成本。
各種協處理器類型的特征
*現有的證明生成時間不到一秒(誠然,對于小型、優化的證明),而且它們正在迅速改進。
不同類型的協處理器表現出不同的成本、延遲和安全特性。組合不同類型的協處理器可以帶來優化的用戶體驗。一個突出的例子是布雷維斯。Brevis 最初推出的是 zk 協處理器,現在推出了Brevis coChain。這項創新將加密經濟學和 ZKP 結合在 ZK 協處理器中,從而降低了成本、最小化了延遲并增強了用戶體驗。
純 ZK 協處理器在當前狀態下仍然面臨諸如高證明生成成本和可擴展性問題等挑戰。這是因為數據訪問和計算結果的 ZK 證明總是預先生成的。利用 Eigenlayer 的重新抵押基礎設施,Brevis coChain 使 dapp 能夠定制他們想要的加密經濟安全級別,從而賦予他們更大的靈活性來增強用戶體驗。以下是其運作方式的簡單說明。
Brevis coChain 首先會根據 PoS 共識“樂觀”地生成協處理請求的結果。然后,啟動兩個挑戰窗口,一個是特定于應用程序且由開發人員配置的,另一個是較長的全局 coChain 削減窗口。
Brevis coChain 工作流程
在應用程序挑戰窗口期間,觀察者可以提交與協處理結果相矛盾的 ZKP。成功的挑戰會削減提議者并獎勵挑戰者。失敗的提案會導致挑戰者的保證金被沒收。
如果沒有挑戰,應用程序將認為結果有效。全球 coChain 削減窗口是為了增強安全性。即使應用程序接受了錯誤的結果,只要 coChain 削減窗口打開,惡意驗證器就可以被削減,并且可以糾正錯誤的結果。
由于不同類型的協處理器表現出不同的成本、延遲和安全特性,因此應用程序必須評估其需求以確定所需的協處理器類型。如果計算涉及高安全性任務,例如計算 Beacon 鏈上驗證者的余額,涉及數十億美元的流動性質押,ZK 協處理器是最合適的選擇。它們提供了最大的安全性,因為結果可以不受信任地驗證。此外,在這種情況下,延遲不是問題,可以在可接受的時間范圍內生成證明。
對于對延遲不太敏感且不涉及重大財務價值的任務,例如在社交資料上展示鏈上成就指標,提供最低鏈下計算的樂觀協處理器可能更可取。
對于其他任務,當購買的保險涵蓋風險價值時,加密經濟協處理器被證明更具成本效益。保險成本的分析應根據具體情況進行,很大程度上受到應用程序所帶來的價值的影響。這些任務通常需要不同的分析和風險建模。
對協處理器進行分類的另一種方法是按計算類型,例如:
協處理器在 DeFi 中的使用是一個具有巨大潛力的新興領域。接下來,我將概述如何在 DeFi 的各個領域(包括 DEX、貨幣市場、質押、重新質押等)使用協處理器的現有想法和實現。
DEX 涉及多個利益相關者。其中包括交易者、流動性提供者、做市商、流動性管理者、解決者/填充者等。協處理器有潛力通過不同級別的信任假設有效地簡化復雜任務,最終增強這些利益相關者的體驗。
在基本的 AMM 中,一項重要功能是在用戶發起交換時計算必要的參數。這些參數包括轉入和轉出的金額、費用以及轉入后的價格。在維持信任保證的同時利用 zk 協處理器的計算能力的一個簡單用例是在鏈外執行部分交換功能,然后在鏈上完成其余步驟。zkAMM 是自動做市商 (AMM) 的一種變體,它在協議中集成了零知識證明。Diego ( @0xfuturistic) 引入了基于 Uniswap v3 的 zkAMM (zkUniswap) 實現,其中一部分 AMM 交換計算被卸載到 Risc Zero zkVM。用戶通過在鏈上發出請求來啟動交換,交換輸入由中繼器拾取,并且計算在鏈外進行。然后中繼者發布輸出和證明。AMM 驗證證明并結算交換。
雖然現階段計算成本仍與 EVM 相當,但由于 RiscZero 的延續特性,可以通過獨立路徑并行計算交換來實現更高的效率。本質上,交換的執行可以在鏈上按順序完成,但實際的交換步驟可以使用這種方法在鏈外并行計算。這使得批次中最重的部分能夠并行化,這在 EVM 中本身是不可能的。驗證成本也可以通過將多個交易分批在一起來攤銷。
用戶還可以選擇使用替代數據可用性層來發送交換請求。另一種方法是利用EIP712簽名進行鏈下傳播,這可以進一步降低交換成本。
協處理器還可以用于動態控制 AMM 池的交換費用。動態費用的概念是在市場波動期間提高費率,并在市場平靜時降低費率。這對被動流動性提供者來說是一個好處,因為他們始終站在交易的不利一邊,并通過損失與再平衡(LVR)經歷價值泄漏。動態費用的實施旨在通過充分補償有限合伙人來解決這個問題。
一些 AMM 已經具備此功能。例如,Ambient利用外部預言機每 60 分鐘監控不同費用級別的 Uniswap v3 池并拍攝快照,以選擇性能最佳的池。
為了進一步了解調整費率,可以利用鏈上和鏈下的額外數據。這包括針對該特定 AMM 池或針對不同流動性池(例如 Ambient 解決方案)甚至不同網絡上的池的同一貨幣對進行的鏈上歷史交易。如果允許某些信任假設,還可以引入來自 Chainlink 或 Pyth 等信譽良好的預言機的鏈下數據(例如 CEX 交易數據)。
使用哪種類型的協處理器的決定受到費用調整頻率的影響。如果池需要非常頻繁的動態費用變化,加密經濟協處理器可能更合適。這是因為證明成本可能超過保險成本,保險成本可以通過費率差異乘以平均數量來估計。如果發生任何錯誤的計算,有限合伙人可以輕松地索賠 Eigenlayer 提供的保險,以補償他們的費用損失。
另一方面,有些礦池更喜歡不太頻繁的費率變化。然而,這些池處理的數量非常大,這可能會增加保險購買成本。在這種情況下,ZK協處理器更適合,因為它提供了最強的保障。
對于經驗不足的用戶來說,被動流動性提供可能是一個有吸引力的選擇,他們希望從閑置流動性中賺取費用,而不必過度擔心價格偏差。然而,一些流動性提供者(LP)更容易受到價格偏差和統計套利造成的損失。我們之前討論過如何動態調整費用來緩解這個問題。但為什么不更進一步,徹底改變流動性曲線的形狀呢?這是一種更復雜的流動性管理方法,稱為主動流動性管理器(ALM)。
遺憾的是,現有的ALM大多只提供再平衡等基礎策略,對費用收取的影響有限。另一方面,可以使用稍微更先進的技術,例如使用貨幣市場或衍生品進行對沖。然而,它們要么在鏈上頻繁執行時會產生高昂的成本,要么依賴集中式鏈下黑盒計算。
協處理器有潛力解決成本和信任問題,從而能夠采用先進的策略。通過與Modulus Labs等尖端零知識機器學習 (ZKML) 解決方案和Ritual等去中心化人工智能平臺集成,流動性管理者可以利用基于歷史交易數據、價格相關性、波動性、動量等的復雜策略,同時享受隱私和無需信任的優點。
高頻交易策略需要精確的時機和快速的執行。雖然 ZK 解決方案可能并不總能滿足必要的速度,但加密經濟協處理器在這一領域表現出色。這些協處理器允許快速執行人工智能算法,并在塊時間允許的情況下盡可能頻繁地更新參數。然而,使用這種方法會產生保險費用。由于管理者不當處理資金或進行反向交易等潛在風險,準確估計這些成本可能具有挑戰性。決策過程涉及平衡額外回報與保險費用,這最終取決于協處理器測量的時間范圍內發生的總量。根據單個 AVS 中可用的資本以及在任何給定時刻預測風險價值的能力,擴展此流程也可能很困難。
雖然每筆交易都記錄在區塊鏈上,但智能合約在確定這些交易所代表的指標方面面臨著挑戰,例如交易量、交互次數、每??單位時間的 TVL 等。人們可能會建議使用 Dune Analytics 等索引解決方案,該解決方案提供有價值的信息。然而,依賴鏈外索引引入了額外的信任層。這就是協處理器成為一種有前途的解決方案的地方。
一項特別有價值的鏈上指標是交易量。例如,與某些塊內的特定地址相關聯的特定 AMM 池內的累積量。這個指標對于 DEX 非常有利。一種用例是允許根據用戶的交易量為其設置不同的費用等級。這種方法類似于動態費用,但它不依賴一般數據,而是查看特定地址的數據。
Brevis提供了一個有趣的例子,其中交易量證明可以與定制的費用回扣 Uniswap 掛鉤相結合,以提供類似于 CEX 上的 VIP 交易者的基于交易量的費用回扣。
具體來說,Uniswap v4可以讀取用戶過去30天內的歷史交易,用定制的邏輯解析每個交易事件,并使用Brevis計算交易量。然后,交易量和 Brevis 生成的 ZK Proof 在 Uniswap v4 Hook 智能合約中進行可信驗證,該智能合約異步確定并記錄用戶的 VIP 費用等級。驗證通過后,符合條件的用戶未來的任何交易都會觸發 getFee 函數,簡單地查詢 VIP 記錄并相應減少交易費用。
獲得“VIP”認證的成本也很便宜(根據其性能基準結果,大約 2.5 美元)。使用NEBRA等解決方案聚合多個用戶可以進一步降低成本。唯一的代價是延遲,因為訪問和計算 2600 個鏈上 Uniswap 交易大約需要 400 秒。然而,對于時間不敏感的功能來說,這不太重要。
為了解決延遲問題,dapp 可以利用 Brevis 的 coChain。通過 PoS 共識機制快速計算和交付結果,以最大程度地減少延遲。如果出現惡意活動,可以在挑戰窗口期間使用 ZKP 來懲罰流氓驗證者。
例如,在前面提到的 VIP 費用場景中,如果超過 2/3 的 coChain 驗證者在鏈接到動態費用掛鉤的“VIP 等級查找表”中欺騙性地為某些用戶分配更高的 VIP 等級,則某些用戶最初可能會獲得更大的費用折扣。然而,當在削減窗口期間出示 ZK 證明,證明 VIP 等級不正確時,惡意驗證者將面臨處罰。然后,可以通過啟用質詢回調來更新 VIP 等級查找表來糾正錯誤的 VIP 等級。對于更謹慎的場景,開發人員可以選擇實施擴展的應用程序級挑戰窗口,提供額外的安全性和適應性層。
流動性挖礦是一種旨在引導流動性的獎勵分配形式。DEX 可以通過協處理器更深入地了解其流動性提供者的行為,并適當分配流動性挖礦獎勵或激勵。重要的是要認識到并非所有 LP 都是一樣的。有些人充當雇傭兵,而另一些人則仍然是忠實的長期信徒。
最佳的流動性激勵應該回顧性地評估有限合伙人的奉獻精神,特別是在市場大幅波動期間。那些在此期間持續為礦池提供支持的人應該獲得最高的獎勵。
在關注用戶意圖的未來,求解器/填充器通過簡化復雜的交易并實現更快、更便宜或更好的結果來發揮至關重要的作用。然而,對于求解器的選擇過程一直存在批評。目前的解決方案包括:
前進的道路應該是無需許可和無需信任的。然而,為了實現這一目標,有必要建立區分優秀求解器和一般求解器的準則。通過利用 ZK 協處理器,可以生成可驗證的證明,以確定某些求解器是否滿足或不滿足這些準則。根據這些信息,求解器可能會受到優先順序流、削減、暫停甚至列入黑名單的影響。理想情況下,更好的求解器將收到更多的訂單流,而較差的求解器將收到更少的訂單流。定期審查和更新這些評級非常重要,以防止鞏固和促進競爭,為新來者提供平等的參與機會。
Uniswap 已經在其 v2 和 v3 版本中引入了嵌入式預言機。隨著 v4 的發布,Uniswap 通過引入更高級的預言機選項,為開發人員擴展了可能性。然而,鏈上價格預言機仍然存在局限性和約束。
首先,有成本的考慮。如果協處理器計算的價格預言機可以提供成本改進,那么它可以作為更實惠的替代方案。價格預言機的設計越復雜,節省成本的潛力就越大。
其次,鏈上價格預言機池仍然容易受到操縱。為了解決這個問題,通常的做法是匯總不同來源的價格并進行計算,以創建更具抗操縱性的價格預言機。協處理器能夠從各種池中檢索歷史交易,甚至跨不同協議,從而能夠生成具有競爭性成本的抗操縱價格預言機,以便與其他 DeFi 協議集成。
DIA Data正在與Mina 生態系統的O(1) Labs合作開發基于 ZK 的預言機。這種方法是類似的——獲取市場數據并在鏈外執行更復雜的計算,不受天然氣成本和其他執行限制的影響,但能夠在結果在鏈上提供時驗證計算的完整性。這使得用其他市場數據(例如深度)補充簡單的價格信息變得可行,以幫助評估清算影響,以及元數據以使協議能夠定制其信息。
為了克服區塊鏈技術的計算限制,許多衍生品平臺經常將某些組件(例如風險管理系統)移至鏈外。
@0x_emperor和@0xkrane提出了一個有趣的協處理器用例,其中裕度邏輯是透明且可驗證的。許多交易所都設有風險管理系統來防止杠桿過高。其中一個例子是自動減倉系統(ADL),該系統戰略性地將損失分配給盈利的交易者,以抵消清算交易者所遭受的損失。本質上,它在盈利的交易者之間重新分配損失,以彌補因這些清算而產生的未償債務。
用戶可能對強行平倉有疑問。為了解決這個問題,交易所可以利用協處理器使用鏈上數據執行保證金引擎邏輯,并生成證明來驗證計算是否正確。由于 ADL 很少發生,因此對延遲和證明成本的擔憂很小。然而,使用無需信任且可驗證的 Zk 協處理器可以增強透明度和完整性,這對交易所及其用戶都是有利的。
通過利用歷史鏈上數據的見解,協處理器有可能增強有限合伙人和借貸協議的風險管理。此外,協議可以基于數據驅動的分析提供改進的用戶體驗。
幾個月前,當 Curve 遭遇漏洞攻擊時,人們的注意力轉向了貨幣市場,數以百萬計的 CRV 代幣面臨清算風險。當貸款價值 (LTV) 比率變得不健康時,Frax 貸方在協議大幅加息中找到了一些安慰。這激勵 Curve 創始人更快地償還債務。然而,AAVE 利益相關者表達了擔憂,并發起了關于減少抵押品容量和可能停止市場的討論。他們的擔憂源于流動性不足以成功清算的可能性,這可能導致壞賬和易受市場條件影響。
幸運的是,危機已經解決。定期審查貨幣市場上列出的資產非常重要,特別要關注其在市場上的流動性,尤其是在清算事件期間。非流動資產應被分配較低的貸款價值(LTV)比率和抵押品能力。
然而,正如我們在 CRV 情況中觀察到的那樣,貨幣市場風險參數變化的決策過程通常是反應性的。我們需要更加迅速和主動的措施,包括去信任的解決方案。關于使用反饋控制根據鏈上指標(例如流動性利用率)動態調整參數,而不是依賴預先確定的曲線,已經存在討論。一個有趣的概念涉及一個貸款池,用于驗證特定市場的鏈上流動性證明。控制器接收 ZK 協處理器根據鏈上指標計算得出的證據,表明資產何時不再具有足夠的流動性超過特定閾值。根據這些信息,控制者可以采取各種措施,例如調整利率、設定貸款價值上限、暫停市場,甚至完全停止市場。
更先進的策略可能包括根據前一周的鏈上流動性定期調整抵押品借貸能力或利率曲線。確切的門檻將通過 DAO 內部的討論來確定。它可以通過考慮歷史鏈上交易量、代幣儲備、一次性互換的最小滑點等因素來確定。
對于貸款人和借款人來說,貨幣市場可以提供增強的服務和體驗,類似于 DEX 中 VIP 交易者的費用回扣計劃。現有的信用評分解決方案旨在創建鏈上用戶的全面檔案。目標是激勵良好的行為,例如通過避免清算事件、維持健康的平均貸款價值比率、穩定的大額存款等來證明有效的風險管理。這些積極行為可以得到無需信任的獎勵,包括與普通用戶相比更好、更平滑的利率、更高的最大LTV和清算比率、清算緩沖時間、更低的清算費用等等。
自合并和上海/沙佩拉升級以來,流動性質押市場已成為 DeFi 最大的市場。值得注意的是,Lido 的 TVL 已超過 290 億美元,而 Rocketpool 的 TVL 超過 36 億美元。
鑒于涉及大量資金,值得注意的是,用于報告信息的預言機(例如信標鏈上相關驗證器的準確余額)仍然值得信賴。這些預言機在向執行層的涉眾分配獎勵方面發揮著至關重要的作用。
目前,Lido 采用 9 中 5 的法定人數機制,并維護一份受信任的成員列表,以防范惡意行為者。同樣,Rocketpool 使用僅限邀請的 Oracle DAO 進行運營,該 DAO 由節點運營商組成,這些節點運營商受信任更新執行層智能合約中的獎勵信息。
然而,必須認識到,如果大多數受信任的第三方受到損害,可能會嚴重損害流動質押代幣(LST)持有者以及建立在 LST 之上的整個 DeFi 生態系統。為了降低錯誤/惡意預言機報告的風險,Lido在協議的執行層代碼中實施了一系列健全性檢查。
隨著 EIP-4788“EVM 中的信標塊根”的引入,協處理器可以更輕松地訪問和計算共識層上的數據。=無;Foundation、Succint和 DendrETH 都在為 Lido 開發自己的 ZK-proof TVL 預言機。為了確保最大程度的安全性,Lido 可以利用多重防護架構。
以=nil; 的設計為例,在較高的層面上,預言機從共識層和執行層獲取基本信息,例如 Beacon 區塊頭、Beacon 狀態、Lido 合約地址等,然后計算出一份報告所有 Lido 驗證器的總鎖定值和驗證器計數。這些數據以及其他必要的信息被傳遞給證明生成者并在專用電路上運行以生成 ZK 證明。預言機檢索證據并將證據及其報告提交給智能合約進行驗證。請注意,這些預言機設計仍處于測試階段,可能會發生變化。
然而,值得注意的是,由于通過 4788 發送的內容有限,總會有一些數據可能無法在 EL 端得到證明,并且該數據子集可能仍然需要預言機。
此外,信任最小化的 ZK 證明預言機仍處于起步階段。Lido 貢獻者提出的方法是使用 ZK 預言機提供的信息作為對可信預言機所做工作的“健全性檢查”,直到這些 ZK 實現可以進行戰斗測試。現階段將預言機系統中的信任全部轉移到 ZK 系統風險太大。
此外,這種大小的數據的證明計算量非常大(例如,甚至可能需要 30-45 分鐘)并且非常昂貴,因此,在目前技術成熟的情況下,對于諸如每日甚至日內之類的事情,它們并不是合適的替代品報告。
驗證者在質押生態系統中發揮著至關重要的作用。他們在信標鏈上鎖定 32 ETH 并提供驗證服務。如果他們表現得當,他們就會得到獎勵。然而,如果他們行為不端,他們將面臨砍伐。驗證器由具有不同風險狀況的節點運營商運行。它們可以是策劃的(例如 Lido 的策劃驗證器集)、綁定的(例如 Rocket pool、Lido 的CSM)或單獨的質押者。他們可能會選擇在云數據中心或家里運行他們的服務,在加密貨幣監管友好或不友好??的地區。此外,驗證者可以利用 DVT 技術來拆分內部節點或加入集群以增強容錯能力。隨著 Eigenlayer 和各種 AVS(主動驗證服務)的出現,驗證器可能會提供除以太坊驗證之外的其他服務。毫無疑問,驗證者的風險狀況將很復雜,因此準確評估其風險狀況至關重要。憑借良好的驗證者風險和性能分析,它打開了無限可能性的大門,包括:
首先,風險評估在建立無需許可的驗證器集方面發揮著至關重要的作用。在 Lido 的背景下,質押路由器的引入和未來的 EIP-7002“執行層可觸發退出”可以為驗證者的無許可加入和退出鋪平道路。加入或退出的標準可以根據驗證者過去驗證活動得出的風險狀況和性能分析來確定。
其次,DVT中的節點選擇。對于單獨的質押者來說,選擇其他節點來創建 DVT 集群可能是有益的。這有助于實現容錯并提高產量。節點的選擇可以基于各種分析。此外,集群的形成可以是無需許可的,允許具有強大歷史性能的節點加入,同時可以刪除性能不佳的節點。
第三,重新賭注。Liquid 重新抵押協議使重新抵押者能夠參與 Eigenlayer 重新抵押市場。這些協議不僅產生稱為流動性重新抵押代幣(LRT)的流動性收據,而且旨在為重新抵押者確保最佳的風險調整回報。例如,Renzo 的策略之一是構建具有最高夏普比率的 AVS 投資組合,同時遵守指定的最大損失目標,通過 DAO 調整風險承受能力和權重。隨著越來越多的 AVS 項目啟動,優化對特定 AVS 的支持以及選擇最合適的 AVS 運營商變得越來越重要。
到目前為止,我們強調了驗證者風險和性能分析的重要性,以及它所支持的廣泛用例。然而,問題仍然存在:我們如何準確評估驗證者的風險狀況?Ion Protocol正在開發一種潛在的解決方案。
Ion Protocol 是一個利用可證明的驗證器支持的數據的借貸平臺。它使用戶能夠以其質押和重新質押頭寸借入 ETH。貸款參數,包括利率、LTV 和頭寸健康狀況,由共識層數據確定,并由 ZK 數據系統保護。
Ion 正在與 Succinct 團隊合作開發Precision,這是一個無需信任的框架,用于驗證以太坊共識層上驗證器的經濟狀態。其目的是創建一個可驗證的系統,準確評估抵押資產的價值,減輕任何潛在的操縱或削減風險。一旦建立,該系統可以促進貸款發放和清算流程。
Ion 還與 Modulus Labs 合作,利用 ZKML 對借貸市場進行去信任分析和參數化,包括利率、LTV 和其他市場細節,以最大限度地減少異常削減事件時的風險暴露。
DeFi 確實非常了不起,因為它徹底改變了金融活動的進行方式,消除了對中介機構的需求并降低了交易對手風險。然而,目前 DeFi 在提供良好的用戶體驗方面還存在不足。令人興奮的消息是,隨著協處理器的引入,這種情況即將發生變化,協處理器將使 DeFi 協議能夠提供數據驅動的功能,增強用戶體驗并完善風險管理。此外,隨著去中心化人工智能基礎設施的進步,我們正在邁向智能 DeFi 的未來。
A Brief Intro to Coprocessors
Off-Chain Compute Is All You Need
Uniswap V4 Hook + Brevis ZK Coprocessor=Data-driven DEX Experiences
Introducing Brevis coChain: The Fusion of Crypto-Economics and ZK Proof in a ZK Coprocessor
RISC Zero documentation
Trustless, ZK-proof based Total Value Locked oracle
[ZKLLVM] Trustless ZK-proof TVL oracle
Dynamic Fees
向基于證明的未來——與0xkrane一同撰寫。
區塊鏈是全球分布的賬本,可以就全球狀態達成共識。一些區塊鏈配備了圖靈完備的執行環境,可以在此全局狀態之上實現可編程性。針對區塊鏈執行環境的程序稱為智能合約,底層區塊鏈稱為智能合約平臺。以太坊、Solana 和 Avalanche 是最廣為人知的智能合約平臺。我們可以將智能合約平臺視為分布式計算機,執行環境(或虛擬機)充當CPU,狀態充當存儲角色。
這種將區塊鏈視為計算機的框架對于解釋為什么協處理器/鏈下計算是不可避免的非常重要,特別是在區塊鏈的背景下。在傳統計算中,協處理器起源于微架構,旨在提高性能。同樣,以太坊上的協處理器承諾訪問歷史數據和高性能離線計算,以增強基礎層協議的功能和設計空間。請參閱這篇關于協處理器的介紹性文章以了解更多信息。
本文從基本原理出發探討協處理器,旨在闡明它們的重要性和元屬性。然后,我們將它們與rollup進行比較,展示這兩個概念雖然不同,但卻密切相關。我們還提供了何時可以將rollup和協處理器結合使用的示例。例如,即使是全能的rollup或 L1 也可能需要協處理器來執行繁重的任務。
我們通過觀察區塊鏈正在走向計算集中但驗證仍然分散的未來來結束本文。Rollup、協處理器和任何其他形式的可驗證鏈下計算只是這個未來的不同實例。
Vitalik在《區塊鏈可擴展性的限制》中提到,對于區塊鏈去中心化來說,普通用戶可以運行節點非常重要。
如前所述,以太坊在很多方面都可以被概念化為去中心化的全球計算機。它是運行軟件的節點網絡,為執行智能合約提供計算資源。以太坊區塊鏈存儲狀態信息和代碼,類似于計算機的存儲和內存。以太坊虛擬機(EVM)運行在每個節點上,像CPU一樣處理交易并執行代碼。然而,以太坊是無需許可和去中心化的,使用不可信節點之間的共識。如果某些節點離線,網絡將繼續運行。為了確保 EVM 操作的正確性,以太坊等權益證明 (PoS) 網絡上的驗證器必須執行所有狀態轉換來驗證它們。這限制了 PoS 網絡最慢節點的速度,限制了應用程序開發人員可用的計算量。
與普通計算機不同,以太坊限制計算和存儲以防止網絡濫用。每次操作都會收取費用,因此無限循環在經濟上不切實際。這種方法降低了進入門檻,允許像 Raspberry Pi 這樣的日常硬件運行網絡節點。這些限制使得包容性系統成為可能,任何人都可以幫助操作去中心化的以太坊網絡。
由于以太坊節點的這些計算限制,機器學習模型、游戲或科學計算應用程序等復雜應用程序目前無法直接在以太坊上運行。
為了使以太坊能夠廣泛訪問、安全且可持續地作為基本應用程序的基礎,這是一種權衡。但不可避免的是,相對于計算不受限制的計算機而言,存在一些限制。即使與像 Pentium 5 這樣的古老處理器相比,它也有局限性:
最終,有限的存儲和計算限制了應用程序可用的自由度(這些限制因區塊鏈而異,但它們始終存在)。人們將區塊鏈與 1970 年代至 1980 年代的計算受限環境進行比較,但我們認為兩者之間存在一些很大的差異:
所有這一切都表明,這些年來,CPU 得到了改進,我們在每臺設備上獲得了更多的 CPU 核心,使我們能夠執行逐漸復雜的任務。如果我們認為區塊鏈計算機的速度不會像傳統計算一樣快(由于基準節點要求),那么嘗試尋找替代計算源是有意義的。這里有一個有趣的類比,傳統計算中的 CPU 并不擅長圖形處理任務,導致幾乎每臺計算機中 GPU 的興起。同樣,由于區塊鏈專注于成為啟用簡單計算電池的安全狀態存儲,因此鏈下計算顯然有機會擴展應用程序設計空間。如今,區塊鏈僅對需要開放訪問、自我主權、審查阻力和可組合性等屬性的低計算應用程序有意義。為了將更多種類的應用程序放到鏈上,我們需要解除對應用程序開發人員的限制。我們這么說的前提是,這些限制也有利于實驗。例如,由于計算限制,CLOB 無法在以太坊上有效運行,因此采用了 AMM,其交易量已達到一萬億美元。
有兩種常見方法可以為區塊鏈應用程序提供更多計算能力:
網絡存檔(注意:我們使用 2020 年的 RAM 需求中位數)將計算轉移到鏈下第三方。這是以太坊生態系統采取的策略。這些第三方本身可以是區塊鏈(在匯總的情況下)、鏈下可驗證計算設備(即協處理器)或可信第三方(如 dydx 訂單簿等特定于應用程序的鏈下計算的情況)。
最近,關于協處理器的討論有所增加,它提供鏈下可驗證計算。協處理器可以通過多種方式實現,包括但不限于零知識證明或可信執行環境(TEE)。一些例子是:
同時,在卸載計算方面,以太坊以rollup為中心的路線圖將計算卸載到以太坊上的各種匯總。在過去的幾年里,由于 Rollups 提供了更便宜、更快的交易和激勵措施,不斷有開發人員和用戶遷移到 Rollups。在理想的世界中,rollup 允許以太坊通過鏈下執行來擴展其整體計算能力,而無需添加信任假設。更多計算不僅僅指執行更多事務,還指對每個事務進行更具表現力的計算。新的事務類型擴展了應用程序可用的設計空間,更高的吞吐量降低了執行這些表達性事務的成本,確保以經濟實惠的方式訪問更高級別的應用程序。
在進一步討論之前,讓我們簡要定義一下匯總和協處理器,以防止混淆:
Rollups:Rollups 維護與其基礎/主機鏈不同的持久的分區狀態,但仍然通過向其發布數據/證明來繼承其基礎的安全屬性。通過將狀態移出主機鏈,匯總可以在將這些狀態轉換的完整性證明發布到主機之前使用額外的計算來執行狀態轉換。對于不想支付以太坊高額費用但想要訪問以太坊安全屬性的用戶來說,Rollup 最為有用。
在深入探討協處理器之前,讓我們先了解一下目前以太坊上智能合約開發的局限性。以太坊在其全局狀態中具有持久狀態存儲 - 賬戶余額、合約數據等。這些數據無限期地保留在區塊鏈上。但是,也有一些限制:
合約數據的最大大小是有限的(例如,當前每個合約為 24KB,并在 EIP 170 中設置)。存儲大文件會超出這個范圍。(*協處理器也無法解決)
讀/寫合約存儲比文件系統或數據庫慢。訪問 1KB 的數據可能會花費數百萬的 Gas。當全局狀態持續存在時,各個節點僅以“修剪”模式在本地保留最近的狀態。完整的狀態歷史記錄需要存檔節點。沒有用于處理圖像、音頻和文檔等文件的本機文件系統原語。智能合約只能將基本數據類型讀取/寫入存儲。
圍繞這個問題的解決方案是:
協處理器:協處理器本身不維護任何狀態;它們的行為類似于 AWS 上的 lambda 函數,應用程序可以向它們發送計算任務,然后它們返回帶有計算證明的結果。協處理器從根本上增加了任何給定事務的可用計算量,但由于協處理器上的證明也是在每個事務的基礎上進行的,因此使用它們將比匯總更昂貴。考慮到成本,協處理器可能對想要以可驗證的方式執行復雜的一次性任務的協議或用戶有用。協處理器的另一個好處是,它們允許使用鏈外計算的應用程序也可以訪問以太坊的完整歷史狀態,而無需向應用程序本身添加任何信任假設;這在今天的普通智能合約中是不可能的。
為了深入了解匯總和協處理器之間的差異,讓我們參考這兩種原語的 ZK 風格。ZK rollups 可以訪問零知識證明的可驗證性和壓縮方面,從而從根本上提高生態系統的吞??吐量。另一方面,協處理器僅訪問 zk 證明的可驗證性屬性,這意味著系統的整體吞吐量保持不變。此外,ZK rollups 需要能夠證明任何針對該 rollup 的虛擬機的程序的電路(例如,以太坊上的 rollups 已經為針對 EVM 的合約構建了 zkEVM)。相比之下,ZK 協處理器只需要為它們要執行的任務構建電路。
因此,rollup 和協處理器之間的兩個最大區別似乎是:
最近,Booster Rollups被提出,它執行交易就像直接在主機鏈上運行一樣,可以訪問主機的完整狀態。然而,Booster Rollups 也有自己的存儲,允許它們跨主機和 Rollup 擴展計算和存儲。Booster Rollup 提案指出了鏈外計算設計范圍中存在一個頻譜,傳統的 Rollup 和協處理器位于該頻譜的兩端。Rollups、Booster Rollups 和 Coprocessors 都提供對更多計算的訪問,唯一的區別在于它們保留了從基礎 L1 分區的狀態量。
在 2023 年模塊化峰會上的一次名為“屏蔽交易是rollup”的演講中,Henry De Valence 談到了這個確切的概念,并提出了一個非常簡單的圖像來定義rollup:
該演講假設基礎鏈卸載給第三方的任何執行都是rollup。根據他的定義,協處理器也將是rollup。這與我們在鏈下可驗證計算的旗幟下統一rollup和協處理器的觀點略有不同,但總體情緒保持不變!
在他的Endgame愿景中,Vitalik 討論了區塊生產中心化、區塊驗證不信任且高度去中心化的未來。我們相信,這大致是思考現在正在發生的事情的正確模型。在 zk-rollup 中,區塊生產和狀態轉換計算是中心化的。然而,證明使得驗證變得廉價且去中心化。類似地,zk 協處理器沒有區塊生產;它僅訪問歷史數據并計算該數據的狀態轉換。zk 協處理器上的計算可能總是在中心化機器上執行;盡管如此,隨結果一起返回的有效性證明允許任何人在使用結果之前驗證它們。也許將 Vitalik 的愿景重述為正確的:“未來計算是中心化的,但中心化計算的驗證是去信任的且高度去中心化的。”
盡管總體上很相似,但rollup和協處理器如今服務于截然不同的市場。有人可能會問,“如果我們可以在 ETH L1 上使用協處理器并獲得其流動性,為什么我們需要rollup?” 雖然這是一個公平的問題,但我們認為有幾個原因可以解釋為什么rollup仍然有意義(并且提供了比當今協處理器更大的市場機會):
此外,由于rollup提供了在這種單獨狀態上運行事務的能力,因此它們的行為仍然像區塊鏈(更快、去中心化程度較低的區塊鏈,但仍然是區塊鏈),因此它們對于可以從匯總訪問的計算量也有明確的限制本身。在這種情況下,如果用戶想要執行任意復雜的事務,則協處理器對于rollup非常有用(現在您正在rollup上執行可驗證的事務,因此您只需遵守rollup的物理定律)。
這里需要注意的另一個要點是,目前大部分流動性都駐留在 ETH L1 上,因此對于許多依賴流動性來改進其產品的協議來說,仍然在以太坊主網上啟動可能是明智的選擇。以太坊主網上的應用程序可以通過在協處理器上間歇性地執行事務來訪問更多計算。例如,像 Ambient 或 Uniswap v4 這樣的 DEX 可以使用鉤子與協處理器來執行復雜的邏輯,以決定如何更改費用,甚至根據市場數據修改流動性曲線的形狀。
一個有趣的類比將rollup和協處理器之間的相互作用與命令式編程和函數式編程進行了比較。命令式編程側重于可變狀態和副作用,指定逐步執行任務的方式。函數式編程強調不可變數據和純函數,避免狀態變化和副作用。同樣,rollup就像修改它們所持有的狀態的命令式程序,而協處理器就像函數式程序,它們不會改變狀態,但會生成結果以及計算證明。此外,就像命令式編程和函數編程一樣,rollup和協處理器也有其用武之地,并且應該相應地使用。
如果我們最終進入一個計算中心化的世界,但中心化計算的驗證是無需信任且高度去中心化的,那么以太坊將走向何方?世界計算機會被簡化為一個數據庫嗎?這是壞事嗎?
最終,以太坊的目標是讓用戶能夠訪問無需信任的計算和存儲。過去,在以太坊上訪問免信任計算的唯一方法是由所有節點執行和驗證計算。隨著證明技術(尤其是零知識證明)的進步,我們可以將驗證器節點上發生的大部分計算轉移到鏈外計算,而只讓驗證器在鏈上驗證結果。這本質上將以太坊變成了世界上不可變的公告板。計算證明使我們能夠驗證交易是否正確完成,并且通過將它們發布到以太坊,我們可以獲得這些證明的時間戳和不可變的歷史存儲。隨著零知識證明在任意計算上變得更加高效,在某些時候,在 ZK 中進行計算的成本可能會大大低于在區塊鏈(甚至可能是 100 個驗證者的 CometBFT 鏈)上進行計算的成本。在這樣的世界中,很難想象 ZK 證明不會成為訪問去信任計算的主導模式。David Wong 最近也表達了類似的想法:
未來任何計算都可以被證明,這也使我們能夠為有用戶需求的各種無需信任的應用程序構建基礎設施,而不是試圖改造以太坊基礎層以成為這些應用程序的家園。在理想情況下,定制的基礎設施將創造更加無縫的用戶體驗,并且還將隨著構建在其之上的應用程序進行擴展。這有望讓 web3 應用程序能夠與 web2 應用程序競爭,并迎來密碼朋克們一直夢想的去信任的、基于證據的未來。
總而言之,我們相信我們正在朝著以下范式邁進: