SevenTnewS

密码学隐私

Vega 将零知识证明应用于身份验证,耗时不到100毫秒

Vega 允许用户在不透露证件本身的情况下,通过零知识证明(ZKP)在消费级硬件上于100毫秒内证明来自政府ID的事实。它支持移动驾照和欧盟数字身份钱包等现实格式,并采用折叠重用方案降低了重复出示证明的成本。

Emmanuel Fabrice Omgbwa Yasse AI 辅助

2026-07-04 · 阅读需 4 分钟

Vega 将零知识证明应用于身份验证,耗时不到100毫秒

Vega 是一个零知识证明系统,让用户能够证明来自政府颁发证件的某些事实,例如年龄、身份或职业状态,而无需透露证件本身。证件始终保留在用户设备上,证明在消费级客户端设备上于100毫秒内生成,且无需可信设置。

随着AI智能体开始代表人类行动并与去中心化系统交互,对快速且保护隐私的凭证证明方式的需求只会增加。Vega 的设计者旨在回答一个根本问题:能否在不透露证件本身的前提下,使其证明变得实用?

工作原理

Vega 使用零知识证明(ZKP)允许用户证明某个声明(例如“我已年满21岁”),而不泄露任何其他信息。该证明直接作用于已签发的证件,因此签发方无需做任何更改。该系统借鉴了先前研究的构建模块:Spartan 用于无需可信设置的高效 R1CS 证明;Nova 用于折叠方案;HyperNova 通过 NovaBlindFold 实现零知识;以及 NeutronNova 用于高效的批量折叠。

Vega 将这些构建模块整合成一个简单的单证明系统。电路由少量标准组件构建,没有奇异的多场域结构,也不需要可信设置。在此基础上,Vega 增加了跨对同一证件的多个证明复用工作的能力,以及一种以最小开销实现零知识的新方法。

性能基准

Vega 从典型的移动驾照(约2KB)中生成年龄零知识证明,在消费级客户端设备上耗时92毫秒。生成的证明大小为108KB,验证时间23毫秒。对于较小的证件,证明生成时间降至62毫秒,证明大小为83KB,验证时间17毫秒。证明密钥大小为464KB,可轻松适配任何手机。

折叠与复用证明

Vega 的速度源于两个思路:折叠与复用证明(fold-and-reuse proving)和以查找为中心的电路设计。Vega 没有展开整个 SHA-256 哈希,而是定义了一个小的“步骤”电路,用于证明单个压缩步骤,每个块实例化一次。NeutronNova 的折叠方案将其合并为一个实例。Spartan 随后只需要证明一个单步大小的电路,以及一个单独的“核心”电路,用于处理其余检查,包括签名验证和年龄谓词。

为防止因证件大小不同而导致基于长度的信息泄露,所有步骤电路共享一个包含中间摘要的已提交表格。核心电路使用一个私有索引选择适当的摘要。

## 廉价实现零知识

Vega 通过简单方法实现零知识:使用隐藏的密码学承诺对每条消息进行承诺,然后将验证者检查表示为一个小型约束系统(仅几百个约束),并通过 Nova 的折叠方案将其与一个随机实例折叠。这隐藏了底层数据,因此零知识开销仅与小型约束系统成正比,而非全部的机密数据。

设备绑定与会话链接

如果没有设备绑定,获得泄露证件的人可以为任何会话生成有效证明。Vega 通过要求持有者设备使用设备私钥对新鲜会话随机数进行签名来解决此问题,该私钥绑定到手机的安全元件。电路通过查找从证件中提取设备公钥,并验证设备对会话随机数哈希的签名。

对于重复出示,Vega 将证明者的机密数据分为三部分:共享数据(SHA-256 表)、预先承诺数据(签发方签名、字段位置)和在线数据(设备签名、日期)。每次证明前,预计算的承诺会使用新的随机数刷新,这比重算它们成本更低,并确保同一证件的两次证明无法被关联。

避免解析器

Vega 避免在电路中构建完整的 CBOR 解析器,而是将证件视为一个可按字节寻址的查找表。电路检查这些字节是否与认证证件匹配,字段开头是否存在正确的 CBOR 前缀,且地址是连续的。这用一个查找操作替换了整个解析器。

对身份和 AI 的影响

Vega 的影响超出了移动驾照范围。随着自主 AI 智能体开始代表人类行动,这些智能体将需要证明其所代表人类的某些事实。在人类设备上生成的零知识证明,通过设备绑定与智能体会话绑定,使得智能体无需持有秘密就能呈现身份信号。

在去中心化系统中,Vega 可以将链下身份桥接到链上系统。对链下证件的零知识证明可以证明来自政府颁发证件的事实,而链上验证者仅收到证明。没有中介看到证件,且重新随机化确保重复证明不可关联。

Vega 使用 Rust 实现,并将很快开源。支持 Vega 的证明系统已作为开源项目 spartan2 在 GitHub 上提供。一篇与 Darya Kaviani 合著的论文将提交至即将在旧金山举行的 IEEE 安全与隐私研讨会。