package tezos-plonk
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
Plonk zero-knowledge proving system
Install
dune-project
Dependency
Authors
Maintainers
Sources
privacy-team-v1.0.1.tar.gz
md5=03d6ca5fb1c6865b6628e0dd49575895
sha512=20494d1d00ded43f3625e06e037d3bad04f0a7320914b542b882d3d0293c9b02845b7ca9ee4ff0eb8ea495eff5633016861c39370cca92c12aacae0e84483ca4
doc/tezos-plonk.distribution/Distribution/Main_protocol/Make/index.html
Module Main_protocol.MakeSource
Parameters
module PP : Polynomial_protocol.S with type PC.BasePC.Scalar.t = Plompiler.S.tSignature
module MP : sig ... endinclude module type of MP with module PP := PP
module Scalar : sig ... endmodule Domain : sig ... endmodule Poly : sig ... endmodule Evaluations : sig ... endmodule Perm : sig ... endmodule Plook : sig ... endmodule Gates : sig ... endmodule Fr_generation : sig ... endmodule SMap = Plonk.SMaptype scalar = Scalar.ttype circuit_map = (Plonk.Circuit.t * int) SMap.ttype proof = {perm_and_plook : PP.PC.Commitment.t;wires_cm : PP.PC.Commitment.t;pp_proof : PP.proof;
}val circuit_prover_input_t : circuit_prover_input Repr.ttype prover_inputs = circuit_prover_input list SMap.tval prover_inputs_t : circuit_prover_input list SMap.t Repr.tytype circuit_verifier_input = scalar array listtype verifier_inputs = circuit_verifier_input SMap.tval to_verifier_inputs :
circuit_prover_input list SMap.t ->
scalar array list SMap.tmodule IntSet : sig ... endmodule IntMap : sig ... endmodule Partition : sig ... endval check_circuit_name : 'a SMap.t -> unitval eval_points : bool -> bool -> PP.eval_point list listmodule Prover : sig ... endmodule Verifier : sig ... endtype verifier_public_parameters = {common_pp : Verifier.verifier_common_pp;circuits_map : Verifier.verifier_circuit_pp SMap.t;transcript : PP.transcript;
}val verifier_public_parameters_t : verifier_public_parameters Repr.tval degree_evaluations :
nb_wires:int ->
gates:'a Plonk.SMap.t ->
ultra:bool ->
intmodule Preprocess : sig ... endval setup :
zero_knowledge:bool ->
(Plonk.Circuit.t * int) SMap.t ->
srs:(Bls12_381_polynomial.Srs.t * Bls12_381_polynomial.Srs.t) ->
Prover.prover_public_parameters * verifier_public_parametersval update_prover_public_parameters :
bytes ->
Prover.prover_public_parameters ->
Prover.prover_public_parametersval update_verifier_public_parameters :
bytes ->
verifier_public_parameters ->
verifier_public_parametersval prove :
Prover.prover_public_parameters ->
inputs:circuit_prover_input list SMap.t ->
proofval verify :
verifier_public_parameters ->
inputs:Gates.PP.PC.Scalar.t array list SMap.t ->
proof ->
boolval scalar_encoding : Scalar.t Data_encoding.encodingval data_encoding_of_repr : 'a Repr.t -> 'a Data_encoding.encodingval proof_encoding : proof Data_encoding.encodingval verifier_public_parameters_encoding :
verifier_public_parameters Data_encoding.encodingmodule Internal_for_tests : sig ... endmodule Commitment : sig ... endinclude module type of struct include Prover end
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.tval get_generator : prover_common_pp -> Domain.scalarval prover_circuit_pp_t : prover_circuit_pp Repr.tval 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 optiontype 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 listval 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.tval 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.tval 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.tval 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_identitiesval 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_identitiesval build_all_perm_identities :
prover_common_pp ->
Perm.PP.PC.Scalar.t ->
Perm.PP.PC.Scalar.t ->
prover_circuit_pp SMap.t ->
PP.prover_identitiesval build_batched_witness : PP.PC.Scalar.t -> wires_info list -> Evaluations.tval 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.tval 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.tval 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 listval 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.tval gather_maps :
?shifts_map:(int * int) SMap.t ->
'a Stdlib__Map.Make(String).t Plonk.List.t SMap.t ->
'a SMap.tval 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.tval build_evaluations :
(prover_common_pp * prover_circuit_pp SMap.t) ->
f_map:PP.Evaluations.polynomial Plonk.SMap.t ->
Evaluations.t SMap.tval 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_identitiesval 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.tSource
val split_inputs_map :
nb_workers:int ->
circuit_prover_input list SMap.t ->
worker_inputs SMap.t listSource
type commit_to_plook_reply = {batched_witness_map : Evaluations.t SMap.t;cmt_plookup : Commitment.t;f_plook_map : PP.PC.Polynomial.Polynomial.t SMap.t;plook_prover_aux : Commitment.prover_aux;
}Source
type commit_to_plook_remember = {f_wires_map_list_map : PP.Evaluations.polynomial SMap.t list SMap.t;f_plook_map_list_map : PP.Evaluations.polynomial SMap.t list SMap.t;beta_plookup : scalar;gamma_plookup : scalar;
}Source
type commit_to_wires_remember = {f_wires_map : PP.Evaluations.polynomial SMap.t;wires_map : wires_info list SMap.t;inputs_map : circuit_prover_input list SMap.t;shifts_map : (int * int) SMap.t;srs : PP.prover_public_parameters;f_wires_map_list_map : PP.Evaluations.polynomial SMap.t list SMap.t;wires_prover_aux : PP.PC.Commitment.prover_aux;
}Source
val worker_commit_to_wires :
?zero_knowledge:bool ->
(prover_common_pp * prover_circuit_pp SMap.t) ->
worker_inputs SMap.t ->
PP.PC.Commitment.t * commit_to_wires_rememberSource
val worker_build_all_batched_witness :
PP.PC.Scalar.t ->
wires_info list SMap.t ->
Evaluations.t SMap.tSource
val commit_to_plook :
?zero_knowledge:bool ->
(prover_common_pp * prover_circuit_pp SMap.t) ->
wires_info list SMap.t ->
(int * int) SMap.t ->
PP.PC.BasePC.Public_parameters.prover ->
Bytes.t ->
PP.Evaluations.polynomial SMap.t list SMap.t ->
commit_to_plook_reply * commit_to_plook_rememberSource
val batch_evaluated_ids :
alpha:Scalar.t ->
Evaluations.t SMap.t ->
string list ->
Evaluations.tSource
val main_build_aggregated_wires_map :
zero_knowledge:bool ->
prover_common_pp ->
prover_circuit_pp SMap.t ->
SMap.key ->
Evaluations.t ->
Poly.t SMap.tSource
val worker_build_evaluations :
(prover_common_pp * prover_circuit_pp SMap.t) ->
f_wires_map:PP.Evaluations.polynomial SMap.t ->
f_plook_map:PP.Evaluations.polynomial SMap.t ->
Evaluations.t SMap.tSource
val worker_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_identitiesSource
val kzg_eval_at_x :
Bytes.t ->
(PP.PC.secret * 'a) list ->
PP.PC.Scalar.t ->
bool ->
PP.PC.answer list sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page