Skip to main content

Block Validation

Nexis Appchain uses the OP Stack fault proof system to ensure all blocks are valid. Unlike traditional consensus where nodes vote on validity, Nexis uses an optimistic approach: blocks are assumed valid unless proven otherwise.

Overview

Optimistic Validation

Blocks are assumed valid by default, executed immediately

Challenge Period

7-day window for anyone to dispute invalid state

Fault Proof Game

Bisection game narrows disputes to single instruction

Economic Security

Bonds ensure honest behavior from proposers and challengers

Validation Architecture

State Proposal System

Output Root Submission

The proposer periodically submits state root commitments to Base L2:

Output Root Calculation

The output root is a commitment to the L3 state at a specific block:

Derivation and Verification

Any validator can independently derive the correct state and check proposals:

Derivation Process

Automatic Monitoring

Validators run continuous monitoring to detect invalid proposals:

Fault Proof Game

When a validator challenges an invalid proposal, a bisection game begins:

Game Phases

1

Claim Submission

Challenger submits their claimed correct output root with a bond
2

Bisection

Proposer and challenger iteratively narrow down the point of disagreement
3

Single Step Proof

Game converges to a single instruction execution
4

On-Chain Execution

Disputed instruction is executed on-chain in a VM
5

Resolution

Winner receives both bonds, loser is slashed

Bisection Algorithm

Bisection Example

Let’s trace through a dispute:

Challenge Period

All proposals must survive a 7-day challenge period before finalization:

Timeline

Finalization Check

Withdrawal Delays

Due to the challenge period, withdrawing from Nexis L3 to Base L2 (and subsequently to Ethereum L1) requires waiting:

Withdrawal Process

1

Initiate on L3

User calls L2ToL1MessagePasser.initiateWithdrawal() on Nexis
2

Wait for Proposal

Wait for proposer to include withdrawal in a state root (~4 minutes)
3

Challenge Period

Wait 7 days for challenge period to pass
4

Prove on L2

Submit Merkle proof of withdrawal to Base L2
5

Finalize

Claim withdrawal after proof verification

Withdrawal Example

Fast Withdrawal Services

To avoid 7-day delays, users can use fast withdrawal services (liquidity providers):

Security Considerations

Economic Security

The fault proof system is secured by economic incentives: Attack Cost: To finalize an invalid state, attacker must:
  1. Post 1 ETH bond as proposer
  2. Defeat all challengers in bisection games
  3. Wait 7 days without valid challenges
Defense Cost: Any honest validator can challenge with 1 ETH

Validator Incentives

Running a validator is currently altruistic, but benefits include:
  • Protect your own assets/contracts
  • Earn trust as a verifier
  • Future: Direct rewards for successful challenges

Griefing Resistance

The system is designed to resist griefing attacks:

Monitoring Tools

Validator Dashboard

Learn More

Fault Proofs Deep Dive

Detailed mechanics of the dispute game

Run a Validator

Setup guide for running your own validator

Consensus Mechanism

How blocks are produced and ordered

Infrastructure Overview

Complete architecture documentation

Always wait for finalization before processing high-value operations! The 7-day challenge period is a critical security feature.