VEIL:为哈希证明系统添加零知识的轻量级编译器

VEIL是一个编译器,为基于哈希的证明系统添加零知识属性,仅引入约3%的额外开销。它通过分离哈希操作和代数交互,用轻量级盲化保护哈希部分,并用小型零知识系统封装代数部分,避免了昂贵的全电路证明。VEIL是非侵入式的、轻量级的(证明者时间增加3%,验证者时间增加22%,证明大小增加12%),且后量子安全。该技术有望替换SP1中依赖椭圆曲线的Groth16包装器,推动SP1实现完整的后量子安全。

图片

我们构建了 VEIL——一个编译器,可为基于哈希的证明系统添加零知识,且仅增加约3%的开销。这消除了对椭圆曲线密码学的另一重依赖,使 SP1 等证明系统朝着完全后量子安全迈进。

VEIL 是什么

SP1 这样的现代证明系统旨在实现简洁性。验证者可以通过简短的证明快速检查复杂的计算。这在验证速度至关重要的场景(例如需要快速最终性的区块链)中很有价值。但这些系统本身并不具备零知识(ZK)属性,也不提供隐私保护,从而排除了处理敏感数据的用例,例如内容真实性、私有访问控制或负责任漏洞披露VEIL(Verifiable Encapsulation of Interactive proofs with Low overhead,低开销交互式证明的可验证封装)是一个编译器,可为基于哈希的证明系统添加零知识。由此产生的协议在保持可靠性和简洁性的同时不会泄露关于见证的任何信息。

我们在设计 VEIL 时考虑了以下三个属性:

  • 非侵入式。 VEIL 将零知识作为基础协议之上的一层来添加。它不需要为每次转换设计和审计自定义密码学。
  • 轻量级。 添加零知识的成本极低:证明者时间增加 3%,验证者时间增加 22%,证明大小增加 12%。
  • 后量子安全。 VEIL 完全基于哈希,因此只要基础协议是后量子安全的,由此产生的协议也就具有可信的后量子安全性。

VEIL 如何工作

目前有两种成熟的方法为简洁证明系统添加零知识。两者都有显著的限制,使得在生产证明系统中添加零知识在实践中变得困难。

  1. 将整个系统包裹在一个外部 ZK 证明中,该证明需能被原验证者接受。这种方法成本高昂且延迟高,因为外部系统必须通过算术电路来证明密码学哈希。
  2. 从零开始重写证明系统的每一部分以使其具有 ZK 属性。这种方法侵入性极强且难以维护。代码库的每个部分都与 ZK 逻辑耦合,增加了潜在协议错误的风险。

VEIL 走了第三条路。

基于哈希的多线性证明系统共享一种结构模式。证明者先提交执行轨迹,然后与验证者进行纯代数交互,并归结为对照原始承诺进行验证的多线性求值声明。

哈希仅出现在承诺和求值声明的打开过程中。中间的所有内容都是域算术。VEIL 将它们解耦:它用廉价且有针对性盲化的方式保护涉及哈希的部分,并用一个 ZK 系统包裹小型代数交互。内部的 ZK 证明永远不需要证明哈希。

最终得到一种包裹方法,其中内部 ZK 系统运行在小代数声明上,而非完整的原始验证者,额外增加的证明者时间仅为 3%。

后量子时代的 SP1

目前 SP1 依赖 Groth16 包裹来实现零知识,继承了 Groth16 对椭圆曲线密码学的依赖,而椭圆曲线密码学不具备后量子安全性。随着量子时间线的缩短,从生产证明系统中消除椭圆曲线依赖变成了一个实际问题。

一旦集成到 SP1 中,VEIL 将用基于哈希的包裹替换 Groth16 包裹。由于基于哈希的密码学具有可信的后量子安全性,由此产生的协议继承了基础证明系统的后量子安全性,而不再受包裹安全性的瓶颈限制。SP1 实现完全后量子安全的路径在零知识之外还有其他组成部分,但 VEIL 缩小了隐私方面的差距。

结论

VEIL 为我们提供了一条途径,可以在不重新构建基于哈希的证明系统,且无需承担在电路中证明哈希的开销的情况下,为其添加零知识。

完整的技术细节见 VEIL 论文。原型实现以及转换为 VEIL 格式的协议示例可在 SP1 仓库中找到。

原文发布于 Succinct 博客

  • 原文链接: x.com/succinctlabs/statu...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
succinctlabs
succinctlabs
江湖只有他的大名,没有他的介绍。