In this document, we describe the API that the cryptography layer needs to expose to the verkle trie layer. If you are creating a verkle trie implementation without the cryptography fully being implemented, you can mock the following APIs.
We define a Elliptic curve over a base field with a scalar field .
The group exposed by must have prime order. This is so that the verkle trie logic does not need to worry about subgroup attack vectors.
The group exposes two algorithm:
MapToFieldBytes returns a byte string so that the verkle trie library does not need to be concerned with , only is exposed through the API.
The multipoint scheme exposes three algorithms:
is the commitment to the function and is produced by using the algorithm.
The API surface that the cryptography layer exposes to the verkle trie layer is very small; five methods. We note that in some cases, and can uses the same function. The reason why we have two exposed algorithms is because is also expected to be zero knowledge friendly for when we provide a proof of execution for verkle trees, while does not need to be.