VEIL是一种编译器,为基于哈希的证明系统添加零知识属性,仅增加约3%的证明者时间、22%的验证者时间和12%的证明大小。它通过解耦哈希操作与代数运算,对哈希部分进行轻量级盲化,并用内部零知识证明保护小规模代数交互,避免了完整证明系统重写或昂贵的封装方法。VEIL完全基于哈希,使得结果协议在底层系统后量子安全的前提下具备后量子安全性。文章以SP1为例,展示了VEIL如何替代现有的Groth16封装,消除椭圆曲线依赖,推动证明系统迈向完全后量子安全。
博客/VEIL: 为哈希证明系统添加零知识

VEIL 为哈希证明系统添加零知识,仅增加 3% 的证明时间。
作者: Rahul Dalal 和 Tamir Hemo 。
我们构建了 VEIL,一个为哈希证明系统添加零知识的编译器,开销仅约 3%。这消除了对椭圆曲线密码学的另一项依赖,使 SP1 等证明系统走向完全后量子安全。
我们在下文分享其工作原理。
像 SP1 这样的现代证明系统是为简洁性而设计的。验证者可以快速检查复杂计算是否与一个短证明匹配。这在验证速度至关重要的情况下很有价值,例如需要快速终局性的 区块链。但这些系统原生不具备零知识(ZK)特性,不提供隐私保证,因此排除了处理敏感数据的用例,如 内容真实性、私有访问控制或 负责任的漏洞披露。
VEIL(低开销可验证交互证明封装)是一个编译器,为哈希证明系统添加零知识。生成的协议不泄露关于见证的任何信息,同时保持可靠性和简洁性。
我们在设计 VEIL 时考虑了以下三个特性:
目前有两种成熟的方法为简洁证明系统添加零知识。两者都有显著的限制,使得在生产证明系统中添加零知识在实际中很困难。
VEIL 采用了第三条路径。
基于哈希的多线性证明系统共享一个结构模式。证明者提交迹(trace),然后与验证者进行纯代数交互,并归约为针对原始承诺检查的多线性求值声明。
哈希仅出现在承诺和求值声明打开中。中间的所有内容都是域算术。VEIL 将它们解耦:它用廉价且有目标的盲化保护涉及哈希的部分,并用一个 ZK 系统包裹小的代数交互。内部的 ZK 证明从未需要证明哈希。
结果是一种包装方法,其中内部 ZK 系统在一个小的代数语句上运行,而不是在完整的基础验证器上运行,仅增加 3% 的额外证明时间。
目前的 SP1 依赖 Groth16 包装器来实现零知识,继承了 Groth16 对椭圆曲线密码学的依赖,而椭圆曲线密码学不是后量子安全的。随着 量子时间线缩短,从生产证明系统中消除椭圆曲线依赖成为一个实际关切。
一旦集成到 SP1 中,VEIL 将用基于哈希的包装器替换 Groth16 包装器。由于基于哈希的密码学大概率是后量子安全的,生成的协议继承了基础证明系统的后量子安全性,而不是受限于包装器的安全性。SP1 实现完全后量子安全的道路除了零知识之外还有其他组件,但 VEIL 缩小了隐私方面的差距。
VEIL 为我们提供了一条路径,无需重建哈希证明系统,也无需承担在电路中证明哈希的成本,即可添加零知识。
完整的技术细节见 VEIL 论文。原型实现,包括转换为 VEIL 格式的协议示例,可在 SP1 仓库 中找到。
- 原文链接: blog.succinct.xyz/veil...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!
作者暂未设置收款二维码