Cointime

扫码下载App
iOS & Android

ABCDE:一文深入探讨协处理器及各家解决方案

VC

随着近几个月协处理器概念的火热,这一新的ZK用例开始得到越来越多人的关注。

然而我们发现,大多数人对于协处理器概念还是相对陌生,尤其是对于协处理器的精准定位 — 协处理器是什么,又不是什么,还比较模糊。而对于市面上几家协处理器赛道的技术方案对比,尚未有人系统的整理过,这篇文希望能够给市场和用户一个关于协处理赛道更加清晰的认识。

一.协处理器Co-Processor是什么,又不是什么

如果要求你只用一句话来向一个非技术或是开发人员讲清楚协处理器,你会如何描述?

我想董沫博士的这句可能非常接近标准答案 — 协处理器说白了就是”赋予智能合约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,都天生不适应这类“重数据”和“复杂计算逻辑”的任务,所以引入一个区块链协处理器,来帮助处理这类计算,从而极大拓展区块链应用的可能性。

所以协处理器做的事情归纳一下就是两件事:

  1. 从区块链上拿数据,并通过ZK证明我拿的数据是真的,没掺假;
  2. 根据刚才拿到的数据做出相应的计算,并再次通过ZK证明我算的结果也是真的,没掺假,计算结果就可以被智能合约“低费用+Trustless”的调用了。

前段时间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,用OP行不行?

看完上面,你可能会有一个疑惑,协处理器,非得用ZK来做么?听起来怎么这么像是一个“加了ZK的Graph”,而我们似乎对于Graph上面的结果也没有什么“大的怀疑”。

说是这么说,那是因为平常你用Graph的时候基本上不怎么牵扯真金白银,这些索引都是服务off-chain services的,你在前端用户界面上看到的,交易量,交易历史等等数据,可以通过graph,Alchemy,Zettablock等多家数据索引提供商来提供,但这些数据没法塞回到智能合约里面,因为一旦你塞回去就是去增加了额外的对这个索引服务的信任。当数据跟真金白银,尤其是那种大体量的TVL进行联动之时,这种额外的信任就变得重要起来,想象下一个朋友问你借100块,你可能眼都不眨说给就给了,问你借1万,甚至100万的时候呢?

但话又说回来,是不是协处理上面所有的场景真的都得用ZK来做呢? 毕竟Rollup里面我们就有OP和ZK两条技术路线,最近流行的ZKML,也有相应分支路线的OPML概念提出,那么协处理器这事儿,是不是也有个OP的分支,比如说OP-Coprocessor?

其实还真的有 — 不过在此我们先对具体的细节保密,很快我们将会发布更细节的信息出来。

三. 协处理器哪家强 — 市面上常见的几家协处理器技术方案对比

  1. Brevis:

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定义的存储证明是以下内容的融合:

  • 包含证明:这些证明确认加密数据结构(例如 Merkle 树或 Merkle Patricia 树)中特定数据的存在,确保相关数据确实存在于数据集中。
  • 计算证明:验证多步骤工作流程的执行,证明广泛数据集中一个或多个元素的有效性,例如整个以太坊区块链或汇总。除了指示数据的存在之外,它们还验证应用于该数据的转换或操作。
  • 零知识证明:简化智能合约需要交互的数据量。零知识证明允许智能合约在不处理所有基础数​​据的情况下确认索赔的有效性。

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 本身。

评论

所有评论

推荐阅读

  • 瑞士联邦委员会计划实施加密资产报告框架以提高税收透明度

    瑞士联邦委员会(由七名成员组成,共同领导瑞士政府)打算实施加密资产报告框架(CARF),以提高税收透明度。15 日,联邦委员会发布了一份咨询文件,以调查加入国际税务机关合作打击偷税漏税的自动信息交换(AEOI)的民意。目前,瑞士加入 AEOI 的时间定于 2026 年 1 月 1 日。据悉,经合组织(OECD)为 20 国集团(G20)国家建立了 AEOI 和其他倡议,后来扩大到包括其他国家。瑞士此前在 2014 年采用了经合组织的共同报告标准(CRS),但未纳入监管加密资产及其提供商处理的 CARF。(Cointelegraph)

  • 埃及RWA金融科技初创公司Mnzl完成350万美元种子轮融资,P1 Ventures等领投

    金色财经报道,埃及RWA金融科技初创公司Mnzl宣布完成350万美元种子轮融资,P1 Ventures、Localglobe 和 Ingressive Capital领投,500 Global、Flat6Labs、First Circle Capital、Enza Capital、Beenok和一批未透露姓名的天使投资人参投。Mnzl 允许用户将汽车和房地产等非流动资产转换为流动资产,并将资产上传到数字钱包进行管理。

  • 4月加密项目融资额增环比增长3.8%至13.6亿美元

    Messari 发布 2024 年 4 月融资报告。2024 年 4 月,加密货币项目融资交易额环比增长 3.8%,达到 13.6 亿美元,自 2023 年 8 月低点(3.72 亿美元)以来持续 8 个月的增长趋势;但融资交易数量下降 16.7%,仅 259 笔。4 月网络领域的投资额占总投资额的 37.7%,大额融资项目包括 Monad(融资 2.25 亿美元)等。值得注意的是,4 月比特币 Layer2 项目激增,多个项目从隐身模式中脱颖而出。金融和基础设施领域也出现显著的融资活动,与前几个月相比,资本在各个类别中的分布更加均衡。

  • 摩根士丹利披露其对灰度GBTC投资近2.7亿美元,成为最大持有者之一

    5月16日消息,摩根士丹利(Morgan Stanley)在Q1提交给SEC的13F文件中披露,其通过灰度GBTC向现货比特币ETF投资了2.699亿美元。根据Fintel的数据,这笔投资使其成为继Susquehanna International Group(投资10亿美元)之后,GBTC的最大持有者之一。 摩根士丹利也是众多披露了对现货比特币ETF投资的全球系统重要性银行(G-SIB)之一,其他银行包括加拿大皇家银行、摩根大通、富国银行、法国巴黎银行和瑞银集团。

  • Coinbase计划为澳大利亚自助养老金部门提供服务

    Coinbase计划为澳大利亚的自助养老金部门提供服务。交易所亚太区总经理John O’Loghlen告诉彭博社:“我们不认为这会损害ETF玩家的利益。”Coinbase正在开发一项专门针对澳大利亚自助养老金部门的服务。自2019年3月以来,澳大利亚的自助基金越来越多地持有加密货币。根据澳大利亚税务局的最新数据,近10亿澳元(6.64亿美元)用于加密货币。成千上万的澳大利亚人使用自助养老金基金押注加密货币,甚至在2023年3月据路透社报道,有人损失了数百万美元。

  • 美国立法者:美SEC应在参议院投票前废除加密会计政策

    美国立法者 Wiley Nickel 在 5 月 15 日致美国证券交易委员会(SEC)主席 Gary Gensler 的一封信中表示,美 SEC 应在参议院投票前废除加密会计政策(SAB 121)。保护投资者是美国证券交易委员会的使命,然而 SAB 121 恰恰相反,它阻止了受到严格监管的美国银行大规模托管数字资产。此外,Wiley Nickel 批评美 SEC 在发布 SAB 121 时绕过了规则制定程序,他认为加密会计政策的目的是澄清现有政策,而不是制定新政策。 此前消息,白宫于 5 月 8 日发布「政府政策声明」表示,限制美 SEC 为加密资产维持全面有效的金融监管框架的能力,将带来严重的金融不稳定和市场不确定性。

  • 天津市公安局河东分局:正在推进蓝天格锐非法集资案各项追逃追赃工作

    5月16日消息,天津市公安局河东分局发布案情通报称,其对天津蓝天格锐电子科技有限公司涉嫌非法吸收公众存款案立案侦查以来,通过国际刑警组织对主要犯罪嫌疑人钱志敏发布红色通报,开展全球缉捕,并通过国际执法合作渠道持续同英国等国家相关执法部门开展国际追逃追赃协作。同时提示集资参与用户配合依法办案,通过合法途径表达诉求。 此前消息,英国 6 万枚比特币洗钱案、天津蓝天格锐 430 亿元非法集资案主犯钱志敏(曾化名 Yadi Zhang)中国在逃 7 年、英国在逃 4 年后,近日在英国归案。她的助理、英国洗钱案共犯温俭,此前已被捕受审,将于伦敦当地时间 5 月 10 日宣判。

  • 比特币单日涨幅超7.5%,系近两个月以来最大涨幅

    比特币周三创下近两个月来最大单日涨幅,原因是疲弱的美国经济数据加大了美联储在夏季降息的可能性。根据 TradingView 和 CoinDesk 的数据,按市值计算,比特币昨日上涨了 7.5%以上,达到 66250 美元,这是自 3 月 20 日以来的最大涨幅。与其他风险资产一样,比特币对主要央行货币政策立场的预期变化和预计法定货币借贷成本下降时的反弹非常敏感。(CoinDesk)

  • 安徽启动“皖剑-2024”拟重点查处虚拟货币、挖矿机、区块链、炒外汇等网络传销活动

    据安徽日报消息,安徽省委政法委、省市场监管局、省公安厅联合印发通知,从5月13日起至12月10日,在全省范围内开展打击传销“皖剑-2024”行动,其中将重点查处打着“区块链”“元宇宙”“数字资产交易”等旗号,开展虚拟货币、挖矿机、区块链、炒外汇等运作的矿币链通型网络传销活动。

  • 美联储卡什卡利:需要更加关注实际通胀

    美联储卡什卡利表示,美联储正在关注经济中的潜在需求以降低通胀;需要更加关注实际通胀;住房市场的韧性一直都超过预期;当前,我非常注重住房问题对于美国通胀的影响;重要问题是目前政策的限制程度如何。 美联储卡什卡利表示,我们可能需要将利率在当前水平再维持一段时间,以弄清通胀的走向;美联储的资产负债表缩减进展顺利。