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/Kzg/Kzg_impl/index.html
Module Kzg.Kzg_impl
Source
Extension of the KZG implementation with additional types and functions used in by Distributed_prover
module BasePC = Plonk.Polynomial_commitment.Kzg_impl
include module type of struct include BasePC end
include module type of struct include Plonk.Bls end
module type Scalar_sig = BasePC.Scalar_sig
module Scalar = BasePC.Scalar
module G1 = BasePC.G1
module G2 = BasePC.G2
module GT = BasePC.GT
module Pairing = BasePC.Pairing
module Fr_generation = BasePC.Fr_generation
module Polynomial = BasePC.Polynomial
module Poly = BasePC.Poly
module Srs_g1 = BasePC.Srs_g1
module Srs_g2 = BasePC.Srs_g2
module Scalar_map = BasePC.Scalar_map
type secret = Poly.t Plonk.SMap.t
type query = Scalar.t Plonk.SMap.t
val query_t : Scalar.t Plonk.SMap.t Repr.ty
type answer = Scalar.t Plonk.SMap.t Plonk.SMap.t
val answer_t : Scalar.t Plonk.SMap.t Plonk.SMap.t Repr.ty
type transcript = Bytes.t
module Public_parameters = BasePC.Public_parameters
type proof = G1.t Plonk.SMap.t
val proof_t : G1.t Plonk.SMap.t Repr.ty
val expand_with_proof : G1.t Plonk.SMap.t -> bytes -> bytes
val expand_with_query : Scalar.t Plonk.SMap.t list -> bytes -> bytes
val expand_with_answer :
Scalar.t Plonk.SMap.t Plonk.SMap.t list ->
bytes ->
bytes
val compute_Ws :
Public_parameters.prover ->
Poly.t Plonk.SMap.t ->
Poly.scalar Plonk.SMap.t ->
Scalar.t Plonk.SMap.t ->
G1.t Plonk.SMap.t
val verifier_check :
Public_parameters.verifier ->
G1.t Plonk.SMap.t ->
Scalar.t Plonk.SMap.t Plonk.SMap.t ->
Scalar.t Plonk.SMap.t ->
Scalar.t Plonk.SMap.t ->
G1.t Plonk.SMap.t ->
bool
val sample_ys :
Bytes.t ->
'a Plonk.SMap.t ->
Fr_generation.scalar Plonk.SMap.t * Bytes.t
val batch_answer :
Scalar.t Plonk.SMap.t ->
Scalar.t Plonk.SMap.t Plonk.SMap.t ->
Scalar.t Plonk.SMap.t * Scalar.t Plonk.SMap.t Plonk.SMap.t
val batch_polys :
Poly.scalar Plonk.SMap.t Plonk.SMap.t ->
Poly.t Plonk.SMap.t ->
Poly.t Plonk.SMap.t
val prove_single :
Public_parameters.prover ->
Bytes.t ->
Poly.t Plonk.SMap.t ->
Scalar.t Plonk.SMap.t ->
Scalar.t Plonk.SMap.t Plonk.SMap.t ->
G1.t Plonk.SMap.t * bytes
val verify_single :
Public_parameters.verifier ->
Bytes.t ->
G1.t Plonk.SMap.t ->
Scalar.t Plonk.SMap.t ->
Scalar.t Plonk.SMap.t Plonk.SMap.t ->
G1.t Plonk.SMap.t ->
bool * bytes
val group_cmts : BasePC.Commitment.t list -> BasePC.Commitment.t
val evaluate : Poly.t Plonk.SMap.t -> query -> answer
val prove :
Public_parameters.prover ->
bytes ->
secret list ->
'a ->
query list ->
answer list ->
G1.t Plonk.SMap.t * bytes
val verify :
Public_parameters.verifier ->
bytes ->
BasePC.Commitment.t list ->
query list ->
answer list ->
G1.t Plonk.SMap.t ->
bool * bytes
Source
type main_prover_state = {
srs : Public_parameters.prover;
transcript : transcript;
query : query;
batched_answer : Scalar.t SMap.t;
main_msg : main_prover_msg;
}
Source
val distributed_prove_worker :
secret list ->
'a ->
Poly.scalar Plonk.SMap.t Plonk.SMap.t ->
Poly.t Plonk.SMap.t
Source
val distributed_prove_main1 :
Public_parameters.prover ->
bytes ->
query list ->
answer list ->
secret list ->
'a ->
Scalar.t Plonk.SMap.t Plonk.SMap.t * main_prover_state
Source
val distributed_prove_main2 :
main_prover_state ->
main_prover_msg list ->
G1.t Plonk.SMap.t * bytes
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>