Expand description
Remainder: A fast GKR based library for building zkSNARKS for ML applications
Re-exports§
Modules§
- circuit_
building_ context - For assigning ids to nodes and various sorts of layers.
- circuit_
layout - Defines the utilities for taking a list of nodes and turning it into a layedout circuit
- claims
- Utilities involving the claims a layer makes.
- expression
- This module describes the “regular”-style polynomial relationships described within https://eprint.iacr.org/2013/351.pdf, Theorem 1 on page 25.
- input_
layer - InputLayer and InputLayerDescription structs, as well as public- and ligero- input layers and fiat-shamir challenges.
- layer
- A layer is a combination of multiple MLEs with an expression.
- mle
- An Mle is a Multilinear Extension that contains a more complex type (i.e.
T, or(T, T)orExampleStruct) - output_
layer - An GKR Output Layer is a “virtual layer”. This means it is not assigned a fresh LayerId. Instead, it is associated with some other intermediate/input layer whose LayerId it inherits. The MLE it stores is a restriction of an MLE defining its associated layer.
- provable_
circuit - Defines the utilities for taking a list of nodes and turning it into a layedout circuit
- prover
- Modules that orchestrate creating a GKR Proof
- sumcheck
- Contains cryptographic algorithms for going through the sumcheck protocol in the context of a GKR prover.
- utils
- Module for useful functions
- verifiable_
circuit - Defines the utilities for taking a list of nodes and turning it into a layedout circuit
Macros§
- layer_
enum - This macro generates a layer enum that represents all the possible layers Every layer variant of the enum needs to implement Layer, and the enum will also implement Layer and pass methods to it’s variants