1 个不稳定版本

0.1.0 2023年8月30日

#9 in #groth16

Download history 58/week @ 2024-03-11 22/week @ 2024-03-18 26/week @ 2024-03-25 102/week @ 2024-04-01 77/week @ 2024-04-08 38/week @ 2024-04-15 72/week @ 2024-04-22 49/week @ 2024-04-29 53/week @ 2024-05-06 86/week @ 2024-05-13 49/week @ 2024-05-20 71/week @ 2024-05-27 24/week @ 2024-06-03 89/week @ 2024-06-10 20/week @ 2024-06-17 49/week @ 2024-06-24

188 每月下载次数
5 个crate中使用(通过 bellperson

Apache-2.0

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