Module layer

Module layer 

Source
Expand description

A layer is a combination of multiple MLEs with an expression.

Modules§

combine_mles
This module contains the code used to combine parts of a layer and combining them to determine the evaluation of a layer’s layerwise bookkeeping table at a point.
gate
module for defining the gate layer, uses the libra trick to reduce the number of rounds for gate layers (with binary operations)
identity_gate
Identity gate id(z, x) determines whether the xth gate from the i + 1th layer contributes to the zth gate in the ith layer.
layer_enum
Helper struct that combines multiple Layer implementations into a single struct that can represent many types of Layer
matmult
This module contains the implementation of the matrix multiplication layer
product
Standardized expression representation for oracle query (GKR verifier) + determining necessary proof-of-products (Hyrax prover + verifier)
regular_layer
The implementation of RegularLayer

Enums§

LayerError
Errors to do with working with a type implementing Layer.
LayerId
The location of a layer within the GKR circuit
VerificationError
Errors to do with verifying a layer while working with a type implementing VerifierLayer.

Traits§

Layer
A layer is the smallest component of the GKR protocol.
LayerDescription
A circuit-description counterpart of the GKR Layer trait.
VerifierLayer
A verifier counterpart of a GKR Layer trait.