Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/alxiong/ark-srs
Use Common/Structured Reference String (CRS/SRS) from existing ceremonies with ease
https://github.com/alxiong/ark-srs
cryptography trusted-setup zksnark
Last synced: 13 days ago
JSON representation
Use Common/Structured Reference String (CRS/SRS) from existing ceremonies with ease
- Host: GitHub
- URL: https://github.com/alxiong/ark-srs
- Owner: alxiong
- License: mit
- Created: 2021-05-10T08:06:08.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-19T08:24:20.000Z (7 months ago)
- Last Synced: 2024-04-19T09:17:57.337Z (7 months ago)
- Topics: cryptography, trusted-setup, zksnark
- Language: Rust
- Homepage:
- Size: 64.5 MB
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# `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` where `NUM` can be `0..19` (`NUM=2` means download transcript `0, 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](https://github.com/alxiong/ark-srs/releases) (auto-downloaded when you run `setup()`).## Usage
Our convention for module organization for different SRS is: `::::setup()`.
Here's an example of using Aztec's SRS for KZG over BN254 curve:
```rust
use ark_bn254::Bn254;
use ark_poly::univariate::DenseUVPolynomial;
use ark_srs;// simulated CRS (for test only)
let pp = KZG10::::Fr>>::setup(max_degree, false, &mut rng)?;// now, use Aztec's CRS
let pp = ark_srs::kzg10::aztec20::setup(supported_degree)?;
```