package tezos-plonk

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

Extension of the KZG implementation with additional types and functions used in by Distributed_prover

include module type of struct include BasePC end
include module type of struct include Plonk.Bls end
module type Scalar_sig = BasePC.Scalar_sig
module Scalar = BasePC.Scalar
module G1 = BasePC.G1
module G2 = BasePC.G2
module GT = BasePC.GT
module Pairing = BasePC.Pairing
module Fr_generation = BasePC.Fr_generation
module Polynomial = BasePC.Polynomial
module Poly = BasePC.Poly
module Srs_g1 = BasePC.Srs_g1
module Srs_g2 = BasePC.Srs_g2
module Scalar_map = BasePC.Scalar_map
type secret = Poly.t Plonk.SMap.t
type query = Scalar.t Plonk.SMap.t
type transcript = Stdlib.Bytes.t
val pippenger : ?start:int -> ?len:int -> G1.t array -> G1.Scalar.t array -> G1.t
module Public_parameters = BasePC.Public_parameters
type proof = G1.t Plonk.SMap.t
val proof_t : G1.t Plonk.SMap.t Repr.ty
val expand_with_proof : G1.t Plonk.SMap.t -> bytes -> bytes
val expand_with_query : Scalar.t Plonk.SMap.t list -> bytes -> bytes
val expand_with_answer : Scalar.t Plonk.SMap.t Plonk.SMap.t list -> bytes -> bytes
val sample_ys : Stdlib.Bytes.t -> 'a Plonk.SMap.t -> Fr_generation.scalar Plonk.SMap.t * Stdlib.Bytes.t
val verify_single : Public_parameters.verifier -> Stdlib.Bytes.t -> G1.t Plonk.SMap.t -> Scalar.t Plonk.SMap.t -> Scalar.t Plonk.SMap.t Plonk.SMap.t -> G1.t Plonk.SMap.t -> bool * bytes
val group_secrets : secret list -> secret
val group_cmts : BasePC.Commitment.t list -> BasePC.Commitment.t
val group_queries : query list -> query
val group_answers : answer list -> answer
val evaluate : Poly.t Plonk.SMap.t -> query -> answer
val prove : Public_parameters.prover -> bytes -> secret list -> 'a -> query list -> answer list -> G1.t Plonk.SMap.t * bytes
val verify : Public_parameters.verifier -> bytes -> BasePC.Commitment.t list -> query list -> answer list -> G1.t Plonk.SMap.t -> bool * bytes
type worker_msg = Scalar.t SMap.t SMap.t
val worker_msg_t : Scalar.t SMap.t SMap.t Repr.ty
type main_prover_msg = Poly.t SMap.t
val main_prover_msg_t : Poly.t SMap.t Repr.ty
type main_prover_state = {
  1. srs : Public_parameters.prover;
  2. transcript : transcript;
  3. query : query;
  4. batched_answer : Scalar.t SMap.t;
  5. main_msg : main_prover_msg;
}
val merge_answers : answer list -> answer
module Commitment : sig ... end
val distributed_prove_worker : secret list -> 'a -> Poly.scalar Plonk.SMap.t Plonk.SMap.t -> Poly.t Plonk.SMap.t
val distributed_prove_main1 : Public_parameters.prover -> bytes -> query list -> answer list -> secret list -> 'a -> Scalar.t Plonk.SMap.t Plonk.SMap.t * main_prover_state
val distributed_prove_main2 : main_prover_state -> main_prover_msg list -> G1.t Plonk.SMap.t * bytes