Module nodes

Module nodes 

Source
Expand description

Module for nodes that can be added to a circuit DAG

Modules§

circuit_inputs
Nodes that represent inputs to a circuit in the circuit DAG.
circuit_outputs
The nodes that represent circuit outputs in the circuit DAG
fiat_shamir_challenge
The FiatShamirChallengeNode is a node that represents when the verifier has to send challenges to the prover, which it samples via the Fiat-Shamir transformation.
gate
A Module for adding Gate Layers to components
identity_gate
A module providing identity gate functionality. For rerouting values from one layer to another in an arbitrary fashion.
lookup
Nodes that implement LogUp.
matmult
A Module for adding Matmult Layers to components
node_enum
A default Enum for a representation of all possible DAG Nodes
sector
The basic building block of a regular gkr circuit. The Sector node
split_node
A node that splits a single MLE into 2^num_vars smaller MLEs using prefix bits.

Structs§

Fr
This represents an element of $\mathbb{F}_r$ where
NodeId
The circuit-unique ID for each node

Enums§

Either
The enum Either with variants Left and Right is a general purpose sum type with two cases.

Traits§

CircuitNode
A Node in the directed acyclic graph (DAG). The directed edges in the DAG model the dependencies between nodes, with the dependent node being the target of the edge and the dependency being the source.
CompilableNode
A Node that contains the information neccessary to Compile itself
Field
The primary finite field used within a GKR circuit, as well as within sumcheck. Note that the field’s size should be large enough such that depth(C) * deg(C) / |F| bits of computational soundness is considered secure, where depth(C) is the depth of the GKR circuit and deg(C) is the maximum degree of any layerwise polynomial relationship.