package octez-plonk

  1. Overview
  2. Docs

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

module Pack = Aggregation.Pack
module PC = Kzg.Kzg_impl
module BasePC : sig ... end
module Commitment : sig ... end
include module type of BasePC with module Commitment := Commitment
type secret = PC.secret
type query = PC.query
val query_t : PC.query Repr.t
type answer = PC.answer
val answer_t : PC.answer Repr.t
type transcript = PC.transcript
module Public_parameters : sig ... end
type proof = {
  1. pc_proof : PC.proof;
  2. packed_values : Aggregation.Pack.packed list;
  3. pack_proof : Aggregation.Pack.proof;
}
val proof_t : proof Repr.t
type prover_aux = {
  1. r : Plonk.Bls.Scalar.t;
  2. s_list : Plonk.Bls.Scalar.t Plonk.SMap.t list;
}
val evaluate : PC.secret -> PC.query -> PC.answer
val prove_super_aggregation : Public_parameters.prover -> bytes -> Plonk.Bls.Poly.t Plonk.SMap.t list -> Commitment.prover_aux list -> PC.query list -> Plonk.Bls.Scalar.t Plonk.SMap.t Plonk.SMap.t list -> (proof * prover_aux) * bytes
val verify_super_aggregation : Public_parameters.verifier -> bytes -> Aggregation.Pack.commitment list -> PC.query list -> Plonk.Bls.Scalar.t Plonk.SMap.t Plonk.List.t -> proof -> bool * Plonk.Bls.Scalar.t * bytes
type worker_msg = Plonk.Bls.Scalar.t * string list list
val worker_msg_t : (Plonk.Bls.Scalar.t * string list list) Repr.t
type main_prover_msg = Plonk.Bls.Poly.t list * Commitment.prover_aux list
val main_prover_msg_t : (Plonk.Bls.Poly.t list * (PC.Commitment.t * PC.Commitment.prover_aux) list) Repr.t
type partial_prover_aux = {
  1. r : Plonk.Bls.Scalar.t;
  2. s_list : Plonk.Bls.Scalar.t SMap.t list;
}
val merge_answers : answer list -> answer
val distributed_prove_worker : Plonk.Bls.Poly.t SMap.t list -> 'a -> (Plonk.Bls.Scalar.t * string list list) -> Plonk.Bls.Poly.t list * 'b
val distributed_expand_transcript : bytes -> PC.query list -> PC.answer list -> bytes
val distributed_prove_main1 : Public_parameters.prover -> Stdlib.Bytes.t -> query list -> Plonk.Bls.Scalar.t SMap.t SMap.t list -> Plonk.Bls.Poly.t SMap.t list -> Commitment.prover_aux list -> worker_msg * main_prover_state
val distributed_prove_main2 : main_prover_state -> main_prover_msg list -> proof * bytes * partial_prover_aux
OCaml

Innovation. Community. Security.