package tezos-plonk
Plonk zero-knowledge proving system
Install
Dune Dependency
Authors
Maintainers
Sources
privacy-team-v1.0.1.tar.gz
md5=03d6ca5fb1c6865b6628e0dd49575895
sha512=20494d1d00ded43f3625e06e037d3bad04f0a7320914b542b882d3d0293c9b02845b7ca9ee4ff0eb8ea495eff5633016861c39370cca92c12aacae0e84483ca4
doc/tezos-plonk.distribution/Distribution/Main_protocol/Make/Prover/index.html
Module Make.Prover
type prover_common_pp = {
n : int;
domain : Domain.t;
pp_public_parameters : PP.prover_public_parameters;
g_map : PP.PC.Polynomial.Polynomial.t SMap.t;
g_prover_aux : PP.PC.Commitment.prover_aux;
evaluations : Evaluations.t SMap.t;
zk : bool;
nb_of_t_chunks : int;
}
val prover_common_pp_t : prover_common_pp Repr.t
val get_generator : prover_common_pp -> Domain.scalar
val prover_circuit_pp_t : prover_circuit_pp Repr.t
val compute_wire_polynomials :
zero_knowledge:bool ->
gates:'a Plonk.SMap.t ->
int ->
Evaluations.domain ->
PP.PC.Scalar.t array SMap.t ->
Poly.t SMap.t * Poly.t SMap.t option
type wires_info = {
wires : Scalar.t array SMap.t;
f_wires_map : Evaluations.polynomial SMap.t;
f_blinds_map : Evaluations.polynomial SMap.t option;
wires_values : Scalar.t array;
wires_indices : int array SMap.t;
}
val build_wires_map :
zero_knowledge:bool ->
prover_common_pp ->
prover_circuit_pp SMap.t ->
SMap.key ->
circuit_prover_input list ->
Poly.t SMap.t list * wires_info list
val build_all_f_wires_map :
zero_knowledge:bool ->
prover_common_pp ->
prover_circuit_pp SMap.t ->
circuit_prover_input list SMap.t ->
Poly.t SMap.t list SMap.t * wires_info list SMap.t
val build_aggregated_wires_map :
zero_knowledge:bool ->
Poly.scalar ->
prover_common_pp ->
prover_circuit_pp SMap.t ->
wires_info list SMap.t ->
SMap.key ->
Evaluations.t ->
Poly.t SMap.t
val build_all_aggregated_wires_map :
zero_knowledge:bool ->
Poly.scalar ->
prover_common_pp ->
prover_circuit_pp SMap.t ->
Poly.t SMap.t list SMap.t ->
wires_info list SMap.t ->
Evaluations.t SMap.t ->
Poly.t SMap.t SMap.t
val build_all_identities :
prover_common_pp ->
?shifts_map:(int * int) SMap.t ->
Plook.PP.PC.Scalar.t ->
Plook.PP.PC.Scalar.t ->
prover_circuit_pp SMap.t ->
circuit_prover_input list SMap.t ->
Plook.PP.PC.Polynomial.Polynomial.t Plonk.SMap.t Plonk.List.t SMap.t ->
PP.prover_identities
val build_perm_identities :
prover_common_pp ->
Perm.PP.PC.Scalar.t ->
Perm.PP.PC.Scalar.t ->
Perm.PP.PC.Scalar.t ->
string ->
prover_circuit_pp ->
Perm.PP.prover_identities
val build_all_perm_identities :
prover_common_pp ->
Perm.PP.PC.Scalar.t ->
Perm.PP.PC.Scalar.t ->
prover_circuit_pp SMap.t ->
PP.prover_identities
val build_batched_witness : PP.PC.Scalar.t -> wires_info list -> Evaluations.t
val build_f_map_evaluation_perm :
zero_knowledge:bool ->
prover_common_pp ->
PP.PC.Scalar.t ->
Perm.PP.PC.Scalar.t ->
Perm.PP.PC.Scalar.t ->
prover_circuit_pp SMap.t ->
SMap.key ->
wires_info list ->
Poly.t SMap.t * Evaluations.t
val build_all_f_map_evaluation_perm :
zero_knowledge:bool ->
prover_common_pp ->
PP.PC.Scalar.t ->
Perm.PP.PC.Scalar.t ->
Perm.PP.PC.Scalar.t ->
prover_circuit_pp SMap.t ->
wires_info list SMap.t ->
(Poly.t SMap.t * Evaluations.t) SMap.t
val build_f_map_evaluation_plook :
zero_knowledge:bool ->
prover_common_pp ->
Plook.PP.PC.Scalar.t ->
Plook.PP.PC.Scalar.t ->
prover_circuit_pp SMap.t ->
SMap.key ->
wires_info list ->
Poly.t SMap.t list
val build_all_f_map_evaluation_plook :
zero_knowledge:bool ->
prover_common_pp ->
Plook.PP.PC.Scalar.t ->
Plook.PP.PC.Scalar.t ->
prover_circuit_pp SMap.t ->
wires_info list SMap.t ->
Poly.t SMap.t list SMap.t
val gather_maps :
?shifts_map:(int * int) SMap.t ->
'a Stdlib__Map.Make(String).t Plonk.List.t SMap.t ->
'a SMap.t
val commit_to_wires :
?shifts_map:(int * int) SMap.t ->
zero_knowledge:bool ->
common_pp:prover_common_pp ->
circuits_map:prover_circuit_pp SMap.t ->
inputs_map:circuit_prover_input list SMap.t ->
unit ->
wires_info list SMap.t
* PP.PC.Commitment.t
* PP.PC.Commitment.prover_aux
* Poly.t SMap.t list SMap.t
* Poly.t SMap.t
val build_evaluations :
(prover_common_pp * prover_circuit_pp SMap.t) ->
f_map:PP.Evaluations.polynomial Plonk.SMap.t ->
Evaluations.t SMap.t
val build_identities :
?shifts_map:(int * int) SMap.t ->
(prover_common_pp * prover_circuit_pp SMap.t) ->
f_wires_map_list_map:
Plook.PP.PC.Polynomial.Polynomial.t Plonk.SMap.t Plonk.List.t SMap.t ->
f_plook_map_list_map:
Plook.PP.PC.Polynomial.Polynomial.t Plonk.SMap.t Plonk.List.t SMap.t ->
inputs_map:circuit_prover_input list SMap.t ->
beta_plookup:Plook.PP.PC.Scalar.t ->
gamma_plookup:Plook.PP.PC.Scalar.t ->
PP.prover_identities
val prove_circuits :
pp_prove:
(PP.prover_public_parameters ->
bytes ->
n:int ->
generator:Domain.scalar ->
secrets:
(PP.PC.Polynomial.Polynomial.t SMap.t * PP.PC.Commitment.prover_aux)
list ->
eval_points:PP.eval_point list list ->
evaluations:Evaluations.t SMap.t ->
identities:PP.prover_identities ->
nb_of_t_chunks:int ->
'a * 'b) ->
((prover_common_pp * prover_circuit_pp SMap.t) * bytes) ->
inputs_map:circuit_prover_input list SMap.t ->
'a
* (PP.PC.Commitment.t
* PP.PC.Commitment.t
* Fr_generation.scalar
* Fr_generation.scalar
* Fr_generation.scalar)
type prover_public_parameters = {
common_pp : prover_common_pp;
circuits_map : prover_circuit_pp SMap.t;
transcript : PP.transcript;
}
val prover_public_parameters_t : prover_public_parameters Repr.t
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>