System Overview
Kleros V2 uses a modular architecture where specialized contracts handle specific responsibilities:Core Components
KlerosCore
The orchestrator. Manages the dispute lifecycle and coordinates between modules.| Responsibility | Description |
|---|---|
| Dispute creation | Accepts disputes from arbitrable contracts |
| Period management | Moves disputes through evidence → vote → appeal → execution |
| Fee collection | Collects and distributes arbitration fees |
| Court configuration | Stores court parameters (timing, fees, stakes) |
Sortition Module
Handles juror selection using weighted randomness. Key concepts:- Sortition Tree: Data structure mapping staked PNK to selection probability
- Phases: Staking → Generating → Drawing (prevents RNG manipulation)
- Delayed Stakes: Stake changes queue until the drawing phase completes
Dispute Kits
Modular voting mechanisms. The protocol ships with DisputeKitClassic but supports custom implementations.| Kit | Mechanism | Use Case |
|---|---|---|
| Classic | Plurality voting, proportional to stake | Default for all courts |
| Sybil Resistant | Requires Proof of Humanity | One-person-one-vote disputes |
| Gated | Requires token holdings | Specialized community disputes |
- Commit-reveal voting (optional, per court)
- Coherence-based rewards (vote with majority = keep stake)
- Appeal crowdfunding
Gateways (Cross-Chain)
Enable disputes from other chains to be resolved on Arbitrum.- Arbitrable on mainnet calls Foreign Gateway
- Message bridged to Home Gateway on Arbitrum
- Dispute resolved on Arbitrum
- Ruling bridged back to mainnet
Dispute Lifecycle
Court Hierarchy
Courts form a tree. Appeals can “jump” to parent courts when juror count exceeds threshold. Court parameters:minStake: Minimum PNK to stakefeeForJuror: ETH fee per juror per roundjurorsForCourtJump: Threshold to appeal to parent courttimesPerPeriod: Duration of each dispute period
Data Flow
Creating a Dispute
Executing a Ruling
Security Model
| Mechanism | Purpose |
|---|---|
| Stake-weighted selection | Sybil resistance need PNK to participate |
| Coherence incentives | Vote with majority to keep stake, lose stake if incoherent |
| Appeals | Multiple rounds catch errors, increases cost of attacks |
| Phase system | Prevents RNG manipulation |
| Guardian/Governor | Emergency pause capability |
Key Addresses (Arbitrum One)
| Contract | Purpose |
|---|---|
| KlerosCore | Main arbitrator |
| SortitionModule | Juror selection |
| DisputeKitClassic | Default voting |
| DisputeTemplateRegistry | Template storage |
| EvidenceModule | Evidence tracking |
For current addresses, check the kleros-v2 deployment files.