Testudo:Spartan + Groth16 的R1CS ZKP证明系统

1. 引言

前序博客有:

Testudo为Cryptonet团队开源的R1CS ZKP系统,其开源代码见:

Testudo借助Spartan+Groth16,定位为实现具有更小setup的高效SNARK(其Prover为near linear-time)方案,实际代码实现时的3个核心组件为:

Testudo的主要特点为:

  • 为near linear-time prover SNARK,Prover会运行:
    • N \sqrt{N} N 次size为 N \sqrt{N} N 的multi-exps运算,对应约为 O ( N ∗ λ / log ⁡ ( N ) ) O(N*\lambda/\log(N)) O(Nλ/log(N))次group运算,其中 λ > > log ⁡ ( N ) \lambda>>\log(N) λ>>log(N) for security。
  • Small & Universal setup:其trusted setup具有square-root size,即:对于size为 N N N的某R1CS,其trusted setup size为 O ( N ) O(\sqrt{N}) O(N )。对于大电路来说,可将trusted setup size由GB级压缩为MB级。
  • Very fast prover:以data-parallel computations为例,比现有最快的Groth16实现(即Bellperson)还要快,快约5倍。
  • Small Proofs & Fast Verifier:具有constant size proofs和constant size verification time。
  • Use R1CS:当前最流行的电路表达方式,从而具有如下优势:
    • 使得Testudo可复用已有的R1CS代码
    • 无需以不同的算术化方式重写电路

以size为 2 25 2^{25} 225的多项式为例,Testudo中所实现的multilinear多项式承诺方案要比现有的arkworks实现 快:
在这里插入图片描述
以size为 2 20 2^{20} 220的subcircuit重复 128 = 2 7 128=2^7 128=27次,对应size为 2 27 2^{27} 227电路约束,与size为 2 27 2^{27} 227的Bellperson R1CS约束电路性能对比为:
在这里插入图片描述

参考资料

[1] Protocol Labs 2023年4月5日 twitter Testudo
[2] 2023年3月博客Testudo: Efficient SNARKs with Smaller Setups

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值