ZK证明超越Rollups:Ethereum上的可验证AI推理
Engineering Team
ZK证明在扩容之外的能力
零知识证明自2021年以来一直与区块链扩容密不可分。zkSync、StarkNet、Scroll和Polygon zkEVM使用它们将数千笔交易压缩为在Ethereum L1上验证的单一证明。但扩容只是第一个应用。ZK证明的真正力量在于可验证计算 — 证明任意程序正确执行而无需重新运行它的能力。
这种框架很重要:ZK不是恰好有其他用途的扩容技术。ZK是一种通用可验证计算技术,恰好在区块链扩容中找到了第一个大规模市场。
在2026年,最令人兴奋的ZK应用不是rollup。它们是:
- zkML — 证明机器学习模型产生了特定输出而不揭露模型权重
- ZK协处理器 — 在链下运行繁重计算并在链上发布简洁证明
- 可验证凭证 — 证明身份属性(年龄、国籍、信用评分)而不揭露底层数据
- MEV保护 — 加密交易意图并证明有效性而不向区块构建者透露详情
zkML:可验证的AI推理
人工智能和区块链的交汇至今大多是炒作。但zkML — 将零知识证明应用于机器学习推理 — 解决了一个真实问题:如何信任AI模型产生了特定输出?
信任问题
设想一个使用AI模型进行信用评分的DeFi借贷协议。模型获取借款人的链上历史并返回决定其抵押率的信用评分。出现三个信任问题:
- 模型完整性 — 借款人如何知道协议使用了声称的模型而非歧视他们的其他模型?
- 输入完整性 — 协议如何证明使用了正确的链上数据作为输入而非伪造数据?
- 执行完整性 — 任何人如何验证计算是正确完成的?
没有ZK证明,答案是“信任协议运营方“。有了zkML,答案变成:“验证证明。”
zkML工作原理
zkML系统将神经网络推理转换为算术电路,然后生成正确执行的ZK证明:
1. 模型量化:将浮点权重转换为定点
(例如float32 → int8或int16)
2. 电路编译:将每个神经网络层转换为算术约束:
- 线性层 → 矩阵乘法电路
- ReLU激活 → 比较电路
- Softmax → 查找表电路
3. 见证生成:使用实际输入执行模型,记录所有中间值
4. 证明生成:使用证明系统(Halo2、Plonky3、SP1)
生成电路正确执行的简洁证明
5. 验证:Ethereum上的智能合约在O(1)时间内验证证明
当前限制和实际边界
2026年的zkML是真实的但受限的:
| 模型大小 | 证明时间 | 证明大小 | 验证Gas | 实用? |
|---|---|---|---|---|
| 微小(100K参数) | 5-30秒 | 256字节 | ~300K gas | 是 |
| 小型(1M参数) | 1-5分钟 | 256字节 | ~300K gas | 是,用于异步任务 |
| 中型(10M参数) | 15-60分钟 | 256字节 | ~300K gas | 使用GPU证明器可行 |
| 大型(100M+参数) | 数小时到数天 | 256字节 | ~300K gas | 仅限研究 |
| LLM级(1B+参数) | 不切实际 | — | — | 尚未 |
关键洞察:证明大小和验证成本是恒定的,与模型大小无关。只有证明时间随计算复杂度增长。
zkML生产用例
1. 链上信用评分
DeFi协议在借款人的链上交易历史上运行信用评分模型。zkML证明保证:使用了正确的模型、使用了正确的输入数据、计算是正确的。
2. 可验证内容审核
去中心化社交媒体平台使用AI分类器检测有害内容。zkML证明分类器被一致地应用于所有帖子 — 没有选择性审查,没有隐藏偏见。
3. 隐私机器学习
医疗保健协议证明诊断模型对患者数据产生了特定结果 — 不揭露患者数据或模型权重。
ZK协处理器:链下计算,链上验证
Ethereum上的智能合约在计算上故意受限。Gas成本使复杂逻辑成本过高。ZK协处理器通过将计算移至链下同时保持链上验证来解决这个问题。
架构
+------------------+ +-------------------+ +------------------+
| 智能合约 |---->| ZK协处理器 |---->| 证明验证器 |
| (请求) | | (链下) | | (链上) |
+------------------+ +-------------------+ +------------------+
| 1. 发出事件 | | 2. 读取状态 | | 4. 验证证明 |
| 附带查询 | | 3. 执行程序 | | 5. 存储结果 |
| | | 生成证明 | | |
+------------------+ +-------------------+ +------------------+
为什么不直接使用预言机?
预言机(Chainlink、API3)向智能合约提供链下数据,但需要信任预言机运营方。ZK协处理器提供无信任计算:
| 属性 | 预言机 | ZK协处理器 |
|---|---|---|
| 信任模型 | 信任运营方 | 信任数学(验证证明) |
| 数据来源 | 外部API | 区块链状态(可验证) |
| 计算 | 简单聚合 | 任意程序 |
| 成本 | 每次请求费用 | 证明验证Gas |
| 延迟 | 秒级 | 分钟(证明时间) |
领先的ZK协处理器项目
Axiom — Ethereum的第一个ZK协处理器,专注于历史状态查询。
Brevis — 通用ZK协处理器,支持对区块链数据的自定义计算。
Lagrange — 专注于跨链状态证明。
证明系统比较:SP1 vs RISC Zero vs Jolt
证明系统的选择决定了ZK应用的开发者体验、性能和安全性。
SP1(Succinct)
SP1是一个zkVM,证明任意RISC-V程序的执行。开发者编写标准Rust代码,编译为RISC-V,SP1生成正确执行的ZK证明。
RISC Zero
RISC Zero是RISC-V zkVM方法的先驱。它使用基于STARK的证明系统并提供最成熟的工具生态系统。
Jolt(a16z)
Jolt使用新颖的基于查找的证明方法(Lasso + Surge),避免了SNARK和STARK使用的复杂算术电路。
比较表
| 特性 | SP1 | RISC Zero | Jolt |
|---|---|---|---|
| ISA | RISC-V | RISC-V | RISC-V |
| 证明系统 | Plonky3(STARK) | STARK + Groth16包装器 | Lasso/Surge(sumcheck) |
| 语言 | Rust | Rust | Rust |
| 验证Gas | ~270K | ~250K | ~300K |
| 证明速度 | 快(1x) | 中等(慢1.5x) | 快(0.9x) |
| GPU加速 | 是(CUDA) | 是(CUDA、Metal) | 是(CUDA) |
| 成熟度 | 生产(2025+) | 生产(2024+) | Beta(2025+) |
常见问题
ZK证明和ZK rollups有什么区别?
ZK rollups是ZK证明的一种应用 — 使用ZK证明验证批量交易执行以进行区块链扩容。ZK证明本身是用于可验证计算的通用密码学工具。
我需要理解密码学才能使用ZK构建吗?
使用现代zkVM(SP1、RISC Zero、Jolt),不需要。您编写标准Rust代码,zkVM处理密码学证明生成。
Ethereum上ZK证明验证的成本是多少?
Groth16证明验证大约消耗250-300K gas(在典型gas价格下约$0.50-1.50)。STARK验证更贵(~500K-1M gas),但可通过证明组合减少。
ZK证明能保证AI安全吗?
不能。ZK证明保证计算完整性 — 程序正确运行。它们不保证程序(或模型)本身是安全的、无偏见的或符合人类价值观的。
ZK证明何时能用于大语言模型?
2026年不行。当前zkVM可以在合理时间内处理最多约1000万参数的模型。LLM有数十亿参数。硬件加速(ASIC)和算法改进可能使中等大小LLM的证明在2028-2029年变得可行。