VEIL是一个编译器,为基于哈希的证明系统添加零知识属性,仅引入约3%的额外开销。它通过分离哈希操作和代数交互,用轻量级盲化保护哈希部分,并用小型零知识系统封装代数部分,避免了昂贵的全电路证明。VEIL是非侵入式的、轻量级的(证明者时间增加3%,验证者时间增加22%,证明大小增加12%),且后量子安全。该技术有望替换SP1中依赖椭圆曲线的Groth16包装器,推动SP1实现完整的后量子安全。
我们构建了 VEIL——一个编译器,可为基于哈希的证明系统添加零知识,且仅增加约3%的开销。这消除了对椭圆曲线密码学的另一重依赖,使 SP1 等证明系统朝着完全后量子安全迈进。
像 SP1 这样的现代证明系统旨在实现简洁性。验证者可以通过简短的证明快速检查复杂的计算。这在验证速度至关重要的场景(例如需要快速最终性的区块链)中很有价值。但这些系统本身并不具备零知识(ZK)属性,也不提供隐私保护,从而排除了处理敏感数据的用例,例如内容真实性、私有访问控制或负责任漏洞披露。VEIL(Verifiable Encapsulation of Interactive proofs with Low overhead,低开销交互式证明的可验证封装)是一个编译器,可为基于哈希的证明系统添加零知识。由此产生的协议在保持可靠性和简洁性的同时不会泄露关于见证的任何信息。
我们在设计 VEIL 时考虑了以下三个属性:
目前有两种成熟的方法为简洁证明系统添加零知识。两者都有显著的限制,使得在生产证明系统中添加零知识在实践中变得困难。
VEIL 走了第三条路。
基于哈希的多线性证明系统共享一种结构模式。证明者先提交执行轨迹,然后与验证者进行纯代数交互,并归结为对照原始承诺进行验证的多线性求值声明。
哈希仅出现在承诺和求值声明的打开过程中。中间的所有内容都是域算术。VEIL 将它们解耦:它用廉价且有针对性盲化的方式保护涉及哈希的部分,并用一个 ZK 系统包裹小型代数交互。内部的 ZK 证明永远不需要证明哈希。
最终得到一种包裹方法,其中内部 ZK 系统运行在小代数声明上,而非完整的原始验证者,额外增加的证明者时间仅为 3%。
目前 SP1 依赖 Groth16 包裹来实现零知识,继承了 Groth16 对椭圆曲线密码学的依赖,而椭圆曲线密码学不具备后量子安全性。随着量子时间线的缩短,从生产证明系统中消除椭圆曲线依赖变成了一个实际问题。
一旦集成到 SP1 中,VEIL 将用基于哈希的包裹替换 Groth16 包裹。由于基于哈希的密码学具有可信的后量子安全性,由此产生的协议继承了基础证明系统的后量子安全性,而不再受包裹安全性的瓶颈限制。SP1 实现完全后量子安全的路径在零知识之外还有其他组成部分,但 VEIL 缩小了隐私方面的差距。
VEIL 为我们提供了一条途径,可以在不重新构建基于哈希的证明系统,且无需承担在电路中证明哈希的开销的情况下,为其添加零知识。
完整的技术细节见 VEIL 论文。原型实现以及转换为 VEIL 格式的协议示例可在 SP1 仓库中找到。
原文发布于 Succinct 博客。
- 原文链接: x.com/succinctlabs/statu...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!
作者暂未设置收款二维码