package octez-libs

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Polynomial_protocol.Make_implSource

Functor building an implementation of a polynomial protocol given a polynomial commitment scheme PC.

Parameters

Signature

module PC = PC
Sourcetype prover_public_parameters = PC.Public_parameters.prover
Sourceval prover_public_parameters_t : PC.Public_parameters.prover Repr.t
Sourcetype verifier_public_parameters = PC.Public_parameters.verifier
Sourceval verifier_public_parameters_t : PC.Public_parameters.verifier Repr.t
Sourcetype transcript = Bytes.t
Sourceval transcript_t : bytes Repr.t
Sourcetype proof = {
  1. cm_t : PC.Commitment.t;
  2. pc_proof : PC.proof;
  3. pc_answers : PC.answer list;
}
Sourceval proof_t : proof Repr.t
Sourceval split_t : int -> Plonk.Bls.Poly.t -> int -> Plonk.Bls.Poly.t SMap.t

split_t n t nb_of_t_chunks splits t polynomial in nb_of_t_chunks polynomials of at most n coefficients (and at most degree n-1), except the last one that may have more coeffictients depending on t’s degree

Sourceval compute_t : n:int -> alpha:Plonk.Bls.Scalar.t -> nb_of_t_chunks:int -> Bls.Evaluations.t SMap.t -> Plonk.Bls.Poly.t SMap.t
Sourceval eval_and_batch_ids : (Plonk.Bls.Scalar.t * 'a) -> 'b SMap.t SMap.t list -> ('a -> 'b SMap.t SMap.t -> Plonk.Bls.Scalar.t SMap.t) -> Plonk.Bls.Scalar.t
Sourceval verify_t : int -> Plonk.Bls.Scalar.t -> Plonk.Bls.Scalar.t -> Plonk.Bls.Scalar.t list -> bool
Sourceval prove : PC.Commitment.prover_public_parameters -> Bytes.t -> n:int -> generator:Plonk.Bls.Scalar.t -> secrets:(Plonk.Bls.Poly.t SMap.t * PC.Commitment.prover_aux) list -> eval_points:Identities.eval_point list list -> evaluations:'a -> identities:('a -> Bls.Evaluations.t SMap.t) -> nb_of_t_chunks:int -> proof * PC.transcript
Sourcetype pp_commit_to_t_r = Bls.Evaluations.t SMap.t
Sourceval pp_commit_to_t_r_t : Bls.Evaluations.t SMap.t Repr.ty
Sourceval verify : PC.Public_parameters.verifier -> Bytes.t -> n:int -> generator:Plonk.Bls.Scalar.t -> commitments:PC.Commitment.t list -> eval_points:Identities.eval_point list list -> identities: (Plonk.Bls.Scalar.t -> Plonk.Bls.Scalar.t SMap.t SMap.t -> Plonk.Bls.Scalar.t SMap.t) -> proof -> bool * PC.transcript
OCaml

Innovation. Community. Security.