Crate remainder

Crate remainder 

Source
Expand description

Remainder: A fast GKR based library for building zkSNARKS for ML applications

Re-exports§

pub use shared_types;

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) or ExampleStruct)
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