Struct ark_poly_commit::marlin::marlin_pc::MarlinKZG10[][src]

pub struct MarlinKZG10<E: PairingEngine, P: UVPolynomial<E::Fr>> { /* fields omitted */ }
Expand description

Polynomial commitment based on [KZG10], with degree enforcement, batching, and (optional) hiding property taken from [CHMMVW20, “Marlin”].

Degree bound enforcement requires that (at least one of) the points at which a committed polynomial is evaluated are from a distribution that is random conditioned on the polynomial. This is because degree bound enforcement relies on checking a polynomial identity at this point. More formally, the points must be sampled from an admissible query sampler, as detailed in [CHMMVW20].

Trait Implementations

Constructs public parameters when given as input the maximum degree max_degree for the polynomial commitment scheme.

Outputs a commitment to polynomial.

On input a polynomial p and a point point, outputs a proof for the same.

Verifies that value is the evaluation at x of the polynomial committed inside comm.

Checks that values are the true evaluations at query_set of the polynomials committed in labeled_commitments.

On input a list of labeled polynomials and a query set, open outputs a proof of evaluation of the polynomials at the points in the query set.

The universal parameters for the commitment scheme. These are “trimmed” down to Self::CommitterKey and Self::VerifierKey by Self::trim. Read more

The committer key for the scheme; used to commit to a polynomial and then open the commitment to produce an evaluation proof. Read more

The verifier key for the scheme; used to check an evaluation proof.

The prepared verifier key for the scheme; used to check an evaluation proof.

The commitment to a polynomial.

The prepared commitment to a polynomial.

The commitment randomness.

The evaluation proof for a single point.

The evaluation proof for a query set.

The error type for the scheme.

Specializes the public parameters for polynomials up to the given supported_degree and for enforcing degree bounds in the range 1..=supported_degree. Read more

batch_check but with individual challenges

open_combinations but with individual challenges

On input a list of labeled polynomials and a query point, open outputs a proof of evaluation of the polynomials at the query point. Read more

On input a list of labeled polynomials and a query set, open outputs a proof of evaluation of the polynomials at the points in the query set. Read more

Verifies that values are the evaluations at point of the polynomials committed inside commitments. Read more

Checks that values are the true evaluations at query_set of the polynomials committed in labeled_commitments. Read more

On input a list of polynomials, linear combinations of those polynomials, and a query set, open_combination outputs a proof of evaluation of the combinations at the points in the query set. Read more

Checks that evaluations are the true evaluations at query_set of the linear combinations of polynomials committed in commitments. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

Drops the object pointed to by the given pointer. Read more

Should always be Self

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.