Skip to content

Execution modes

When indexers produce a subgrove’s data, Willow has to be sure they produced it correctly. The execution mode chooses how that’s guaranteed. You set execution_mode on the BlockchainIndexing mode when you register (alongside the manifest), and it defaults to ConsensusExecution.

The modes trade off assurance against cost: stronger verification means more work per block.

Validators re-execute the indexing for every block and compare against what the indexers submitted. Anything that doesn’t match is rejected. This is the strongest guarantee — the network itself recomputes the result — and also the heaviest, so it suits high-value datasets.

This is the default, and the mode the canonical subgroves run today.

"execution_mode": "ConsensusExecution"

Indexers execute the work and the network verifies a sample of their output rather than every block. You set sampling_rate_percent (0–50); higher means more checking. Much cheaper and scales to high-volume indexing, at the cost of probabilistic rather than total verification.

"execution_mode": { "IndexerExecution": { "sampling_rate_percent": 5 } }

Indexing runs inside a Trusted Execution Environment, and the result is backed by a hardware attestation proving the expected code produced it — strong assurance without full re-execution. tee_type is AwsNitro or IntelSgx (both supported today; AmdSev is not yet).

"execution_mode": { "TeeExecution": { "tee_type": "AwsNitro" } }

Execution is accompanied by a GKR proof — a cryptographic proof that the computation was performed correctly, checkable without redoing the work.

"execution_mode": "GkrExecution"

A folding-scheme mode aimed at fast verification of large historical ranges. It takes tuning parameters (codeword_log_n, n_ood, n_shifts).

"execution_mode": { "WarpExecution": { "codeword_log_n": 20, "n_ood": 2, "n_shifts": 4 } }
ModeVerificationRelative costGood for
ConsensusExecutionFull re-execution by validatorsHighestHigh-value data; the default
IndexerExecutionSampled checks (0–50%)LowestHigh-volume indexing
TeeExecutionHardware attestationMediumStrong assurance without re-execution
GkrExecutionSuccinct GKR proofHighPrivacy of inputs
WarpExecutionFolding-scheme proofMediumFast historical-range verification