Expand description
This library implements the ZK provers of Vega, optimized for low-latency client-side proving of statements over signed data.
Modules§
- bellpepper
- Support for generating R1CS from Bellpepper
- errors
- This module defines errors returned by the library.
- provider
- This module implements Spartan’s traits using the following several different combinations
- traits
- This module defines various traits required by the users of the library to implement.
- vega_
mc_ zkp - Zero-knowledge multi-circuit (MC) prover using NeutronNova folding (https://eprint.iacr.org/2024/1606), proved with the single-circuit prover.
- vega_sc
- Single-circuit (SC) prover. Implements the Spartan SNARK protocol (https://eprint.iacr.org/2019/550).
- vega_
sc_ zkp - Zero-knowledge single-circuit (SC) prover. Implements the Spartan protocol with Nova folding for ZK.
Macros§
- impl_
field_ reduction_ constants - Implement
FieldReductionConstantsfor a field type. - impl_
montgomery_ limbs - Implement
MontgomeryLimbsfor a field type with.0containing[u64; 4]. - impl_
traits - Implements Spartan’s traits
- impl_
traits_ no_ dlog_ ext - Implements Spartan’s traits except DlogGroupExt so that the MSM can be implemented differently
- zip_
with - Macros to give syntactic sugar for zipWith pattern and variants.
- zip_
with_ for_ each - Like
zip_withbut usefor_eachinstead ofmap.