PP.PCtype secret = Kzg.Bls.Poly.t Kzg.SMap.ttype query = Kzg.Bls.Scalar.t Kzg.SMap.tval query_t : query Repr.ttype answer = Kzg.Bls.Scalar.t Kzg.SMap.t Kzg.SMap.tval answer_t : answer Repr.ttype proof = Super_PP.PC.proofval proof_t : proof Repr.tmodule Commitment : sig ... endmodule Public_parameters : sig ... endval commit :
?all_keys:string list ->
Public_parameters.prover ->
secret ->
Commitment.t * Commitment.prover_auxval prove :
Public_parameters.prover ->
Kzg.Utils.Transcript.t ->
secret list ->
Commitment.prover_aux list ->
query list ->
answer list ->
proof * Kzg.Utils.Transcript.tval verify :
Public_parameters.verifier ->
Kzg.Utils.Transcript.t ->
Commitment.t list ->
query list ->
answer list ->
proof ->
bool * Kzg.Utils.Transcript.ttype prover_aux = Super_PP.PC.prover_aux = {r : Kzg.Bls.Scalar.t;s_list : Kzg.Bls.Scalar.t Kzg.SMap.t list;}val prove_super_aggregation :
Public_parameters.prover ->
Kzg.Utils.Transcript.t ->
Kzg.Bls.Poly.t Kzg.SMap.t list ->
Commitment.prover_aux list ->
query list ->
Kzg.Bls.Scalar.t Kzg.SMap.t Kzg.SMap.t list ->
(proof * prover_aux) * Kzg.Utils.Transcript.tval verify_super_aggregation :
Public_parameters.verifier ->
Kzg.Utils.Transcript.t ->
Commitment.t list ->
query list ->
Kzg.Bls.Scalar.t Kzg.SMap.t list ->
proof ->
bool * Kzg.Bls.Scalar.t * Kzg.Utils.Transcript.t