package octez-libs

  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
module Public_parameters = BasePC.Public_parameters
module Commitment = BasePC.Commitment
type secret = Commitment.secret
type transcript = Bytes.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 prove : Public_parameters.prover -> bytes -> secret list -> 'a -> query list -> answer list -> Plonk.Bls.Srs_g1.elt Plonk.SMap.t * bytes
val verify : Public_parameters.verifier -> bytes -> Commitment.t list -> query list -> answer list -> Plonk.Bls.G1.t Plonk.SMap.t -> bool * bytes
type worker_msg = Plonk.Bls.Scalar.t SMap.t SMap.t
type main_prover_msg = Plonk.Bls.Poly.t SMap.t
val main_prover_msg_t : Plonk.Bls.Poly.t SMap.t Repr.ty
type main_prover_state = {
  1. srs : Public_parameters.prover;
  2. transcript : transcript;
  3. query : query;
  4. batched_answer : Plonk.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 -> Plonk.Bls.Poly.scalar Plonk.SMap.t Plonk.SMap.t -> Plonk.Bls.Poly.t Plonk.SMap.t
val distributed_expand_transcript : bytes -> Plonk.Bls.Scalar.t Plonk.SMap.t list -> Plonk.Bls.Scalar.t Plonk.SMap.t Plonk.SMap.t list -> bytes
val distributed_prove_main1 : Public_parameters.prover -> Bytes.t -> query list -> answer list -> secret list -> 'a -> Plonk.Bls.Scalar.t Plonk.SMap.t Plonk.SMap.t * main_prover_state
val distributed_prove_main2 : main_prover_state -> main_prover_msg list -> Plonk.Bls.Srs_g1.elt Plonk.SMap.t * bytes * unit
OCaml

Innovation. Community. Security.