You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
There are many trusted setup (ceremonies) hosted for CRS parameter generation via MPC by various companies, some circuit-specific, others universal and updateable. However, it is currently inconvenient to directly import those existing parameters and leverage on them in your rust code. Furthermore, it is hard to keep track of those different ceremonies and even harder to switch between parameters.
This library aims to provide an "awesome-crs" list as well as light-weight modular wrapper code for importing those parameter files into a standardize, easy-to-use struct.
Targeted Feature for MVP
use crs::preclude::*;use crs::CeremonyList;structMySnark;impl<F:PrimeField,PC:PolynomialCommitment<F,DensePolynomial<F>>>MySnark<F,PC>{pubfnindex<C:Circuit<F>>(srs:UniversalSRS<F,PCS>,c:C) -> (ProverKey<F,PC>,VerifierKey<F,PC>){// utilize existing SRS from a PCS to generate circuit-specific keys}}fntest(){let circuit:Circuit;let srs1 = UniversalSRS<BlsScalar,KZG10>::get(CeremonyList::Aztec2020);let srs2 = UniversalSRS<JubjubScalar,MarlinPC>::get(CeremonyList::Marlin2021);let(pk1, vk1) = MySnark::index(srs1, circuit);let(pk2, vk2) = MySnark::index(srs2, circuit);}
Concrete tasks break-down
Survey list of popular, major ceremonies and existing code like zcash's mpc.
Design data flow and high-level API
The text was updated successfully, but these errors were encountered:
Motivation
There are many trusted setup (ceremonies) hosted for CRS parameter generation via MPC by various companies, some circuit-specific, others universal and updateable. However, it is currently inconvenient to directly import those existing parameters and leverage on them in your rust code. Furthermore, it is hard to keep track of those different ceremonies and even harder to switch between parameters.
This library aims to provide an "awesome-crs" list as well as light-weight modular wrapper code for importing those parameter files into a standardize, easy-to-use struct.
Targeted Feature for MVP
Concrete tasks break-down
The text was updated successfully, but these errors were encountered: