1 个不稳定版本
0.1.0 | 2023年8月30日 |
---|
#9 in #groth16
188 每月下载次数
在 5 个crate中使用(通过 bellperson)
45KB
962 行
提交 2
封装过程的最后一步是生成复制证明(porep)的zkSNARK。使用C1中的包含证明,将输入放入porep电路,并使用Groth16生成证明。
预期使用
与库中的其余部分不同,SupraSeal C2操作依赖于外部库中的原语。具体来说,通过使用修改后的 synthesize_circuits_batch() 版本来生成证据,通过bellperson实现。然后,将这些向量通过GPU和CPU上的各种MSM和NTT内核。请注意,这需要使用基于Rust的接口,而不是SupraSeal中看到的C/C++。
由于bellperson目前复杂化了问题,因为库需要稍作修改才能与SupraSeal的Groth16原语一起运行。这将在bellperson v0.26中修复,引入 cuda-supraseal
功能标志,但在此写作时,demos/c2-test/run.me
PoC脚本执行必要的步骤并执行32GiB测试/基准测试。假设您已经预先获取了相应的参数。测试的预期执行时间约为2-3分钟,具体取决于GPU。
依赖项
~2.8–4.5MB
~146K SLoC