#zk-snarks #zero-knowledge-proofs #zero-knowledge #snark #groth-maller

no-std ark-groth16

2016年Groth零知识证明系统的实现

5个版本 (3个破坏性版本)

0.5.0-alpha.12024年7月17日
0.5.0-alpha2024年6月21日
0.4.0 2023年2月17日
0.3.0 2021年6月6日
0.2.0 2021年3月25日

#594 in 密码学

Download history 14412/week @ 2024-05-03 17592/week @ 2024-05-10 17146/week @ 2024-05-17 15133/week @ 2024-05-24 16547/week @ 2024-05-31 18583/week @ 2024-06-07 20822/week @ 2024-06-14 21403/week @ 2024-06-21 16519/week @ 2024-06-28 16882/week @ 2024-07-05 18215/week @ 2024-07-12 17315/week @ 2024-07-19 18829/week @ 2024-07-26 16021/week @ 2024-08-02 18723/week @ 2024-08-09 17351/week @ 2024-08-16

74,260 monthly downloads
用于51个crate (24直接使用)

MIT/Apache

70KB
1.5K SLoC

ark-groth16

arkworks生态系统包含用于设计和使用零知识简洁非交互式论证(zkSNARKs)的Rust库。此仓库包含对[Groth16]的zkSNARK的有效实现。

此库在MIT许可证和Apache v2许可证下发布(见许可证)。

警告:这是一个学术性的概念原型,特别是尚未经过仔细的代码审查。此实现尚未准备好用于生产。

构建指南

此库可以在Rust编译器的stable工具链上编译。要安装最新版本的Rust,首先通过以下说明安装rustup,或者通过您平台上的软件包管理器。安装rustup后,通过调用以下命令安装Rust工具链:

rustup install stable

之后,使用标准的Rust构建工具cargo构建库

git clone https://github.com/arkworks-rs/groth16.git
cargo build --release

此库为每个提供的crate都提供了单元测试。运行测试的命令如下:

cargo test

许可证

您可以选择以下任何一个许可证来许可此库。

除非您明确声明,否则您提交的任何贡献,如果包含在此库中,均应双重许可,如上所述(根据Apache v2许可证定义),没有任何附加条款或条件。

致谢

本工作得到了以下机构的支持:谷歌教师奖;美国国家科学基金会;加州大学伯克利分校长期网络安全中心;以及以太坊基金会、Interchain基金会和Qtum的捐赠。

本库的早期版本是作为论文《ZEXE: 启用去中心化私有计算》的一部分开发的。

依赖项

~5–16MB
~167K SLoC