Anthropic 开源 FlashProve:零知识证明方案,核验 AI 回答是否来自宣称模型,防范模型偷换

工具2天前发布 小马良
15 0

Anthropic 近期开源了 FlashProve(版本 0.16.0),这是一个基于零知识证明(Zero-Knowledge Proofs, ZKP)与 Lean 4 形式化验证的研究原型工具。它旨在解决 AI 服务中的信任问题,允许提供商在不泄露模型权重(商业机密)的前提下,向用户密码学地证明其生成的回答确实来自所宣称的特定模型。

  • GitHub:https://github.com/anthropics/FlashProve
Anthropic 开源 FlashProve:零知识证明方案,核验 AI 回答是否来自宣称模型,防范模型偷换

核心机制:三步验证工作流

FlashProve 通过密码学协议建立了模型提供商与用户之间的信任桥梁,其核心流程分为三个阶段:

  1. 承诺 (Commitment):AI 提供商发布一个公开的承诺 ID,将其与特定的模型权重绑定。权重本身保持绝对机密,仅对外公布必要的掩码声明列表。
  2. 证明 (Proof):在生成每次回复时,提供商的 GPU 会同步生成一份计算凭据(Proof),证明该输出是由承诺的模型权重计算得出的。
  3. 验证 (Verification):用户或第三方审计者可在普通家用电脑的 CPU 上运行 cp_verify 程序,仅需几秒钟即可验证该证明的有效性,全程无需接触或下载模型权重。

性能表现与安全保证

  • 大规模模型支持:FlashProve 已实现在单张 NVIDIA H100 (80 GB) 显卡上以完整规模运行 Llama 4 Maverick 模型(1024 token 上下文窗口)。在批大小为 24 的请求下,预填充阶段的证明生成性能可达约 110 token/秒。
  • 形式化安全验证:该协议的声音性(Soundness)已在 Lean 4 中完成形式化数学证明。任何试图使用非承诺模型输出冒充的提供商都会被检测出,其伪造成功的概率被严格限制在极低水平(约 $q/2^{124} + 2^{-101}$,其中 $q$ 为哈希查询次数)。

部署路线与验证指南

FlashProve 提供了从轻量级测试到完整规模部署的多种执行路线,并严格规定了操作规范:

路线目标硬件/软件要求耗时
1. 验证存储证明构建验证器并检查示例Linux, g++ 13+, <2 GB RAM构建 1-2 分钟,验证 <2 秒
2. 玩具证明 (CPU)库的自测验证路线 1 + make, python3, <1.5 GB RAM~1 分钟
3. 小模型证明承诺、证明并验证 8 层合成模型GPU 栈 (H100), 10 GB RAM构建 ~29 分钟,运行 23-30 秒
4. 完整规模证明针对 Llama 4 Maverick 形状及真实权重GPU 栈, 330 GB RAM, 245 GB 磁盘数小时 (含权重下载与校准)

关键验证规则:

  • 权限隔离:所有构建与运行操作必须以普通(非 root)用户身份执行,严禁使用 sudo 或通过修改权限绕过错误。
  • 可信源校验:验证时使用的“承诺 ID”必须从可信的第三方获取,绝不能直接来自被检查的服务器或随证明附带的文件。
  • 结果解读:验证器退出码 0 且最后一行输出 YES 或 WITHIN LIMITS 表示验证通过;退出码 1 表示拒绝;退出码 3(在测试套件中)表示发现了严重的安全漏洞,需按安全指南上报。

注:FlashProve 目前定位为研究产物,官方明确表示不进行日常维护且不接受外部贡献。

© 版权声明

相关文章