1 个不稳定版本

0.4.0 2024 年 2 月 1 日

#4#groth16

每月 46 次下载
用于 fawkes-crypto-zkbob

MIT/Apache

1MB
24K SLoC

bellman "社区版"

kobigurk/phase2-bn254 分支。

最初是为 ZCash 开发的,我们进行了扩展,使其更加易于使用。使用我们的“社区版”配对来支持以太坊的 BN256 曲线。现在作为 bellman_ce 发布在 crate.io 上。

特性

有两个可用于生产的特性,它们是稳定的,并且 API 不会更改。那些是 Groth16 证明系统实现。

  • multicore 特性(默认启用)旨在在 PC 和支持完整 std(包括线程)的环境中运行。
  • singlecore 特性主要适用于 WASM 系统,其中移除了所有不兼容的外部 crate,以及所有多线程。

由于需要维护具有 WASM 兼容性的仓库,这些特性是在实施 GM17 和 SONIC 证明系统期间实现的。这就是为什么还有两个不完整的特性,将在未来有破坏性更改。这些特性是供有兴趣的爱好者使用的。

  • gm17 - 不完整,很可能在将 SONIC 完成后将得到关注。
  • sonic - 90% 完成。将原始的 helped 协议实现与类似于 Groth16 的 API 集成,同时还提供了包装适配器,无需更改即可使用现有的电路。尚未完成的 unhelped 版本,但所有密码学原语都已实现并经过测试。目前这是优先事项。

未来进展

计划添加 GM17 证明系统和 SONIC 证明系统。

特性

有两个可用于生产的特性,它们是稳定的,并且 API 不会更改。那些是 Groth16 证明系统实现。

  • multicore 特性(默认启用)旨在在 PC 和支持完整 std(包括线程)的环境中运行。
  • singlecore 特性主要适用于 WASM 系统,其中移除了所有不兼容的外部 crate,以及所有多线程。

由于需要维护具有 WASM 兼容性的仓库,这些特性是在实施 GM17 和 SONIC 证明系统期间实现的。这就是为什么还有两个不完整的特性,将在未来有破坏性更改。这些特性是供有兴趣的爱好者使用的。

  • gm17 - 不完整,很可能在将 SONIC 完成后将得到关注。
  • sonic - 90% 完成。将原始的 helped 协议实现与类似于 Groth16 的 API 集成,同时还提供了包装适配器,无需更改即可使用现有的电路。尚未完成的 unhelped 版本,但所有密码学原语都已实现并经过测试。目前这是优先事项。

未来进展

计划添加 GM17 证明系统和 SONIC 证明系统。

许可证

许可协议为以下之一

由您选择。

代码示例

贡献

除非您明确声明,否则根据Apache-2.0许可证定义的任何有意提交以包含在您的工作中的贡献,应按上述方式双许可,没有任何额外条款或条件。

依赖项

~3–5.5MB
~114K SLoC