Crate vector_commit

source ·
Expand description

vector-commit is a collection of traits for use in a vector commitment (VC) scheme. A vector of data (the dataset) is committed to with a binding property (you cannot change the dataset after commitment). One can then generate proofs of inclusion for the data to the commitment. These proofs can then verify that the data was indeed in the dataset committed to by the VC scheme.

Most VC schemes aim to generate constant or logarithmic sized proofs with efficient verification. Some VC scheme require a trusted setup in which parameters are generated for proving/verification. The binding property of these schemes is reliant on no one knowing the secret used in the trusted setup.

Modules

Traits

  • The dataset that a VC scheme will work over. This should include any preprocessing that is required
  • The proving and verification parameters for the VC scheme
  • A vector commitment schemes allows committing to a vector of data and generating proofs of inclusion.