#zk-snarks #srs #trusted-setup

no-std bin+lib ark-srs

一个工具包,简化了从过去的信任设置仪式中重用通用/结构化参考字符串(CRS/SRS),特别是对于SNARK

5 个不稳定版本

0.3.2 2024年4月20日
0.3.1 2024年4月19日
0.3.0 2024年4月19日
0.2.0 2024年4月12日
0.1.0 2024年3月8日

#530密码学

Download history 889/week @ 2024-05-02 504/week @ 2024-05-09 327/week @ 2024-05-16 621/week @ 2024-05-23 797/week @ 2024-05-30 330/week @ 2024-06-06 504/week @ 2024-06-13 466/week @ 2024-06-20 416/week @ 2024-06-27 277/week @ 2024-07-04 333/week @ 2024-07-11 572/week @ 2024-07-18 672/week @ 2024-07-25 397/week @ 2024-08-01 700/week @ 2024-08-08 316/week @ 2024-08-15

2,146 每月下载量

MIT 许可证

28KB
467 代码行

ark-srs

使用 arkworks 类型轻松地从现有的仪式中重用通用/结构化参考字符串(CRS/SRS)。

警告:这是一个正在进行中的工作,所有代码都没有经过审计。该库**尚未准备好用于生产**。

下载 SRS 到本地

  • Aztec 引火:./scripts/download_transcripts_aztec.sh NUM 其中 NUM 可以是 0..19 (NUM=2 表示下载文档 0, 1, 2)
    • 总计100.8百万BN254 G1点,分成20个文件,每个文档文件包含约500万点(约307MB大小)
    • 前一个文档文件中有2个BN254 G2点
    • 如果您只需要 degree<=1,048,584,您将直接使用 已发布资源 中的缓存二进制文件之一(在运行 setup() 时自动下载)。

使用方法

我们组织不同 SRS 模块的约定为:<scheme>::<ceremony_name>::setup()

以下是一个使用 Aztec 的 SRS 进行 BN254 曲线上的 KZG 的示例

use ark_bn254::Bn254;
use ark_poly::univariate::DenseUVPolynomial;
use ark_srs;

// simulated CRS (for test only)
let pp = KZG10::<Bn254, DenseUVPolynomial<<Bn254 as PairingEngine>::Fr>>::setup(max_degree, false, &mut rng)?;

// now, use Aztec's CRS
let pp = ark_srs::kzg10::aztec20::setup(supported_degree)?;

依赖关系

~9–20MB
~265K SLoC