go-ipa is a library of cryptographic primitives for Verkle Trees.
go-ipa implements the Verkle Tree cryptography spec with extra optimizations.
The includes:
- Implementation of the Bandersnatch curve, and Banderwagon prime-order group.
- Pedersen Commitment for vector commitments using precomputed tables.
- Inner Product Argument prover and verifier implementations for polynomials in evaluation form.
- Multiproof prover and verifier implementations.
It's extremely important that clients using this library for Verkle Tree implementations only use the following packages:
common
for general utility functions.banderwagon
for the prime-order group.ipa
for proof generation and verification.
Do not use the bandersnatch
package directly nor use unsafe functions to get into banderwagon
internals. Doing so can create a security vulnerability in your implementation.
To run the tests and benchmarks, run the following commands:
$ go test ./...
To run the benchmarks:
go test ./... -bench=. -run=none -benchmem
If you find any security vulnerability, please don't open a GH issue and contact repo owners directly.
MIT and Apache 2.0.