4101648253
We ensure we are below the modulus by just using a zero final byte for each field element encoding. In the test, I do not understand why changing the final (zero) byte causes verification to succeed instead of failing. But this is why the change is now to the first byte. |
||
---|---|---|
.github/workflows | ||
bindings | ||
blst@6382d67c72 | ||
inc | ||
lib | ||
src | ||
.gitignore | ||
.gitmodules | ||
LICENSE | ||
README.md | ||
blst_sha.patch |
README.md
C-KZG-4844: A minimal library for EIP-4844 Polynomial Commitments
This is a copy of C-KZG stripped down to support the Polynomial Commitments API:
compute_aggregate_kzg_proof
verify_aggregate_kzg_proof
blob_to_kzg_commitment
verify_kzg_proof
We also provide load_trusted_setup
and free_trusted_setup
to load the
trusted setup data from a file into an object that can be passed to the API
functions, and functions for converting commitments/proofs/points to/from bytes.
Installation
Install the blst submodule
git submodule update --init
Build blst
cd src
make blst
Build the C-KZG code
cd src
make