package octez-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
module Public_parameters = BasePC.Public_parameters
val query_t : Plonk.Bls.Scalar.t Plonk.SMap.t Repr.ty
type transcript = Stdlib.Bytes.t
val pippenger : ?start:int -> ?len:int -> Plonk.Bls.G1.t array -> Plonk.Bls.G1.Scalar.t array -> Plonk.Bls.G1.t
val proof_t : Plonk.Bls.G1.t Plonk.SMap.t Repr.ty
val sample_ys : Stdlib.Bytes.t -> 'a Plonk.SMap.t -> Plonk.Bls.Scalar.t Plonk.SMap.t * Stdlib.Bytes.t
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 prove : Public_parameters.prover -> bytes -> secret list -> 'a -> query list -> answer list -> Plonk.Bls.G1.t Plonk.SMap.t * bytes
val verify : Public_parameters.verifier -> bytes -> BasePC.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
val worker_msg_t : Plonk.Bls.Scalar.t SMap.t SMap.t Repr.ty
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
module Commitment : sig ... end
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 -> Stdlib.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.G1.t Plonk.SMap.t * bytes * unit
OCaml

Innovation. Community. Security.