Consensus Implementation
Y Protocol implements a Simplified Proof-of-Stake (SPoS) consensus mechanism with Byzantine fault tolerance and validator slashing.
2/3+ Majority
BFT
Slashing
Core Implementation
SimplePOSConsensus Structure
Core consensus engine implementation
pub struct SimplePOSConsensus {
pub validator_votes: HashMap<String, ValidatorVote>,
pub block_proposals: HashMap<u64, Block>,
pub consensus_threshold: f64, // 0.67 (2/3 majority)
pub current_height: u64,
pub active_validators: Vec<ValidatorInfo>,
pub vote_history: HashMap<u64, HashMap<String, ValidatorVote>>,
pub slashing_manager: Option<Arc<Mutex<SlashingManager>>>,
}Source: /crates/consensus/src/consensus/pos.rs
Voting Mechanism
Consensus Threshold:
67% (2/3+ majority)
Voting Window:
2 seconds
Block Finality:
Single Slot
Validators vote on proposed blocks. Blocks are finalized when 2/3+ majority is reached.
Network Timing
Block Time Target:
4 seconds
Proposal Phase:
1.33 seconds
Voting Phase:
1.33 seconds
Finalization Phase:
1.33 seconds
Network phases: Proposal → Voting → Finalization → Broadcast
Validator Management
Requirements
Minimum Stake:
10,000 YPC
Selection Weight Cap:
1M YPC
Uptime Requirement:
95%+
Slashing Conditions
Double Signing:
5% slash
Invalid Block:
2% slash
Extended Downtime:
1% slash
Selection Algorithm
Stake-weighted random selection
Validators are selected based on their stake proportion, with a maximum weight cap for decentralization.
Consensus Process
Block Consensus Flow
Step-by-step consensus mechanism
1
Validator Selection
Stake-weighted random selection chooses block proposer
2
Block Proposal
Selected validator proposes new block with transactions
3
Voting Phase
Validators vote on the proposed block (3-second window)
4
Block Finalization
Block finalized when 2/3+ majority votes received
5
Reward Distribution
Block rewards and fees distributed to participants
Security Features
Byzantine Fault Tolerance
- Tolerates up to 33% malicious validators
- Double-spend protection
- Long-range attack mitigation
- Nothing-at-stake prevention
Implementation Details
- No chain reorganizations
- Finality achieved once 2/3+ validators reach consensus
- Slashing for misbehavior
- Vote history tracking