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/Polynomial_protocol/Make_impl/index.html
Module Polynomial_protocol.Make_impl
Source
Parameters
module Super_PC : Polynomial_commitment.S
Signature
include sig ... end
Source
type proof = {
cm_t : Super_PC.Commitment.t;
pc_proof : Super_PC.proof;
pc_answers : Plonk.Bls.Scalar.t Plonk.SMap.t Plonk.SMap.t list;
}
Source
val compute_t :
n:int ->
alpha:Plonk.Bls.Scalar.t ->
nb_of_t_chunks:int ->
Plonk.Bls.Evaluations.t Plonk.SMap.t ->
Plonk.Bls.Poly.t Plonk.SMap.t
Source
val eval_and_batch_ids :
(Plonk.Bls.Scalar.t * 'a) ->
'b Plonk.SMap.t Plonk.SMap.t list ->
('a -> 'b Plonk.SMap.t Plonk.SMap.t -> Plonk.Bls.Scalar.t Plonk.SMap.t) ->
Plonk.Bls.Scalar.t
Source
val setup :
setup_params:int ->
srs:
(Octez_bls12_381_polynomial.Bls12_381_polynomial.Srs.t
* Octez_bls12_381_polynomial.Bls12_381_polynomial.Srs.t) ->
Super_PC.Commitment.prover_public_parameters
* Super_PC.Public_parameters.verifier
Source
val prove_aux :
Super_PC.Commitment.prover_public_parameters ->
Bytes.t ->
int ->
Plonk.Bls.Scalar.t ->
(Plonk.Bls.Poly.t Plonk.SMap.t * Super_PC.Commitment.prover_aux) list ->
Plonk.Identities.eval_point list list ->
'a ->
('a -> Plonk.Bls.Evaluations.t Plonk.SMap.t) ->
int ->
(Plonk.Bls.Scalar.t
* Plonk.Bls.Scalar.t
* Plonk.Bls.Scalar.t Plonk.SMap.t Plonk.SMap.t list
* Super_PC.Commitment.t)
* Plonk.Bls.Poly.t Plonk.SMap.t list
* Super_PC.Commitment.prover_aux list
* Plonk.Bls.Scalar.t Plonk.SMap.t list
* Bytes.t
Source
val prove :
Super_PC.Commitment.prover_public_parameters ->
Bytes.t ->
n:int ->
generator:Plonk.Bls.Scalar.t ->
secrets:(Plonk.Bls.Poly.t Plonk.SMap.t * Super_PC.Commitment.prover_aux) list ->
eval_points:Plonk.Identities.eval_point list list ->
evaluations:'a ->
identities:('a -> Plonk.Bls.Evaluations.t Plonk.SMap.t) ->
nb_of_t_chunks:int ->
proof * Bytes.t
Source
val verify_aux :
Bytes.t ->
Plonk.Bls.Scalar.t ->
Super_PC.Commitment.t list ->
Plonk.Identities.eval_point list list ->
proof ->
Plonk.Bls.Scalar.t
* Plonk.Bls.Scalar.t
* Bytes.t
* Super_PC.Commitment.t list
* Plonk.Bls.Scalar.t Plonk.SMap.t list
Source
val verify :
Super_PC.Public_parameters.verifier ->
Bytes.t ->
n:int ->
generator:Plonk.Bls.Scalar.t ->
commitments:Super_PC.Commitment.t list ->
eval_points:Plonk.Identities.eval_point list list ->
identities:
(Plonk.Bls.Scalar.t ->
Plonk.Bls.Scalar.t Plonk.SMap.t Plonk.SMap.t ->
Plonk.Bls.Scalar.t Plonk.SMap.t) ->
proof ->
bool * Bytes.t
module PC = Super_PC
module Answers_commitment = Answers_commitment
Source
val update_transcript_with_answers :
bytes ->
Answers_commitment.public SMap.t ->
Plonk.Bls.Scalar.t list ->
bytes
Source
val update_transcript_with_formatted_answers :
bytes ->
(Plonk.Bls.Scalar.t array -> Answers_commitment.t) SMap.t ->
Plonk.Bls.Scalar.t SMap.t SMap.t list ->
Plonk.Bls.Scalar.t list * Answers_commitment.t SMap.t * bytes
Source
val prove_super_aggregation :
Super_PC.Commitment.prover_public_parameters ->
Bytes.t ->
commit_to_answers_map:
(Plonk.Bls.Scalar.t array -> Answers_commitment.t) SMap.t ->
n:int ->
generator:Plonk.Bls.Scalar.t ->
secrets:(Plonk.Bls.Poly.t Plonk.SMap.t * Super_PC.Commitment.prover_aux) list ->
eval_points:Plonk.Identities.eval_point list list ->
evaluations:'a ->
identities:('a -> Plonk.Bls.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:int ->
generator:Plonk.Bls.Scalar.t ->
commitments:Super_PC.Commitment.t list ->
eval_points:Plonk.Identities.eval_point list list ->
s_list:Plonk.Bls.Scalar.t Plonk.SMap.t list ->
cms_answers:Answers_commitment.public SMap.t ->
t_answers:Plonk.Bls.Scalar.t list ->
ids_batch:(Plonk.Bls.Scalar.t * int) SMap.t ->
proof ->
(bool * verifier_aux) * Super_PC.transcript
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page