package tezos-plonk
Plonk zero-knowledge proving system
Install
Dune Dependency
Authors
Maintainers
Sources
privacy-team-v1.0.0.tar.gz
md5=c9007a234fbacaddbc652c139cac56db
sha512=b67825a9259c27ccba51a4cb98056985c93f74f5211d422ce8ee8c35cda748c22bd1e59b3a584a79f96c1be21a409a12ee4b705346e1319c6d8bf45e81029f93
doc/tezos-plonk.aggregation/Aggregation/Polynomial_protocol/Make_impl/index.html
Module Polynomial_protocol.Make_impl
Source
Parameters
module Super_PC : Polynomial_commitment.S
Signature
include sig ... end
module Domain : sig ... end
module Poly : sig ... end
module Fr_generation : sig ... end
Source
type verifier_identities =
Super_PC.Scalar.t ->
Super_PC.Scalar.t Plonk.SMap.t Plonk.SMap.t ->
Super_PC.Scalar.t Plonk.SMap.t
Source
type non_committed =
Super_PC.Scalar.t ->
Super_PC.Scalar.t Plonk.SMap.t Plonk.SMap.t ->
Super_PC.Scalar.t Plonk.SMap.t
Source
type proof = {
cm_t : Super_PC.Commitment.t;
pc_proof : Super_PC.proof;
pc_answers : Super_PC.Scalar.t Plonk.SMap.t Plonk.SMap.t list;
}
Source
val convert_eval_points :
generator:Super_PC.Scalar.t ->
x:Super_PC.Scalar.t ->
eval_point list ->
Super_PC.Scalar.t Plonk.SMap.t
Source
val merge_prover_identities :
(Evaluations.t Plonk.SMap.t -> Evaluations.t Plonk.SMap.t) list ->
prover_identities
Source
val merge_verifier_identities :
(Super_PC.Scalar.t ->
Super_PC.Scalar.t Plonk.SMap.t Plonk.SMap.t ->
Super_PC.Scalar.t Plonk.SMap.t)
list ->
verifier_identities
Source
val compute_t :
n:int ->
alpha:Fr_generation.scalar ->
nb_of_t_chunks:int ->
Evaluations.t Plonk.SMap.t ->
Poly.t Plonk.SMap.t
Source
val verify_t :
int ->
Super_PC.Scalar.t ->
Fr_generation.scalar ->
Fr_generation.scalar Plonk.SMap.t ->
Super_PC.Commitment.t ->
Fr_generation.scalar Plonk.SMap.t Plonk.SMap.t ->
bool
Source
val setup :
setup_params:int ->
srs:(Bls12_381_polynomial.Srs.t * Bls12_381_polynomial.Srs.t) ->
Super_PC.Public_parameters.prover * Super_PC.Public_parameters.verifier
Source
val prove_aux :
pc_function:
(Super_PC.Public_parameters.prover ->
Bytes.t ->
Poly.t Plonk.SMap.t list ->
Super_PC.Commitment.prover_aux list ->
Super_PC.Scalar.t Plonk.SMap.t list ->
Super_PC.Scalar.t Plonk.SMap.t Plonk.SMap.t list ->
'a) ->
Super_PC.Public_parameters.prover ->
Bytes.t ->
int ->
Super_PC.Scalar.t ->
(Poly.t Plonk.SMap.t * Super_PC.Commitment.prover_aux) list ->
eval_point list list ->
'b ->
('b -> Evaluations.t Plonk.SMap.t) ->
int ->
'a
* (Fr_generation.scalar
* Fr_generation.scalar
* Super_PC.Scalar.t Plonk.SMap.t Plonk.SMap.t list
* Super_PC.Commitment.t)
Source
val prove :
Super_PC.Public_parameters.prover ->
Bytes.t ->
n:int ->
generator:Super_PC.Scalar.t ->
secrets:(Poly.t Plonk.SMap.t * Super_PC.Commitment.prover_aux) list ->
eval_points:eval_point list list ->
evaluations:'a ->
identities:('a -> Evaluations.t Plonk.SMap.t) ->
nb_of_t_chunks:int ->
proof * Bytes.t
Source
val verify_aux :
Bytes.t ->
Super_PC.Scalar.t ->
Super_PC.Commitment.t list ->
eval_point list list ->
proof ->
Fr_generation.scalar
* Fr_generation.scalar
* Bytes.t
* Super_PC.Commitment.t list
* Super_PC.Scalar.t Plonk.SMap.t list
Source
val verify :
Super_PC.Public_parameters.verifier ->
Bytes.t ->
n:int ->
generator:Super_PC.Scalar.t ->
commitments:Super_PC.Commitment.t list ->
eval_points:eval_point list list ->
?non_committed:
(Fr_generation.scalar ->
Super_PC.Scalar.t Plonk.SMap.t Plonk.SMap.t ->
Super_PC.Scalar.t Plonk.SMap.t) ->
identities:
(Fr_generation.scalar ->
Super_PC.Scalar.t Plonk.SMap.t Plonk.SMap.t ->
Fr_generation.scalar Plonk.SMap.t) ->
proof ->
bool * Bytes.t
Source
type prover_aux = {
answers : PC.Scalar.t SMap.t SMap.t list;
batch : PC.Scalar.t SMap.t list;
alpha : PC.Scalar.t;
x : PC.Scalar.t;
r : PC.Scalar.t;
cm_answers : PC.Scalar.t;
}
Source
val prove_super_aggregation :
Super_PC.Public_parameters.prover ->
Bytes.t ->
n:int ->
generator:Super_PC.Scalar.t ->
secrets:(Poly.t Plonk.SMap.t * Super_PC.Commitment.prover_aux) list ->
eval_points:eval_point list list ->
evaluations:'a ->
identities:('a -> Evaluations.t Plonk.SMap.t) ->
nb_of_t_chunks:int ->
(proof * prover_aux) * Super_PC.transcript
Source
val verify_super_aggregation :
Super_PC.Public_parameters.verifier ->
Bytes.t ->
n:'a ->
generator:Super_PC.Scalar.t ->
commitments:Super_PC.Commitment.t list ->
eval_points:eval_point list list ->
s_list:Super_PC.Scalar.t Plonk.SMap.t list ->
cm_answers:Super_PC.Scalar.t ->
proof ->
(bool * verifier_aux) * Super_PC.transcript
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page