Quadratic memory reductions for Zero-knowledge Proofs
5 months ago
- #Rust Implementation
- #Zero-knowledge Proofs
- #Sublinear Space
- 《亚线性空间零知识证明》白皮书中描述的亚线性空间ZKP证明器/验证器的参考实现
- 仅使用O(√T)内存处理长度为T的执行轨迹,为标准KZG承诺生成线路、置换累加器Z和商式Q
- 通过分块IFFT和流式累加器避免缓冲整个多项式,保持O(√T)内存占用
- 支持在BN254曲线上实现生产级KZG承诺和打开操作,无需完整多项式缓冲
- 包含确定性开发SRS用于本地运行,可选择切换为可信SRS文件用于生产环境
- 采用五阶段流水线设计(A→E)和纯聚合式Fiat-Shamir变换,严格按时间递增顺序执行
- 提供证明器和验证器CLI工具,以及端到端测试脚本
- 专为可扩展zk系统集成设计,支持流式处理和纯聚合FS变换,无需牺牲密码学后端
- 包含Rust实现版本,开发运行时无需外部SRS
- 提供详细的克隆、构建和测试运行说明