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.aggregation/Aggregation/Main_protocol/index.html
Module Aggregation.Main_protocol
Source
Source
module Make
(PP : Polynomial_protocol.S) :
S with module PP = PP and type public_inputs = Plonk.Bls.Scalar.t array list
include sig ... end
Source
type circuit_prover_input = Make(Polynomial_protocol).circuit_prover_input = {
witness : scalar array;
input_commitments : Input_commitment.t list;
}
Source
val input_commit :
?size:int ->
?shift:int ->
prover_public_parameters ->
scalar array ->
Input_commitment.t
Source
val setup :
zero_knowledge:bool ->
circuit_map ->
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 update_prover_public_parameters :
Bytes.t ->
prover_public_parameters ->
prover_public_parameters
Source
val update_verifier_public_parameters :
Bytes.t ->
verifier_public_parameters ->
verifier_public_parameters
Returns (g, n), where n is the size of the circuit padded to the next power of two & g is a primitive n-th root of unity
Returns (g, n), where n is the size of the circuit padded to the next power of two & g is a primitive n-th root of unity
Source
val filter_prv_pp_circuits :
prover_public_parameters ->
'a SMap.t ->
prover_public_parameters
Source
val filter_vrf_pp_circuits :
verifier_public_parameters ->
'a SMap.t ->
verifier_public_parameters
Source
type prover_aux = Make(Polynomial_protocol).prover_aux = {
answers : scalar SMap.t SMap.t list;
batch : scalar SMap.t list;
alpha : scalar;
beta : scalar;
gamma : scalar;
delta : scalar;
x : scalar;
r : scalar;
cms_answers : PP.Answers_commitment.t SMap.t;
cms_pi : PP.Answers_commitment.t SMap.t;
ids_batch : (scalar * int) SMap.t;
t_answers : scalar list;
}
Auxiliary information needed by the prover for the meta-verification in aPlonK
Auxiliary information needed by the verifier for the meta-verification in aPlonK
Source
type input_commit_info = Make(Polynomial_protocol).input_commit_info = {
nb_max_answers : int;
nb_max_pi : int;
func : ?size:int -> ?shift:int -> scalar array -> PP.Answers_commitment.t;
}
Source
val prove_list :
prover_public_parameters ->
input_commit_infos:input_commit_info SMap.t ->
inputs:prover_inputs ->
proof * prover_aux
Source
val verify_list :
verifier_public_parameters ->
(proof
* scalar SMap.t list
* PP.Answers_commitment.public SMap.t
* PP.Answers_commitment.public SMap.t
* scalar list
* (scalar * int) SMap.t) ->
bool * verifier_aux
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>