FlashProve 验出假模型:零知识证明的三道门槛
2026 年 11 月 2 日,Anthropic 公开了开源项目 FlashProve(官方页面标注 Published Nov 2, 2026;TechCrunch 等媒体的报道日为 11 月 3 日——发布日与报道日不同),用来验证一段 AI 输出是否确实来自指定模型。它把“模型身份”从服务商的口头承诺,变成可以独立检查的密码学证明;但证明成本、延迟和模型覆盖范围,也决定了它短期内更像审计工具,而不是所有 API 调用的默认选项。
这项研究值得关注,原因不只是“AI 开始用密码学”。它试图解决一个更基础的问题:当用户调用 API、Agent 执行任务,或企业声称“已经用先进模型完成安全扫描”时,谁来证明服务商没有偷偷替换模型?
FlashProve 到底证明了什么
FlashProve 的目标,是为模型权重建立公开的“指纹”,并让每次推理附带一份可验证证明。验证者不必拿到模型权重,也不必重新运行模型,只要检查证明,就能判断输出是否与承诺的模型身份相符。
Anthropic 在研究介绍中把它称为“可证明推理”(provable inference,即用密码学方法证明某个输出确实由指定计算产生)。TechCrunch 的报道将其类比为电子邮件的数字签名:收件人不仅能看到发送者声称的身份,还能检查签名是否真的对应这个发送者。
这里的关键不是“证明 AI 说了什么”,而是证明“哪一个模型生成了它”。一段文本本身通常无法证明来源,因为相似模型可能生成相同答案;反过来,模型名称也可能只是 API 网关写上的一个标签。FlashProve 想证明的是模型权重与输出之间的计算关系。
它也无法证明回答正确、符合人类价值或不存在偏见。模型身份成立,不等于输出质量合格;输出质量合格,也不等于来源可验证。这两件事必须分开评估。
三步工作流:发布承诺、生成证明、离线检查
按照 FlashProve 官方技术页面公开的思路,整个流程可以拆成三步。服务商先对模型权重生成一个承诺,也就是公开指纹;模型处理请求时,生成与该次推理相关的证明;客户端收到回答和证明后,在本地运行验证程序。
可以用下面的伪代码理解接口关系。它不是 Anthropic 仓库中的完整命令,而是把公开流程转换成开发者更容易检查的形式:
# 服务商:发布模型承诺
model_commitment = publish_commitment(model_weights)
# 服务商:处理一次请求
response = model.generate(prompt)
proof = generate_proof(
model_commitment=model_commitment,
input=prompt,
output=response
)
return response, proof
# 用户:在自己的设备上检查
assert verify_proof(
model_commitment=public_commitment,
input=received_prompt,
output=received_response,
proof=received_proof
)
这一设计的重要边界是:承诺并不等于公开权重。验证者能确认“输出符合这个被承诺的模型”,却不能从承诺反推出完整参数。Anthropic 因此可以在不公开商业模型资产的前提下使用这套机制。
不过,模型发布新版本、系统提示词变化、推理配置调整或服务架构变化,都可能改变需要承诺的对象。这里的“模型身份”究竟覆盖哪些组件,不能只看宣传语,必须看具体版本和承诺对象如何定义。
速度变快了,但证明仍然昂贵
FlashProve 的卖点是比早期开源方案快得多。Bankless 经 Yahoo 发布的分析称,在 Llama 4 Maverick 上,证明器在单张 H100 上约为每秒生成 110 个 token,单份证明约为 19 MB,普通 CPU 验证一份证明约需 17 至 21 秒。
同一来源也给出了成本侧的数字:证明过程消耗的 GPU 时间约为普通推理的 70 至 95 倍;由于请求需要等待批次,单次请求可能等待约五分钟,测试上下文上限为 1,024 个 token。
| 使用方式 | 官方研究方向下的典型体验 | 更适合的任务 |
|---|---|---|
| 服务商直接生成证明 | GPU 开销显著高于普通推理,单个请求还可能等待批次 | 高价值、需留证的 API 或 Agent 任务 |
| 客户端本地验证 | 证明约 19 MB,普通 CPU 约十几秒可完成检查 | 独立审计、反向代理、模型路由监控 |
| 只验证模型承诺 | 提前检查服务商公开的权重承诺 | 供应商准入与版本登记 |
| 每次普通聊天都验证 | 延迟和存储成本都可能超过聊天本身 | 目前并不划算 |
因此,“17 秒验证”不能被理解为“普通聊天多等 17 秒”。这 17 秒是验证既有证明的时间;生成证明另有 GPU 成本、排队等待和批处理延迟。把这三部分混在一起,会得到过于乐观的体验判断。
这也是 FlashProve 尚不适合全面进入普通 AI 客户端的原因。它更适合少量但重要的调用,例如企业采购验收、模型路由争议复核、金融或安全任务的审计留证。
身份证明能解决什么,不能解决什么
FlashProve 最直接的应用,是发现“偷换模型”。用户购买某个旗舰模型的服务,路由层却改用更便宜的模型时,输出通常仍像正常回答,但承诺与证明可以暴露不一致。Anthropic 官方仓库公开了技术规范及部分工作代码,采用 Apache 2.0 许可;官方技术材料也以 PDF 形式发布。
第二种用途,是核验第三方声明。例如,开发者声称某个软件库已由网络安全模型扫描,企业声称商业计划已由指定模型评估。此时,模型身份证明可以说明声明背后对应哪组权重,却不能替代漏洞报告的有效性评审或商业决策审核。
第三种用途,是安全测试中的“换壳”检测。当一个经过审批的较弱模型被替换成能力更强、但未获授权的模型时,模型身份差异可能比单看答案更容易发现问题。TechCrunch 将其概括为防止服务商为了压低成本而替换模型,也防止其为了抬高成绩而替换模型。
但证明不是合规许可证。它不能自动说明数据如何被处理、证明是否覆盖完整系统、模型是否符合当地法规,也不能阻止服务商伪造一个与真实服务无关的展示性证明。购买证明服务时,审计者仍需检查承诺对象、证明生成环境、仓库维护状态以及证明是否覆盖完整响应。
开源之后,真正门槛转向“谁来持续维护”
TechCrunch 报道指出,Anthropic 表示目前没有计划把 FlashProve 部署到自身或其他模型实验室,并将此次发布定义为研究进展,而不是已经完成的部署方案。Blockchain.News 的同期报道则强调,代码、研究论文和相关材料已经公开。
这意味着 FlashProve 眼下更像一套公共技术底座,而不是已经普及的行业标准。真正的挑战至少有三层:模型实验室是否愿意持续发布可验证的承诺;路由层和 Agent 平台是否把证明透传给用户;审计工具能否把密码学验证变成普通用户看得懂的“模型身份卡”。
按官方材料的方向推断,如果不同服务商都采用兼容的承诺与证明格式,模型路由就不再只是“相信网关返回的模型名”,而可以在每次转发时检查上游身份。这是我的边界推导,并非 Anthropic 已经宣布的行业计划。反过来,如果格式互不兼容,用户仍需针对每家服务维护不同验证流程,开源带来的收益会明显下降。
给普通用户和开发者的检查清单
现阶段,不必把 FlashProve 当成普通聊天功能,而可以把它当成一项正在形成的身份验证机制。评估某项服务是否真正可验证,可以依次问:
- 承诺对应的是哪组模型权重、哪个版本和哪些运行配置?
- 证明是否覆盖完整输入与输出,而不只是摘要或最终几个 token?
- 验证程序是否能在没有服务商配合的情况下独立运行?
- 模型升级后,旧承诺是否会被错误复用?
- 证明生成、存储和排队带来的成本由谁承担?
- 服务中断或验证失败时,责任和回退流程是否明确?
FlashProve 不会让 AI 回答自动变正确,也不会让服务商自动变诚实。它的价值在于提供一个此前很弱的环节:让“回答来自哪个模型”有机会从宣传语变成可检查的证据。只是,密码学只能证明计算身份;技术标准能否落地、证明是否覆盖真实服务,以及普通用户能否看懂验证结果,仍取决于模型厂商、路由器和审计方是否愿意共同承担成本。
参考来源
评论区
登录后可评论。