Overview
op-challenger watches the games created through theDisputeGameFactory (on
a fault proof chain, every output proposal is a dispute game). Checking each
claim against a trusted, synced rollup node, it defends proposals it agrees
with, posts counterclaims against those it does not, resolves claims and
games once the game clocks expire, and claims the bonds paid out to it. When
a dispute is bisected down to a single VM instruction, op-challenger runs the
fault proof VM, cannon, executing kona-client
with kona-host serving preimage data, to prove that instruction onchain. For
a deeper walkthrough of this behavior, see the
OP-Challenger explainer.
It exists because fault proofs only secure withdrawals if someone actually
responds to invalid claims before the game clocks run out. op-challenger is
the implementation of the dispute protocol’s honest actor: it defends the
chain by ensuring games resolve to the correct state, which is what the
OptimismPortal ultimately trusts for withdrawals.
Who runs it: chain operators run at least one challenger to defend their
chain, and on a permissionless fault proof chain anyone can run one. A
challenger needs a synced, trusted rollup node to verify claims against, and
a funded account to post bonds from.
Get started
- Spin up challenger: set up and configure op-challenger as part of standing up an OP Stack chain.
How-tos
- How to configure challenger for your chain: the configuration options that matter in production.
- Run a fault-proof challenger: the whole operational path in one pass: bond budgeting, prestate selection, infrastructure, configuration, and monitoring.
- Generating absolute prestate and preimage files: build and verify the prestate op-challenger runs at dispute time.
- Migrating to permissionless fault proofs: upgrade and test op-challenger as part of the migration.
Configuration & flags reference
- Challenger configuration reference: every CLI flag and environment variable, with flag tables generated from the op-challenger release named on the page. The configuration guide above covers the production-relevant options.
Releases
Source & spec links
- Source:
op-challenger/in the Optimism monorepo; its README documents the quickstart and the manual-testing subcommands (create-game,move,resolve,list-games,run-trace, and more). - Honest challenger specification: the normative behavior op-challenger implements.
- Fault dispute game specification: the game it plays.