package octez-plonk
Plonk zero-knowledge proving system
Install
Dune Dependency
Authors
Maintainers
Sources
tezos-17.3.tar.gz
sha256=7062cd57addd452852598a2214ade393130efa087b99068d53713bdf912b3680
sha512=08e4091144a03ce3c107fb91a66501bd8b65ca3278917c455a2eaac6df3e108ade63f6ab8340a4bb152d60f404326e464d0ec95d26cafe8e82f870465d24a5fc
doc/octez-plonk.distribution/Plonk_for_distribution/Main_protocol/MakeSuper/index.html
Module Main_protocol.MakeSuper
Source
Parameters
module PP : Polynomial_protocol.Super
Signature
module PP = PP
include module type of MP with module PP := PP
Source
type proof = {
perm_and_plook : PP.PC.Commitment.t;
wires_cm : PP.PC.Commitment.t;
pp_proof : PP.proof;
}
Source
val verifier_inputs_t :
(Plonk.Bls.Scalar.t array list * PP.PC.Commitment.t list list) Plonk.SMap.t
Repr.ty
Source
val hash_verifier_inputs :
(Plonk.Bls.Scalar.t array list * PP.PC.Commitment.t list list) Plonk.SMap.t ->
bytes
Source
type prover_public_parameters = Prover.public_parameters = {
common_pp : Prover.common_prover_pp;
circuits_map : Prover.circuit_prover_pp Plonk.SMap.t;
transcript : Bytes.t;
}
Source
type verifier_public_parameters = {
common_pp : Verifier.common_verifier_pp;
circuits_map : Verifier.circuit_verifier_pp Plonk.SMap.t;
transcript : Bytes.t;
}
Source
val to_verifier_inputs :
prover_public_parameters ->
circuit_prover_input list Plonk.SMap.t ->
(public_inputs * PP.PC.Commitment.t list list) Plonk.SMap.t
Source
val expand_transcript_with_verifier_inputs :
bytes ->
(Plonk.Bls.Scalar.t array list * PP.PC.Commitment.t list list) Plonk.SMap.t ->
bytes
Source
val input_commit :
?size:int ->
?shift:int ->
prover_public_parameters ->
Plonk.Bls.Scalar.t array ->
Plonk__Input_commitment.Make(PP.PC.Commitment).t
Source
val update_prover_public_parameters :
bytes ->
prover_public_parameters ->
prover_public_parameters
Source
val update_verifier_public_parameters :
bytes ->
verifier_public_parameters ->
verifier_public_parameters
Source
val filter_prv_pp_circuits :
prover_public_parameters ->
'a Plonk.SMap.t ->
prover_public_parameters
Source
val filter_vrf_pp_circuits :
verifier_public_parameters ->
'a Plonk.SMap.t ->
verifier_public_parameters
Source
val setup :
zero_knowledge:bool ->
(Plonk.Circuit.t * int) Plonk.SMap.t ->
srs:
(Octez_bls12_381_polynomial.Bls12_381_polynomial.Srs.t
* Octez_bls12_381_polynomial.Bls12_381_polynomial.Srs.t) ->
prover_public_parameters * verifier_public_parameters
Source
val prove :
prover_public_parameters ->
inputs:circuit_prover_input Plonk.List.t Plonk.SMap.t ->
proof
Source
val verify :
verifier_public_parameters ->
inputs:(public_inputs * PP.PC.Commitment.t list list) Plonk.SMap.t ->
proof ->
bool
Source
type prover_aux = {
answers : scalar Plonk.SMap.t Plonk.SMap.t list;
batch : scalar Plonk.SMap.t list;
alpha : scalar;
beta : scalar;
gamma : scalar;
delta : scalar;
x : scalar;
r : scalar;
cms_answers : PP.Answers_commitment.t Plonk.SMap.t;
cms_pi : PP.Answers_commitment.t Plonk.SMap.t;
ids_batch : (scalar * int) Plonk.SMap.t;
t_answers : scalar list;
}
Source
type input_commit_info = {
nb_max_answers : int;
nb_max_pi : int;
func : ?size:int -> ?shift:int -> scalar array -> PP.Answers_commitment.t;
}
Source
val hash_pi :
prover_public_parameters ->
input_commit_info Plonk.SMap.t ->
circuit_prover_input list Plonk.SMap.t ->
scalar array list Plonk.SMap.t * PP.Answers_commitment.t Plonk.SMap.t
Source
val compute_ids_batch :
prover_public_parameters ->
gate_randomness ->
Plonk.Bls.Scalar.t ->
Plonk.Bls.Scalar.t ->
Plonk.Bls.Scalar.t array Plonk.List.t Plonk.SMap.t ->
Plonk.Bls.Scalar.t Plonk.SMap.t Plonk.SMap.t list ->
'a Plonk.SMap.t ->
(Plonk.Bls.Scalar.t * int) Plonk.SMap.t
Source
val update_prv_pp_transcript_with_pi :
prover_public_parameters ->
PP.Answers_commitment.t Plonk.SMap.t ->
prover_public_parameters
Source
val commit_to_answers_map :
input_commit_info Plonk.SMap.t ->
(scalar array -> PP.Answers_commitment.t) Plonk.SMap.t
Source
val prove_list :
prover_public_parameters ->
input_commit_infos:input_commit_info Plonk.SMap.t ->
inputs:circuit_prover_input Plonk.List.t Plonk.SMap.t ->
proof * prover_aux
Source
val verify_list :
verifier_public_parameters ->
(proof
* Plonk.Bls.Scalar.t Plonk.SMap.t list
* PP.Answers_commitment.public Plonk.SMap.t
* PP.Answers_commitment.public Plonk.SMap.t
* Plonk.Bls.Scalar.t list
* (Plonk.Bls.Scalar.t * int) Plonk.SMap.t) ->
bool * verifier_aux
include sig ... end
Source
val split_inputs_map :
nb_workers:int ->
Plonk__Main_protocol.Make_impl(PP).circuit_prover_input list SMap.t ->
worker_inputs SMap.t list
Source
type commit_to_plook_rc_reply = Common(PP).commit_to_plook_rc_reply = {
batched_wires_map : Plonk.Bls.Evaluations.t SMap.t SMap.t;
cmt : Commitment.t;
f_map : Plonk.Bls.Poly.t SMap.t;
prover_aux : Commitment.prover_aux;
}
Source
type commit_to_plook_rc_remember = Common(PP).commit_to_plook_rc_remember = {
beta_plook : Plonk.Bls.Scalar.t;
gamma_plook : Plonk.Bls.Scalar.t;
beta_rc : Plonk.Bls.Scalar.t;
gamma_rc : Plonk.Bls.Scalar.t;
}
Source
type commit_to_wires_remember = Common(PP).commit_to_wires_remember = {
all_f_wires : Plonk.Bls.Poly.t SMap.t;
wires_list_map : Plonk.Bls.Evaluations.t SMap.t list SMap.t;
inputs_map : Plonk__Main_protocol.Make_impl(PP).circuit_prover_input list SMap.t;
shifts_map : (int * int) SMap.t;
f_wires : Plonk.Bls.Poly.t SMap.t list SMap.t;
cm_aux_wires : Commitment.prover_aux;
}
Source
val worker_commit_to_wires :
Plonk__Main_protocol.Make_impl(PP).Prover.public_parameters ->
worker_inputs SMap.t ->
PP.PC.Commitment.t * commit_to_wires_remember
Source
val commit_to_plook_rc :
Plonk__Main_protocol.Make_impl(PP).Prover.public_parameters ->
(int * int) Stdlib__Map.Make(String).t ->
Bytes.t ->
Plonk.Bls.Evaluations.t Plonk.SMap.t list Plonk.SMap.t ->
commit_to_plook_rc_reply * commit_to_plook_rc_remember
Source
val batch_evaluated_ids :
alpha:Plonk.Bls.Scalar.t ->
Plonk.Bls.Evaluations.t SMap.t ->
string list ->
Plonk.Bls.Evaluations.t
Source
val kzg_eval_at_x :
Plonk__Main_protocol.Make_impl(PP).Prover.public_parameters ->
Bytes.t ->
(Plonk.Bls.Poly.t Plonk.SMap.t * 'a) list ->
Plonk.Bls.Scalar.t ->
Plonk.Bls.Scalar.t Plonk.SMap.t Plonk.SMap.t list
Source
val build_batched_witness_polys_bis :
(bool * int * Plonk.Bls.Domain.t) ->
Plonk.Bls.Evaluations.t Plonk.SMap.t SMap.t ->
Plonk.Bls.Poly.t Stdlib__Map.Make(String).t
Source
val make_secret :
Plonk__Main_protocol.Make_impl(PP).Prover.public_parameters ->
(Plonk.Bls.Poly.t Plonk.SMap.t * PP.PC.Commitment.prover_aux) ->
(Plonk.Bls.Poly.t Plonk.SMap.t * PP.PC.Commitment.prover_aux) list
Source
val make_eval_points :
Plonk__Main_protocol.Make_impl(PP).Prover.public_parameters ->
Plonk.Identities.eval_point list list
* Plonk.Identities.eval_point list Plonk.List.t
Source
val get_generator :
Plonk__Main_protocol.Make_impl(PP).Prover.public_parameters ->
Plonk.Bls.Domain.scalar
Source
val get_srs :
Plonk__Main_protocol.Make_impl(PP).Prover.public_parameters ->
PP.PC.Commitment.prover_public_parameters
Source
val get_gen_n_nbt :
Plonk__Main_protocol.Make_impl(PP).Prover.public_parameters ->
Plonk.Bls.Domain.scalar * int * int
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page