Validation & Consensus
This document describes the validator consensus mechanism in NCN Network v2, including preprocessing validation, completion validation, and the M-of-N signature scheme.
Overview
Validators provide decentralized verification of inference requests and results, ensuring:
Fair Pricing: Payment amounts are correctly calculated
Node Selection: Compute nodes are capable and available
Result Integrity: Computation results are valid
Payment Security: Funds are distributed correctly
┌─────────────────────────────────────────────────────────────────────────────┐
│ Validator Consensus Flow │
│ │
│ Request Preprocessing Completion │
│ ┌─────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Gateway │───────────▶│ Validator │──────────▶│ Validator │ │
│ │ │ │ Consensus │ │ Consensus │ │
│ └─────────┘ │ (M-of-N) │ │ (M-of-N) │ │
│ └──────┬──────┘ └──────┬──────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌─────────────┐ ┌─────────────┐ │
│ │ Payment │ │ Payment │ │
│ │ Initiation │ │Distribution │ │
│ └─────────────┘ └─────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘M-of-N Signature Scheme
Configuration
N
5
Total validators selected per request
M
3
Minimum signatures required
Quorum
60%
M/N ratio
Why M-of-N?
Fault Tolerance: Network continues if some validators offline
Byzantine Resistance: Requires majority for malicious action
Availability: Doesn't wait for slow validators
Decentralization: No single point of failure
Signature Aggregation
Validator Pool
ValidatorInfo Structure
Validator Registration
Selection Strategies
Random
Uniform random selection
Default
Reputation
Highest reputation first
Quality priority
Stake
Highest stake first
Economic security
Performance
Best success rate
Reliability
Weighted
Stake + reputation weighted
Balanced
Selection Algorithm
Preprocessing Validation
Purpose
Verify request setup before client payment:
Gateway legitimacy
Compute node availability
Payment calculation correctness
Request parameter validity
Process
Validation Message
Validators sign a deterministic message:
PreprocessingValidation Structure
Completion Validation
Purpose
Verify computation results after execution:
Compute node signature validity
Result format correctness
Computation time reasonableness
Result integrity
Process
Completion Message
Validators sign:
CompletionValidation Structure
Reputation System
Reputation Score
Each validator has a reputation score (0-100):
Successful validation
+1 point
Failed validation
-2 points
Timeout (no response)
-5 points
Slashing event
-20 points
Minimum stake maintained
Required
Reputation Updates
Minimum Reputation
Validators below minimum reputation (default: 20) are:
Excluded from selection
Must stake more or wait for recovery
Can appeal through governance
Slashing Conditions
Slashable Offenses
Invalid signature
High
50% stake
Colluding with compute node
Critical
100% stake
Approving invalid result
High
30% stake
Prolonged downtime
Medium
10% stake
Front-running requests
High
50% stake
Slashing Process
Slash Implementation
Validator Rotation
Purpose
Prevent validator centralization and ensure fairness.
Rotation Schedule
Rotation Frequency
Hourly rotation
Time-based
Reputation check
After each validation
Stake change
On-chain event
Manual intervention
Governance action
Mempool
Purpose
Temporary storage for pending validations:
TTL (Time-to-Live)
Pending Request
10 min
Await preprocessing
Preprocessing
15 min
Await payment
Completion
5 min
Await finalization
Cleanup
Configuration
Validator Settings
Sync Settings
Monitoring
Key Metrics
validators_active
Currently active validators
validators_total
Total registered validators
validations_preprocessing_total
Preprocessing validations
validations_completion_total
Completion validations
consensus_reached_total
Successful consensus
consensus_failed_total
Failed consensus
average_reputation
Mean reputation score
Health Checks
Next Steps
Payment Flow - Payment mechanics
Security Model - Security architecture
P2P Registry - Registry implementation
Last updated
