1 个不稳定版本
0.4.0 | 2024 年 2 月 1 日 |
---|
#4 在 #groth16
每月 46 次下载
用于 fawkes-crypto-zkbob
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,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
由您选择。
代码示例
贡献
除非您明确声明,否则根据Apache-2.0许可证定义的任何有意提交以包含在您的工作中的贡献,应按上述方式双许可,没有任何额外条款或条件。
依赖项
~3–5.5MB
~114K SLoC