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 Nexis2
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:
- Post 1 ETH bond as proposer
- Defeat all challengers in bisection games
- Wait 7 days without valid challenges
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