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, and z_b polynomials.

Enums

A enum specifying the possible failure modes of Marlin.

Traits

A trait to specify the Marlin mode.

Type Definitions

The universal public parameters for the argument system.