7.1 新型证明系统研究:折叠、查找与专用域 本节摘要:证明系统研究正沿三条主脉推进:折叠方案把递归成本压到近零,查找论证把非算术操作的成本砍掉量级,专用域方案让比特运算回到主场。本节逐条拆解它们的动机、机理与成熟度,并给出"受益现场"的映射。承接第 7 章问题主线,通往 7.2 的通用计算证明。 折叠:递归从奢侈品变成日用品 第 6 章现场反复出现一个动作——把上一步的证明验进下一步的证明(递归),但传统递归的代价让人犹豫:验证一次 Groth16 要把整条验证等式搬进电路,电路规模数万门起步,"递归一层"的成本可能超过直接重算。
本节摘要:证明系统研究正沿三条主脉推进:折叠方案把递归成本压到近零,查找论证把非算术操作的成本砍掉量级,专用域方案让比特运算回到主场。本节逐条拆解它们的动机、机理与成熟度,并给出"受益现场"的映射。承接第 7 章问题主线,通往 7.2 的通用计算证明。
第 6 章现场反复出现一个动作——把上一步的证明验进下一步的证明(递归),但传统递归的代价让人犹豫:验证一次 Groth16 要把整条验证等式搬进电路,电路规模数万门起步,"递归一层"的成本可能超过直接重算。折叠方案(代表工作 Nova 及其后继)换了个思路:不验证旧证明,而是把"旧实例与新实例"两份约束系统折叠成一份等价实例——折叠操作本身只是几次域运算加一次小证明,成本与业务计算同阶而非与验证等式同阶。
把这件事放进业务语境:长链条的连续证明(每处理一笔交易就延伸一次证明链)过去因递归成本只能批量攒着做,折叠之后可以逐笔增量延伸,证明始终处于"新鲜"状态——6.1 现场里"批次攒多大"的权衡被直接消解。折叠还顺带解决了内存问题:全量证明的 FFT 需要把整条电路装进内存,折叠方案可以分段处理,一台普通服务器就能跑长链计算。把 Nova 的核心恒等式做一个十行玩具版,感受"两份实例并成一份"的形状:
# 折叠思想玩具版:把两份线性化实例并成一份(Nova 恒等式的极简投影) # 真实 Nova 在 R1CS 与松弛实例上操作,这里用标量方程演示折叠的代数形状 # 实例形式:E + 求和(T_i 乘 W_i) == u 乘 V (E 累计误差,u 缩放因子) W1, V1, E1, u1 = 7, 21, 0, 1 # 第一份实例:已知 7 乘 3 的关系隐含在 V 中 W2, V2, E2, u2 = 5, 35, 2, 1 # 第二份实例:E2 是累计误差项 r = 0.25 # 折叠系数(协议里来自随机挑战) # 折叠:线性组合两份实例 W_fold = r * W1 + (1 - r) * W2 V_fold = r * V1 + (1 - r) * V2 E_fold = r * E1 + (1 - r) * E2 + r * (1 - r) * (W1 * V2 + W2 * V1) # 交叉项进误差 u_fold = r * u1 + (1 - r) * u2 check = E_fold + W_fold * 0 + u_fold * V_fold # 松弛验证等式(玩具形态) print("折叠后的实例参数:", round(W_fold, 2), round(V_fold, 2), round(E_fold, 3)) # 关键观察:折叠只做了常数次域运算,没有重跑任何证明系统—— # 成本与"验证一份完整证明"相比可以忽略,这就是递归变日用品的代数根源
不必纠结玩具式的细节松弛——要带走的是形状:折叠是线性代数层面的实例合并,交叉项被吸收进误差累计器,全程没有昂贵的证明系统调用。这一个观察改变了连续证明、增量计算(IVC)与证明聚合的全部成本模型。
算术电路的痛点清单上,哈希、比较、位操作常年霸榜——4.4 节的成本表里 SHA-256 要两万门,根源是这些操作本质上是"查表"而非算术。查找论证(Plookup 及其后继 Lasso、cq 等)把"值在预定义表里"直接变成一条可验证的断言:证明者声明"我用的每个中间值都能在标准表(如字节表、异或表)里找到",论证系统验证这个包含关系,成本远低于把表函数展开成电路。工程效果立竿见影:以查找论证重构的哈希电路,约束数能降一个数量级;虚拟机的比较与移位指令由此变得可承受——7.2 节的 ZK-EVM 若没有查找论证,光 keccak 哈希一项就足以劝退。
通用证明系统都在素数域上做算术,而计算世界的原生货币是比特——把比特塞进素数域,天然有"用 64 位域元素存 1 个比特"的浪费,Binius 这类二进制域方案干脆让证明系统直接跑在比特的世界里:按位运算原生表达,哈希与对称操作的成本模型整个重排。另一条专用化路径是协处理器模式:把昂贵操作(哈希、签名验证)交给专门优化的证明组件,主电路只做业务逻辑,两者用可验证接口拼装——像 CPU 加显卡的分工。这些方向的共同哲学:与其把现实计算扭曲进素数域,不如让证明系统迁就计算的原生形态。
| 方向 | 解决什么 | 代表工作 | 成熟度 | 受益现场 |
|---|---|---|---|---|
| 折叠方案 | 递归与增量证明成本 | Nova 及后继 | 生产试用 | 连续证明、聚合 |
| 查找论证 | 哈希与比较类操作成本 | Plookup、Lasso | 已进主流电路库 | 虚拟机、隐私支付 |
| 二进制域证明 | 比特与对称运算成本 | Binius | 早期 | 哈希密集计算 |
| 专用协处理器 | 昂贵原语的模块化 | 各家自研 | 分化中 | 扩容、身份 |
| 机器学习推理证明 | 算法执行可验证 | zkML 方向 | 研究为主 | 审计、合规 |

研究跟踪建议固定看三类来源:顶会论文与其工程化复现、主流电路库的更新日志、头部扩容团队的工程博客——三者对齐时,一个方向才算从"论文概念"进入"生产候选"。对工程团队的落地建议保守一点:折叠与查找论证已可入生产清单,二进制域方案保持观察,zkML 等方向先做技术储备不做业务押注。第 5 章的审计尺子在新技术上同样适用——成熟度评的是数学,工程评的是实现与审计记录,两本账别混。
专用化在降低特定成本,通用化则在降低进入门槛——证明一台虚拟机而不是手写电路,是另一种规模的革命。下一节进 ZK 虚拟机。
**问:折叠方案与聚合是竞争关系吗?**是分工关系。折叠擅长"链式延伸"——每一步依赖上一步结果的连续计算(增量计算、持续证明);聚合擅长"扇入收拢"——大量相互独立的证明合成一份(批量交易)。两者还能串联:独立业务各自折叠成链,链与链的末端再聚合收拢,第 6 章现场的高吞吐架构正是这么拼的。
**问:查找论证会不会引入新的攻击面?**会多一类"表定义"层面的审查项:表的内容必须公开且与协议参数绑定,表项选取不能给证明者留操纵空间。审计时把它当作电路约束同等对待——表错了,正确性声明就错了,与约束缺失同级。
**问: zkML 证明模型推理,意义到底大不大?**短线价值在审计与合规(证明"这个结果确实是那个模型、那份数据跑出来的"),而非隐私(推理数据通常在服务方手里)。长线若与数据隐私技术组合,才有"模型持有方不泄模型、数据方不泄数据"的联合推理形态。当前约束规模下,大模型推理的证明成本仍不现实,中小模型与评分类逻辑先行。
把"可入生产清单"的判断展开成三步验收。第一步读证明:安全证明是否覆盖你的配置(参数档、域选择、查找表内容),还是只在论文的示例配置下成立——大量"理论安全"的方案折在配置不覆盖。第二步对基准:用你自己的业务负载跑基准,重点看尾部(最大电路、最长轨迹)而非均值,头部团队的公开基准只作参考量级。第三步审实现:参考实现的代码 maturity、第三方审计记录、缺陷响应历史三项齐备才算过关。三步走完,一项新技术从"论文热点"到"生产候选"的身份转变才算完成——过程中任何一步不过关,就回观察池继续等。