Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
type t = t
A precomputed set of constants
Parameters to build a value of type t
val parameters_encoding : parameters Data_encoding.t
An encoding for values of type parameters
.
val make : parameters -> (t, [> `Fail of string ]) result
make
precomputes the set of values needed by the cryptographic primitives defined in this module and stores them in a value of type t
val parameters : t -> parameters
parameters t
returns the parameters given when t
was initialised with the function make
type commitment = commitment
Commitment to a polynomial.
module Commitment : Cryptobox_intf.COMMITMENT with type t := commitment
type commitment_proof = commitment_proof
A proof that the polynomial associated to some commitment is bounded by a constant.
module Commitment_proof :
Cryptobox_intf.COMMITMENT_PROOF with type t := commitment_proof
val verify_commitment : t -> commitment -> commitment_proof -> bool
verify_commitment t commitment proof
checks whether commitment
is valid. In particular, it checks that the size of the data committed via commitment
does not exceed t.slot_size
. The verification time is constant.
Fails if the size of the srs on the group G2 is too small.
The original slot can be split into a list of pages of fixed size. This size is given by the parameter page_size
given to the function make
.
type page_proof = page_proof
A proof that the evaluation of points of a polynomial is part of a commitment.
val page_proof_encoding : page_proof Data_encoding.t
An encoding for the proof of a page.
val pages_per_slot : parameters -> int
pages_per_slot t
returns the number of expected pages per slot.
val verify_page :
t ->
commitment ->
page_index:int ->
page ->
page_proof ->
(bool, [> `Segment_index_out_of_range | `Page_length_mismatch ]) Result.t
verify_page t srs commitment page page_proof
returns Ok true
if the proof
certifies that the slot_page
is indeed included in the slot committed with commitment commitment
. Returns Ok
false
otherwise.
Fails if the index of the page is out of range or if the page is not of the expected length page_size
given for the initialisation of t
.