Kzg_pack.Kzg_pack_impl
Extension of the KZG_pack implementation with additional types and functions used in by Distributed_prover
module Pack = Aggregation.Pack
module PC = Polynomial_commitment.Kzg_impl
module BasePC : sig ... end
include module type of BasePC
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
module Commitment : sig ... end
module Public_parameters : sig ... end
val commit :
?all_keys:Stdlib.String.t list ->
Public_parameters.prover ->
Kzg.Bls.Poly.t Kzg.SMap.t ->
Aggregation.Pack.commitment * (PC.Commitment.t * PC.Commitment.prover_aux)
type proof = {
pc_proof : PC.proof;
packed_values : Aggregation.Pack.packed list;
pack_proof : Aggregation.Pack.proof;
}
val proof_t : proof Repr.t
val batch_polys :
Kzg.Bls.Poly.scalar ->
Kzg.Bls.Poly.t Kzg.SMap.t ->
Kzg.Bls.Poly.t
val batch_answers :
Kzg.Bls.Scalar.t ->
Kzg.Bls.Scalar.t Kzg.SMap.t Kzg.SMap.t ->
Kzg.Bls.Scalar.t Kzg.SMap.t
val prove_pack :
Public_parameters.prover ->
Kzg__Utils.Transcript.t ->
Kzg.Bls.Poly.t Kzg.SMap.t list ->
Commitment.prover_aux list ->
PC.query list ->
Kzg.Bls.Scalar.t Kzg.SMap.t Kzg.SMap.t list ->
(proof * prover_aux) * Kzg.Utils.Transcript.t
val prove :
Public_parameters.prover ->
Kzg.Utils.Transcript.t ->
Kzg.Bls.Poly.t Kzg.SMap.t list ->
Commitment.prover_aux list ->
PC.query list ->
Kzg.Bls.Scalar.t Kzg.SMap.t Kzg.SMap.t list ->
proof * Kzg.Utils.Transcript.t
val prove_super_aggregation :
Public_parameters.prover ->
Kzg.Utils.Transcript.t ->
Kzg.Bls.Poly.t Kzg.SMap.t list ->
Commitment.prover_aux list ->
PC.query list ->
Kzg.Bls.Scalar.t Kzg.SMap.t Kzg.SMap.t list ->
(proof * prover_aux) * Kzg.Utils.Transcript.t
val verify_pack :
Public_parameters.verifier ->
Aggregation.Pack.randomness ->
Kzg.Utils.Transcript.t ->
Aggregation.Pack.commitment list ->
PC.query list ->
Kzg.Bls.Scalar.t Kzg.SMap.t Plonk.List.t ->
proof ->
bool * Kzg.Utils.Transcript.t
val verify :
Public_parameters.verifier ->
Kzg.Utils.Transcript.t ->
Aggregation.Pack.commitment list ->
PC.query list ->
Kzg.Bls.Scalar.t Kzg.SMap.t Kzg.SMap.t list ->
proof ->
bool * Kzg.Utils.Transcript.t
val verify_super_aggregation :
Public_parameters.verifier ->
Kzg.Utils.Transcript.t ->
Aggregation.Pack.commitment list ->
PC.query list ->
Kzg.Bls.Scalar.t Kzg.SMap.t Plonk.List.t ->
proof ->
bool * Kzg.Bls.Scalar.t * Kzg.Utils.Transcript.t
type worker_msg = Kzg.Bls.Scalar.t * string list list
val worker_msg_t : (Kzg.Bls.Scalar.t * string list list) Repr.t
type main_prover_msg = Kzg.Bls.Poly.t list * Commitment.prover_aux list
val main_prover_msg_t :
(Kzg.Bls.Poly.t list * (PC.Commitment.t * PC.Commitment.prover_aux) list)
Repr.t
type main_prover_state =
Public_parameters.prover
* Kzg.Utils.Transcript.t
* Kzg.Bls.Scalar.t
* query list
* Kzg.Bls.Scalar.t SMap.t list
* main_prover_msg
val distributed_prove_worker :
Kzg.Bls.Poly.t SMap.t list ->
'a ->
(Kzg.Bls.Scalar.t * string list list) ->
Kzg.Bls.Poly.t list * 'b
val distributed_expand_transcript :
Kzg.Utils.Transcript.t ->
PC.query list ->
PC.answer list ->
Kzg.Utils.Transcript.t
val distributed_prove_main1 :
Public_parameters.prover ->
Kzg__Utils.Transcript.t ->
query list ->
Kzg.Bls.Scalar.t SMap.t SMap.t list ->
Kzg.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 * Kzg.Utils.Transcript.t * partial_prover_aux