#zk-snarks #zero-knowledge #snark #r1cs #elliptic-curve #finite-fields #math

无std ark-r1cs-std-zypher

约束系统小工具的标准库

1个不稳定版本

0.4.0 2024年5月26日

#1379 in 密码学


用于11个crate(8个直接)

MIT/Apache

605KB
13K SLoC

ark-r1cs-std

arkworks生态系统包含用于设计和操作零知识简短非交互式论证(zkSNARKs)的Rust库。这个仓库包含了高效的约束“小工具”实现,能够检查SNARKs中的常见计算,例如位操作、有限域算术、椭圆曲线算术和配对。

此库根据MIT许可证和Apache v2许可证发布(见许可证)。

警告:这是一个学术性的原型,特别是代码没有经过仔细审查。此实现不适合生产使用。

构建指南

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

rustup install stable

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

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

此库为每个提供的crate提供了单元测试。使用以下命令运行测试

cargo test

许可证

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

除非您明确表示,否则您提交给此库的任何贡献都将根据上述许可证双授权(如Apache v2许可证中定义),不附加任何其他条款或条件。

致谢

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

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

依赖关系

~4.5–6MB
~112K SLoC