5 unstable releases
0.3.2 | Apr 20, 2024 |
---|---|
0.3.1 | Apr 19, 2024 |
0.3.0 | Apr 19, 2024 |
0.2.0 | Apr 12, 2024 |
0.1.0 | Mar 8, 2024 |
#505 in Cryptography
3,104 downloads per month
28KB
467 lines
ark-srs
Use Common/Structured Reference String (CRS/SRS) from existing ceremonies with ease with arkworks types.
WARNING: This is work in progress, none of the code has been audited. The library is NOT ready for production.
Download SRS to local
- Aztec's ignition:
./scripts/download_transcripts_aztec.sh NUM
whereNUM
can be0..19
(NUM=2
means download transcript0, 1, 2
)- 100.8 million BN254 G1 points in total, split up into 20 files, each transcript file contains ~5 million points (~307 MB in size)
- 2 BN254 G2 points are in the first transcript file
- If you only need
degree<=1,048,584
, you will be directly using one of cached binary files in Released Assets (auto-downloaded when you runsetup()
).
Usage
Our convention for module organization for different SRS is: <scheme>::<ceremony_name>::setup()
.
Here's an example of using Aztec's SRS for KZG over BN254 curve:
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)?;
Dependencies
~9–20MB
~239K SLoC