Fault Proofs
Nexis Appchain’s security model relies on fault proofs, a mechanism that allows anyone to challenge invalid state transitions. This document explains the technical details of how the fault proof game works.Overview
Optimistic Security
State roots are assumed valid unless proven wrong
Bisection Game
Binary search to narrow disputes to a single instruction
73-Step Depth
Maximum game depth allows 2^73 instruction traces
Economic Bonds
Both parties stake ETH, winner takes all
How Fault Proofs Work
The Problem
Traditional blockchains validate every transaction on every node. This is secure but expensive. Rollups optimize by executing transactions off-chain and only posting commitments on-chain. But how do we ensure these commitments are correct? Fault Proofs: Instead of validating everything, we optimistically assume correctness and allow anyone to prove incorrectness.The Solution
The Fault Proof Game
Game Structure
The fault proof game is a turn-based bisection protocol that narrows a disagreement over an entire execution trace to a dispute over a single instruction. Players:- Proposer: Claims state root X is correct at block N
- Challenger: Claims state root Y is correct at block N
- Identify the exact instruction where they disagree
- Execute that instruction on-chain to determine who’s right
Game Tree
Bisection Depth
Why 73 levels?Implementation
Dispute Game Contract
Fault Dispute Game
Position Encoding
The position in the game tree is encoded as(depth, indexAtDepth):
MIPS VM
At the deepest level of the game, a single instruction must be executed on-chain. Nexis uses a MIPS emulator for this:Why MIPS?
- Simple ISA: Easy to implement on-chain
- Deterministic: No undefined behavior
- Well-supported: Go, Rust, C all compile to MIPS
- Small: Minimal on-chain execution cost
On-Chain Execution
Example: Dispute Resolution
Economic Security
The fault proof system is secured by economic incentives:Bond Mechanics
Attack Cost Analysis
To successfully attack the network with an invalid state: Attacker Costs:- Proposer bond: 1 ETH
- Must defeat all challengers in bisection games
- Each honest challenger requires defeating: +1 ETH
- With N honest challengers: N+1 ETH total
- Single honest validator: 1 ETH bond
- If correct, receives attacker’s bond: +1 ETH profit
- As long as one honest party exists with 1 ETH, attacks fail
- Attacker loses all bonds
- Network remains secure
Griefing Resistance
Learn More
Block Validation
How blocks are validated and finalized
Consensus Mechanism
Understand the consensus architecture
Run a Validator
Help secure the network
Infrastructure Overview
Complete architecture documentation
Want to deep dive into MIPS VM? Check out the Optimism Cannon documentation which Nexis builds upon.