Module snarkvm_algorithms::snark::marlin
source · Expand description
A crate for the Marlin preprocessing zkSNARK for R1CS.
Note
Currently, Marlin only supports R1CS instances where the number of inputs is the same as the number of constraints (i.e., where the constraint matrices are square). Furthermore, Marlin only supports instances where the public inputs are of size one less than a power of 2 (i.e., 2^n - 1).
Re-exports
pub use ahp::*;
Modules
- Implements an Algebraic Holographic Proof (AHP) for the R1CS indexed relation.
Structs
- A certificate for the verifying key.
- Proving key for a specific circuit (i.e., R1CS matrices).
- Verification key for a specific index (i.e., R1CS matrices).
- The Marlin hiding mode produces a hiding Marlin proof.
- The Marlin non-hiding mode produces a non-hiding Marlin proof.
- The Marlin proof system.
- Verification key, prepared (preprocessed) for use in pairings.
- A zkSNARK proof.
- Commitments to the
w
,z_a
, andz_b
polynomials.
Enums
- A
enum
specifying the possible failure modes ofMarlin
.
Traits
- A trait to specify the Marlin mode.
Type Definitions
- The universal public parameters for the argument system.