Make.Dal
Parameters to build a value of type t
val make : parameters -> (t, [> `Fail of string ]) Pervasives.result
make
precomputes the set of values needed by cryptographic primitives defined in this module and store them in a value of type t
type commitment = Mavryk_crypto_dal.Cryptobox.Verifier.commitment
Commitment to a polynomial.
module Commitment : sig ... end
A proof that the polynomial associated to some commitment is bounded by a constant.
val commitment_proof_encoding : commitment_proof Data_encoding.t
An encoding for the proof of a commitment.
val verify_commitment : t -> commitment -> commitment_proof -> bool
verify_commitment srs commitment proof
checks whether commitment
is a valid commitment
. In particular, it check that the size of the data committed via commitment
do not exceed C.slot_size
. The verification time is constant.
The original slot can be split into a list of pages of size page_size
. A page is consequently encoded as a pair of an index
and the content of this page.
val page_proof_encoding : page_proof Data_encoding.t
An encoding for the proof of a page.
val verify_page :
t ->
commitment ->
page ->
page_proof ->
(bool,
[> `Degree_exceeds_srs_length of string | `Segment_index_out_of_range ])
Result.t
verify_page t 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.