Expand description
§GKR Air Module
The GKR protocol reduces a fractional sum claim $\sum_{y \in H_{\ell+n}} \frac{\hat{p}(y)}{\hat{q}(y)} = 0$ to evaluation claims on the input layer polynomials at a random point. This is done through a layer-by-layer recursive reduction, where each layer uses a sumcheck protocol.
The GKR Air Module verifies the [GkrProof] struct and
consists of four AIRs:
- GkrInputAir - Handles initial setup, coordinates other AIRs, and sends final claims to batch constraint module
- GkrLayerAir - Manages layer-by-layer GKR reduction (verifies
verify_gkr) - GkrLayerSumcheckAir - Executes sumcheck protocol for each layer (verifies
verify_gkr_sumcheck) - GkrXiSamplerAir - Samples additional xi randomness challenges if required
§Architecture
┌─────────────────┐
│ │───────────────────► TranscriptBus
│ GkrXiSamplerAir │
│ │───────────────────► XiRandomnessBus
└─────────────────┘
▲
┆
GkrXiSamplerBus ┆
┆
▼
┌─────────────────┐
│ │───────────────────► TranscriptBus
│ │
GkrModuleBus ────────────────►│ GkrInputAir │───────────────────► ExpBitsLenBus
│ │
│ │───────────────────► BatchConstraintModuleBus
└─────────────────┘
┆ ▲
┆ ┆
GkrLayerInputBus ┆ ┆ GkrLayerOutputBus
┆ ┆
▼ ┆
┌─────────────────────────┐
│ │──────────────► TranscriptBus
┌┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄│ GkrLayerAir │
┆ │ │──────────────► XiRandomnessBus
┆ └─────────────────────────┘
┆ ┆ ▲
┆ ┆ ┆
┆ GkrSumcheckInputBus ┆ ┆ GkrSumcheckOutputBus
┆ ┆ ┆
┆ ▼ ┆
┆ GkrSumcheckChallengeBus ┌─────────────────────────┐
┆┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄│ │──────────────► TranscriptBus
┆ │ GkrLayerSumcheckAir │
└┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄►│ │──────────────► XiRandomnessBus
└─────────────────────────┘Modules§
Structs§
- GkrModule
- GkrSumcheck
Challenge Bus - GkrSumcheck
Challenge Message - Message for passing challenges between consecutive sumcheck sub-rounds
- GkrSumcheck
Input Bus - GkrSumcheck
Input Message - Message sent from GkrLayerAir to GkrLayerSumcheckAir
- GkrSumcheck
Output Bus - GkrSumcheck
Output Message - Message sent from GkrLayerSumcheckAir to GkrLayerAir