Polynomial_commitment.Kzg_implExtension of the KZG implementation with additional types and functions used in by Distributed_prover
module BasePC = Kzg.Polynomial_commitmentinclude module type of struct include BasePC endmodule Commit = BasePC.Commitmodule Commitment = BasePC.Commitmentmodule Public_parameters = BasePC.Public_parameterstype secret = Commitment.secrettype query = Kzg.Bls.Scalar.t Kzg.SMap.tval query_t : Kzg.Bls.Scalar.t Kzg.SMap.t Repr.tytype answer = Kzg.Bls.Scalar.t Kzg.SMap.t Kzg.SMap.tval answer_t : Kzg.Bls.Scalar.t Kzg.SMap.t Kzg.SMap.t Repr.tytype proof = Kzg.Bls.G1.t Kzg.SMap.tval proof_t : Kzg.Bls.G1.t Kzg.SMap.t Repr.tyval commit :
?all_keys:'a ->
Public_parameters.prover ->
Kzg.Bls.Poly.t Kzg.SMap.t ->
Kzg.Bls.G1.Srs.elt Kzg.SMap.t * unitval compute_Ws :
Public_parameters.prover ->
Kzg.Bls.Poly.t Kzg.SMap.t ->
Kzg.Bls.Poly.scalar Kzg.SMap.t ->
Kzg.Bls.Scalar.t Kzg.SMap.t ->
Kzg.Bls.G1.Srs.elt Kzg.SMap.tval verifier_check :
Public_parameters.verifier ->
Kzg.Bls.G1.t Kzg.SMap.t ->
Kzg.Bls.Scalar.t Kzg.SMap.t Kzg.SMap.t ->
Kzg.Bls.Scalar.t Kzg.SMap.t ->
Kzg.Bls.Scalar.t Kzg.SMap.t ->
Kzg.Bls.G1.t Kzg.SMap.t ->
boolval sample_ys :
Kzg__Utils.Transcript.t ->
'a Kzg.SMap.t ->
Kzg.Bls.Scalar.t Kzg.SMap.t * Kzg__Utils.Transcript.tval batch_answer :
Kzg.Bls.Scalar.t Kzg.SMap.t ->
Kzg.Bls.Scalar.t Kzg.SMap.t Kzg.SMap.t ->
Kzg.Bls.Scalar.t Kzg.SMap.t * Kzg.Bls.Scalar.t Kzg.SMap.t Kzg.SMap.tval batch_polys :
Kzg.Bls.Poly.scalar Kzg.SMap.t Kzg.SMap.t ->
Kzg.Bls.Poly.t Kzg.SMap.t ->
Kzg.Bls.Poly.t Kzg.SMap.tval prove_single :
Public_parameters.prover ->
Kzg__Utils.Transcript.t ->
Kzg.Bls.Poly.t Kzg.SMap.t ->
Kzg.Bls.Scalar.t Kzg.SMap.t ->
Kzg.Bls.Scalar.t Kzg.SMap.t Kzg.SMap.t ->
Kzg.Bls.G1.Srs.elt Kzg.SMap.t * Kzg.Utils.Transcript.tval verify_single :
Public_parameters.verifier ->
Kzg__Utils.Transcript.t ->
Kzg.Bls.G1.t Kzg.SMap.t ->
Kzg.Bls.Scalar.t Kzg.SMap.t ->
Kzg.Bls.Scalar.t Kzg.SMap.t Kzg.SMap.t ->
Kzg.Bls.G1.t Kzg.SMap.t ->
bool * Kzg.Utils.Transcript.tval group_cmts : Commitment.t list -> Commitment.tval evaluate : Kzg.Bls.Poly.t Kzg.SMap.t -> query -> answerval prove :
Public_parameters.prover ->
Kzg.Utils.Transcript.t ->
secret list ->
'a ->
query list ->
answer list ->
Kzg.Bls.G1.Srs.elt Kzg.SMap.t * Kzg.Utils.Transcript.tval verify :
Public_parameters.verifier ->
Kzg.Utils.Transcript.t ->
Commitment.t list ->
query list ->
answer list ->
Kzg.Bls.G1.t Kzg.SMap.t ->
bool * Kzg.Utils.Transcript.ttype worker_msg = Kzg.Bls.Scalar.t SMap.t SMap.tval worker_msg_t : Kzg.Bls.Scalar.t SMap.t SMap.t Repr.tytype main_prover_msg = Kzg.Bls.Poly.t SMap.tval main_prover_msg_t : Kzg.Bls.Poly.t SMap.t Repr.tytype main_prover_state = {srs : Public_parameters.prover;transcript : Kzg.Utils.Transcript.t;query : query;batched_answer : Kzg.Bls.Scalar.t SMap.t;main_msg : main_prover_msg;}val distributed_prove_worker :
secret list ->
'a ->
Kzg.Bls.Poly.scalar Kzg.SMap.t Kzg.SMap.t ->
Kzg.Bls.Poly.t Kzg.SMap.tval distributed_expand_transcript :
Kzg.Utils.Transcript.t ->
Kzg.Bls.Scalar.t Kzg.SMap.t list ->
Kzg.Bls.Scalar.t Kzg.SMap.t Kzg.SMap.t list ->
Kzg.Utils.Transcript.tval 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_stateval distributed_prove_main2 :
main_prover_state ->
main_prover_msg list ->
Kzg.Bls.G1.Srs.elt Kzg.SMap.t * Kzg.Utils.Transcript.t * unit