Module Polynomial_commitment.Kzg_impl

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

include module type of struct include BasePC end
module Commit = BasePC.Commit
module Commitment = BasePC.Commitment
module Public_parameters = BasePC.Public_parameters
type secret = Commitment.secret
val query_t : Kzg.Bls.Scalar.t Kzg.SMap.t Repr.ty
val answer_t : Kzg.Bls.Scalar.t Kzg.SMap.t Kzg.SMap.t Repr.ty
val proof_t : Kzg.Bls.G1.t Kzg.SMap.t Repr.ty
val sample_ys : Kzg__Utils.Transcript.t -> 'a Kzg.SMap.t -> Kzg.Bls.Scalar.t Kzg.SMap.t * Kzg__Utils.Transcript.t
val group_secrets : secret list -> secret
val group_cmts : Commitment.t list -> Commitment.t
val group_queries : query list -> query
val group_answers : answer list -> answer
val evaluate : Kzg.Bls.Poly.t Kzg.SMap.t -> query -> answer
type worker_msg = Kzg.Bls.Scalar.t SMap.t SMap.t
val worker_msg_t : Kzg.Bls.Scalar.t SMap.t SMap.t Repr.ty
type main_prover_msg = Kzg.Bls.Poly.t SMap.t
val main_prover_msg_t : Kzg.Bls.Poly.t SMap.t Repr.ty
type main_prover_state = {
  1. srs : Public_parameters.prover;
  2. transcript : Kzg.Utils.Transcript.t;
  3. query : query;
  4. batched_answer : Kzg.Bls.Scalar.t SMap.t;
  5. main_msg : main_prover_msg;
}
type partial_prover_aux = unit
val merge_answers : answer list -> answer
val distributed_prove_worker : secret list -> 'a -> Kzg.Bls.Poly.scalar Kzg.SMap.t Kzg.SMap.t -> Kzg.Bls.Poly.t Kzg.SMap.t
val distributed_prove_main1 : Public_parameters.prover -> Kzg__Utils.Transcript.t -> query list -> answer list -> secret list -> 'a -> Kzg.Bls.Scalar.t Kzg.SMap.t Kzg.SMap.t * main_prover_state