ZK 数据协处理器(ZK Data Coprocessor)是 Brevis 用来让智能合约可信地使用历史与跨链数据的核心组件,它在链下访问真实链上数据并计算,再把结果连同一份零知识证明(Zero-Knowledge Proof, ZK)交回链上验证。作为 Brevis(BREV) 中最贴近应用的一层,它把「合约算不动、读不起历史数据」的难题转化为「链下算、链上验」。
区块链的共识要求每个验证者重复执行相同计算,链上直接读取大量历史交易的成本极高,智能合约对历史数据近乎失明(blind to history)。
沿用 Brevis「证明工作而非重复工作(prove work instead of repeating it)」的思路,ZK 数据协处理器把繁重读取与计算放到链下,链上只保留一次毫秒级验证,让合约既能基于长期链上行为决策,又无需信任中心化搬运方。
ZK 数据协处理器作为一类链下计算引擎,专门访问区块链的历史状态与跨链数据、执行合约无法在链上高效完成的计算,并为每次计算附上密码学证明,输出「结果 + 该结果来自真实数据且计算正确」的可验证凭据。
在 Brevis 技术栈中,ZK 数据协处理器构成 Pico zkVM「应用级协处理器(application-level coprocessor)」的主要范例。Pico zkVM 用「胶水(glue)」在通用核心与专用模块间路由数据,数据协处理器则把这套能力聚焦到「读历史、做统计、附证明」,让合约无需相信运营方诚实,只需相信数学。
智能合约在设计上只能高效读取当前区块状态,对更早区块的历史数据近乎失明。以太坊(Ethereum)等网络虽保存完整历史,但合约在链上访问过往区块的存储或交易需要昂贵的额外证明,甚至缺乏原生接口。
根本原因在于成本与共识:统计某地址过去半年的交易量若在链上重放,每个验证者都要重新处理海量状态,Gas 消耗迅速突破单笔上限。历史数据「存在」却「不可用」,按历史行为分层的手续费或忠诚度奖励等功能过去只能靠链下计算再回填,把信任交回中心化环节。
ZK 数据协处理器通过区块链的归档节点(archive node)访问完整历史状态。归档节点保存每个历史区块的状态快照,使协处理器可读取任意时点的余额、存储槽与交易记录,无需合约在链上重放,数据来源覆盖单链与多条链状态。
读取原始数据后,协处理器在链下执行请求方定义的计算逻辑,如聚合、筛选、加权或条件判断。与普通链下计算的差别在于:每个被读取的数据点都会被纳入后续证明,「数据存在性」与「计算正确性」被同时锁定。
ZK 数据协处理器的完整数据流分为四步,从应用发起请求到智能合约在链上采信结果,形成闭环;在 pure-ZK 路径下,每一步的证明生成都依赖前述通用 zkVM 执行层。下表拆解每一步。
| 步骤 | 环节 | 发生了什么 | 输出 |
|---|---|---|---|
| ① | 应用发起请求 | dApp 定义计算逻辑与数据范围并提交请求 | 计算任务 |
| ② | 链下数据访问与计算 | 协处理器经归档节点读取真实数据并计算 | 原始结果 |
| ③ | 生成 ZK 证明 | 为「计算在真实数据上被正确执行」生成 ZK 证明 | 结果 + 证明 |
| ④ | 链上验证 | 智能合约毫秒级验证证明并接收结果 | 可信结论 |
上表四步构成一条「链下算、链上验」流水线:链下完成繁重读取与计算,链上只需以极低成本验证一份简洁证明,无需把原始数据搬回链上。

图 1. ZK 数据协处理器四步数据流:应用请求 → 链下数据访问(归档节点)→ 计算 → 生成 ZK 证明(数据存在且计算正确)→ 链上验证器 → 返回结果。
ZK 数据协处理器返回的证明之所以可信,在于它同时覆盖三层保证:结果本身、数据的真实存在性与计算的正确性,任何一层被篡改都无法通过链上验证。
零知识证明让验证成本与计算规模解耦:无论链下处理多少历史区块,链上验证只需检查一份固定大小的简洁证明,耗时通常在毫秒级。下表列出证明锁定的三类事实。
| 保证类型 | 证明锁定的事实 | 防范的作弊 |
|---|---|---|
| 结果 | 返回值确实是该计算的输出 | 篡改最终结果 |
| 数据存在性 | 输入来自目标链真实历史状态 | 伪造或替换输入数据 |
| 计算正确性 | 计算严格按声明逻辑执行 | 跳步、简化或改写逻辑 |
上表说明为何合约可以「不信任、只验证」:结果、输入与过程一并纳入证明,协处理器无法在任一环节动手脚。这种信任最小化(trust-minimized)特性,正是它区别于依赖可信方回填数据的根本。

图 2. ZK 数据协处理器证明结构:单一证明同时绑定结果、数据存在性与计算正确性,由链上智能合约验证器毫秒级校验。
ZK 数据协处理器适合任何需要「基于历史或跨链数据、且结果必须可信」的链上场景。过去只能靠链下计算再回填的功能,大多可用可验证计算替代。下表列出几类典型方向。
| 场景 | 用到的能力 | 说明 |
|---|---|---|
| 数据驱动激励 | 历史交易量/行为聚合 | 按真实活跃度发放奖励,结果不可伪造 |
| 忠诚度与分层 | 持仓时长/历史快照 | 按持有或交易记录分层给予权益 |
| 链上风控 | 地址历史画像 | 依据历史行为评估风险后执行合约逻辑 |
| 跨链状态读取 | 多链归档数据 | 在一条链上采信另一条链的历史状态 |
这些方向的共同点是:决策依据来自「过去发生的事」,而这些数据无法在链上便宜重放。与把链下数据搬上链的预言机相比,Brevis 与预言机的区别在于协处理器不仅提供数据,更提供「基于数据的计算及其正确性证明」,把信任从数据源转移到数学。
ZK 数据协处理器的核心优势是信任最小化与可扩展性。链下执行让计算规模不再受区块 Gas 上限约束,零知识证明让结果无需信任第三方即可核验,合约因此能安全地基于长期链上行为决策。
局限主要来自 ZK 计算本身:生成零知识证明需要专门硬件与算力,复杂逻辑的证明开销和延迟高于原生执行,对超低延迟场景不友好;结果可信度还以数据源完整性为前提,归档节点数据缺失或错误会直接影响输入真实性。
因此,ZK 数据协处理器更适合「结果正确性优先于即时性」的场景,让大量历史计算可信可用但并非零成本;若对延迟与证明成本更敏感,BREV 代币与 coChain 所描述的 coChain 乐观模型提供另一条可选路径。以上均为机制层面的客观约束,不构成投资判断。
ZK 数据协处理器作为 Brevis 面向应用的一层,解决了智能合约对历史数据近乎失明、链上重放成本过高的难题。它在链下经归档节点访问真实历史与跨链数据并计算,再返回「结果 + 数据存在且计算正确」的零知识证明,由合约毫秒级验证。请求、链下计算、生成证明、链上验证四步把信任从中心化搬运方转移到密码学,让数据驱动激励、忠诚度、风控与跨链读取等场景在可信前提下实现。
作为一类链下计算引擎,ZK 数据协处理器访问区块链的历史与跨链数据、执行合约难以在链上完成的计算,并为结果附上零知识证明。合约只需在链上验证一份简洁证明即可采信结果,无需重放原始数据。
数据来自区块链的归档节点(archive node),归档节点保存每个历史区块的完整状态快照。协处理器据此读取任意时点的余额、存储与交易记录,并可覆盖多条链的历史状态,每个数据点都会被纳入后续证明。
它返回的零知识证明同时锁定三层事实:结果本身、输入数据真实存在于目标链、计算严格按声明逻辑执行。任何一层被篡改,证明都无法通过链上验证,因此合约可以「不信任、只验证」。
预言机主要把链下数据搬运上链,仍需信任数据源;ZK 数据协处理器则在链下基于真实链上或历史数据完成计算,并附带证明其正确性的零知识证明,把信任从数据源转移到数学验证。





