sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
Functor building an implementation of a polynomial protocol given a polynomial commitment scheme PC
.
module PC : Polynomial_commitment.S
module PC = PC
type prover_public_parameters = PC.Public_parameters.prover
val prover_public_parameters_t : PC.Public_parameters.prover Repr.t
type verifier_public_parameters = PC.Public_parameters.verifier
val verifier_public_parameters_t : PC.Public_parameters.verifier Repr.t
val transcript_t : bytes Repr.t
val split_t : int -> Plonk.Bls.Poly.t -> int -> Plonk.Bls.Poly.t SMap.t
split_t n t nb_of_t_chunks
splits t
polynomial in nb_of_t_chunks
polynomials of at most n
coefficients (and at most degree n
-1), except the last one that may have more coeffictients depending on t
’s degree
val compute_t :
n:int ->
alpha:Plonk.Bls.Scalar.t ->
nb_of_t_chunks:int ->
Bls.Evaluations.t SMap.t ->
Plonk.Bls.Poly.t SMap.t
val eval_and_batch_ids :
(Plonk.Bls.Scalar.t * 'a) ->
'b SMap.t SMap.t list ->
('c -> 'b SMap.t SMap.t -> Plonk.Bls.Scalar.t SMap.t) ->
Plonk.Bls.Scalar.t
val verify_t :
int ->
Plonk.Bls.Scalar.t ->
Plonk.Bls.Scalar.t ->
Plonk.Bls.Scalar.t list ->
bool
val prove_aux :
PC.Commitment.prover_public_parameters ->
Stdlib.Bytes.t ->
int ->
Plonk.Bls.Scalar.t ->
(Plonk.Bls.Poly.t SMap.t * PC.Commitment.prover_aux) list ->
Identities.eval_point list list ->
'a ->
('b -> Bls.Evaluations.t SMap.t) ->
int ->
(Plonk.Bls.Scalar.t * Plonk.Bls.Scalar.t * PC.answer list * PC.Commitment.t)
* Plonk.Bls.Poly.t SMap.t list
* PC.Commitment.prover_aux list
* Plonk.Bls.Scalar.t SMap.t list
* Stdlib.Bytes.t
val prove :
PC.Commitment.prover_public_parameters ->
Stdlib.Bytes.t ->
n:int ->
generator:Plonk.Bls.Scalar.t ->
secrets:(Plonk.Bls.Poly.t SMap.t * PC.Commitment.prover_aux) list ->
eval_points:Identities.eval_point list list ->
evaluations:'a ->
identities:('b -> Bls.Evaluations.t SMap.t) ->
nb_of_t_chunks:int ->
proof * PC.transcript
type pp_commit_to_t_r = Bls.Evaluations.t SMap.t
val pp_commit_to_t_r_t : Bls.Evaluations.t SMap.t Repr.ty
val verify_aux :
Stdlib.Bytes.t ->
Plonk.Bls.Scalar.t ->
PC.Commitment.t list ->
Identities.eval_point list list ->
proof ->
Plonk.Bls.Scalar.t
* Plonk.Bls.Scalar.t
* Stdlib.Bytes.t
* PC.Commitment.t list
* Plonk.Bls.Scalar.t SMap.t list
val verify :
PC.Public_parameters.verifier ->
Stdlib.Bytes.t ->
n:int ->
generator:Plonk.Bls.Scalar.t ->
commitments:PC.Commitment.t list ->
eval_points:Identities.eval_point list list ->
identities:
(Plonk.Bls.Scalar.t ->
Plonk.Bls.Scalar.t SMap.t SMap.t ->
Plonk.Bls.Scalar.t SMap.t) ->
proof ->
bool * PC.transcript