Skip to main content

ULedgerNET Consensus Mechanism

Overview

ULedgerNET employs a Council-Based Byzantine Fault Tolerant (BFT) consensus mechanism. This design provides immediate finality, deterministic leader election, and resilience against Byzantine failures up to ⅓ of participating nodes.

Consensus Model

Council Structure

The consensus is managed by a council of authorized nodes that participate in block production and validation.

Key Properties

PropertyValueDescription
Consensus Threshold66.67% (⅔)Required votes for block finalization
Minimum Council Size3 nodesMinimum for Byzantine fault tolerance
Fault Tolerancef < n/3Can tolerate up to ⅓ malicious nodes
FinalityImmediateNo probabilistic confirmation required

Three-Phase Voting Protocol

ULedgerNET uses a three-phase commit protocol to achieve consensus:

Phase Details

Phase 1: PreVote

Validation Checks:

  • Block hash integrity
  • Valid leader signature
  • Correct block height
  • Valid Merkle proof
  • ZK proof verification

Phase 2: PreCommit

Phase 3: Commit

Leader Election

Deterministic Selection

The leader for each voting round is selected deterministically based on:

  • Previous block hash
  • Block height
  • Current round number

Leader Rotation

Properties:

  • Unpredictable more than one block ahead (depends on block hash)
  • Deterministic given the same inputs
  • Rotates on round timeout for liveness

Timeout and Recovery

Timeout Mechanism

Recovery Scenarios

ScenarioRecovery Action
Leader OfflineRound timeout → New leader election
Network PartitionContinue with available ⅔ majority
Malicious LeaderVotes rejected → Round timeout
Slow NetworkConfigurable timeout duration

Vote Structure

Each vote in the protocol contains:

Vote Validation

  1. Structural Validation

    • Voter is in council
    • Correct vote stage
    • Matching round number
    • Valid block height
  2. Cryptographic Validation

    • Signature verification using voter's public key
    • Message integrity check

Consensus Flow Diagram

Council Management

Joining the Council

Leaving the Council

Performance Considerations

Optimizations

  1. Vote Batching: Pending votes are queued and processed in batches
  2. Proposal Buffer: Future proposals are buffered for out-of-order delivery
  3. Parallel Validation: Block validation happens concurrently across council

Scalability

Council SizeConsensus MessagesLatency Impact
3 nodes~6 per blockBaseline
5 nodes~10 per block+10-20%
10 nodes~20 per block+30-50%
20+ nodes~40+ per blockConsider sharding

Next: Cross-Merkleization