Files
smom-dbis-138/docs/azure/GEO-AWARE-COMMITTEE-CONFIG.md
defiQUG 1fb7266469 Add Oracle Aggregator and CCIP Integration
- Introduced Aggregator.sol for Chainlink-compatible oracle functionality, including round-based updates and access control.
- Added OracleWithCCIP.sol to extend Aggregator with CCIP cross-chain messaging capabilities.
- Created .gitmodules to include OpenZeppelin contracts as a submodule.
- Developed a comprehensive deployment guide in NEXT_STEPS_COMPLETE_GUIDE.md for Phase 2 and smart contract deployment.
- Implemented Vite configuration for the orchestration portal, supporting both Vue and React frameworks.
- Added server-side logic for the Multi-Cloud Orchestration Portal, including API endpoints for environment management and monitoring.
- Created scripts for resource import and usage validation across non-US regions.
- Added tests for CCIP error handling and integration to ensure robust functionality.
- Included various new files and directories for the orchestration portal and deployment scripts.
2025-12-12 14:57:48 -08:00

9.0 KiB
Raw Blame History

Geo-Aware Committee Configuration

Overview

This document defines the geo-aware validator committee configuration for the 36-region global deployment. The configuration optimizes consensus performance by organizing validators into latency-aware rings and assigning primary vs. backup roles.


🎯 Consensus Strategy

Primary Producing Validators (60-70%)

Geographic Distribution:

  • Europe Ring: 6 primary regions × 2 validators = 12 validators
  • Asia Pacific Ring: 5 primary regions × 2 validators = 10 validators
  • Subtotal: 22 validators (46% of total, ~60% of producing capacity)

Selection Criteria:

  • Regions with lowest inter-region latency
  • Well-connected network infrastructure
  • Strategic geographic positioning

Geo-Distributed Backup Validators (30-40%)

Geographic Distribution:

  • Europe: 8 remaining regions × 1 validator = 8 validators
  • Asia Pacific: 8 remaining regions × 1 validator = 8 validators
  • Middle East: 3 regions × 1 validator = 3 validators
  • Americas: 4 remaining regions × 1 validator = 4 validators
  • Africa: 1 region × 1 validator = 1 validator
  • Primary regions (backup): 12 regions × 1 validator = 12 validators (second validator acts as backup)
  • Subtotal: 36 backup validators

Selection Criteria:

  • Geographic diversity for resilience
  • Regional coverage for compliance
  • Backup capacity for fault tolerance

🌍 Latency-Aware Rings

Ring 1: Europe (14 regions)

Primary Validators (12):

  • West Europe (2 validators)
  • North Europe (2 validators)
  • France Central (2 validators)
  • Germany West Central (2 validators)
  • UK South (2 validators)
  • Switzerland North (2 validators)

Backup Validators (8):

  • UK West (1 validator)
  • Sweden Central (1 validator)
  • Norway East (1 validator)
  • Poland Central (1 validator)
  • Spain Central (1 validator)
  • Italy North (1 validator)
  • Austria East (1 validator)
  • Belgium Central (1 validator)

Characteristics:

  • Very tight RTT between regions (typically < 50ms)
  • Ideal for fast consensus rounds
  • High bandwidth connectivity

Ring 2: Asia Pacific (13 regions)

Primary Validators (10):

  • East Asia (2 validators)
  • Southeast Asia (2 validators)
  • Japan East (2 validators)
  • Australia East (2 validators)
  • Central India (2 validators)

Backup Validators (8):

  • Japan West (1 validator)
  • Korea Central (1 validator)
  • Korea South (1 validator)
  • Australia Southeast (1 validator)
  • New Zealand North (1 validator)
  • West India (1 validator)
  • Indonesia Central (1 validator)
  • Malaysia West (1 validator)

Characteristics:

  • Regional clustering for APAC optimization
  • Lower inter-region latency within clusters
  • Strategic positioning for APAC users

Ring 3: Middle East + Africa (4 regions)

Backup Validators (4):

  • UAE North (1 validator)
  • Qatar Central (1 validator)
  • Israel Central (1 validator)
  • South Africa North (1 validator)

Characteristics:

  • Regional coverage and compliance
  • Geographic diversity
  • Backup capacity for ME/Africa region

Ring 4: Americas Non-US (5 regions)

Primary Validators (2):

  • Canada Central (2 validators)

Backup Validators (4):

  • Canada East (1 validator)
  • Brazil South (1 validator)
  • Chile Central (1 validator)
  • Mexico Central (1 validator)

Characteristics:

  • Western hemisphere coverage
  • Strategic positioning for Americas users
  • Regional compliance support

📊 Committee Configuration

QBFT/IBFT2 Settings

Block Time: 2-4 seconds

  • Optimized for low-latency rings (2s for Europe/Asia primary)
  • Extended for geo-distributed backups (4s max)

Committee Selection:

  • Primary Committee: 12-15 validators (from primary regions)
  • Backup Committee: 8-12 validators (from backup regions)
  • Total Active: 20-27 validators per round

Rotation Strategy:

  • Primary validators: Active in 80% of rounds
  • Backup validators: Active in 20% of rounds (rotating)
  • Ensures all validators participate while maintaining low latency

Consensus Algorithm: IBFT 2.0

Configuration:

consensus:
  algorithm: IBFT2
  block_period: 2  # 2 seconds for primary regions
  epoch_length: 30000
  request_timeout: 10
  validator_selection:
    primary_weight: 70  # 70% of rounds use primary validators
    backup_weight: 30   # 30% of rounds use backup validators
    geo_aware: true     # Prefer same-ring validators for faster rounds

🔄 Validator Role Assignment

Primary Validators (22 total)

Producing Role:

  • Active in 70% of consensus rounds
  • Located in low-latency primary regions
  • Fastest block production times

Primary Regions (12):

  1. West Europe
  2. North Europe
  3. France Central
  4. Germany West Central
  5. UK South
  6. Switzerland North
  7. East Asia
  8. Southeast Asia
  9. Japan East
  10. Australia East
  11. Central India
  12. Canada Central

Backup Validators (26 total from remaining regions)

Backup Role:

  • Active in 30% of consensus rounds (rotating)
  • Located across all geographic regions
  • Ensures fault tolerance and geographic diversity

Remaining Regions (24):

  • All non-primary regions have 1 validator each (backup role)
  • Primary regions also have 1 validator in backup pool (second validator)

📈 Performance Optimization

Latency Optimization

Within-Ring Consensus:

  • When possible, select validators from same ring
  • Reduces cross-region latency
  • Faster block finality

Inter-Ring Communication:

  • Prefer adjacent rings for backup validators
  • Europe-Asia collaboration for global coverage
  • Americas-MEA for Western hemisphere

Fault Tolerance

Geographic Diversity:

  • No single region/ring failure can halt consensus
  • At least 3 validators per major geographic area
  • Redundant validators in critical regions

Resilience Targets:

  • Can withstand failure of 1 entire ring (backup validators activate)
  • Can withstand failure of 6 primary regions (12 validators)
  • Maintains consensus with 33%+ validator availability

🛠️ Implementation

Validator Selection Logic

type ValidatorRole string

const (
    ValidatorRolePrimary ValidatorRole = "primary"
    ValidatorRoleBackup  ValidatorRole = "backup"
)

type GeoRing string

const (
    GeoRingEurope   GeoRing = "europe"
    GeoRingAPAC     GeoRing = "apac"
    GeoRingMEAfrica GeoRing = "me-africa"
    GeoRingAmericas GeoRing = "americas"
)

func SelectValidators(round int, allValidators []Validator) []Validator {
    // 70% of rounds use primary validators
    usePrimary := (round % 10) < 7
    
    if usePrimary {
        return SelectPrimaryValidators(allValidators)
    }
    
    return SelectBackupValidators(allValidators)
}

func SelectPrimaryValidators(allValidators []Validator) []Validator {
    // Select from primary regions
    // Prefer same-ring for lower latency
    // Target: 12-15 validators from Europe + Asia primary regions
}

func SelectBackupValidators(allValidators []Validator) []Validator {
    // Rotate through backup regions
    // Ensure geographic diversity
    // Target: 8-12 validators from remaining regions
}

📊 Monitoring & Metrics

Key Metrics

Latency Metrics:

  • Average block time per ring
  • Inter-region round-trip time
  • Consensus round duration

Availability Metrics:

  • Primary validator uptime
  • Backup validator activation rate
  • Geographic coverage percentage

Performance Metrics:

  • Blocks per second (per ring)
  • Transaction throughput
  • Finality time

🔄 Rotation Schedule

Daily Rotation

  • 00:00-08:00 UTC: Europe primary emphasis
  • 08:00-16:00 UTC: Asia Pacific primary emphasis
  • 16:00-24:00 UTC: Balanced global distribution

Weekly Rotation

  • Monday-Wednesday: Primary validators (70% rounds)
  • Thursday-Saturday: Increased backup participation (40% rounds)
  • Sunday: Full diversity test (50/50 split)

📝 Configuration Files

Besu Genesis Configuration

{
  "config": {
    "ibft2": {
      "blockperiodseconds": 2,
      "epochlength": 30000,
      "requesttimeoutseconds": 10,
      "validatorselectionmode": "geo-aware",
      "primaryvalidatorweight": 0.7,
      "backupvalidatorweight": 0.3
    }
  }
}

Validator Registry

validators:
  primary:
    - region: westeurope
      validators: [validator1, validator2]
      role: primary
      ring: europe
    - region: northeurope
      validators: [validator3, validator4]
      role: primary
      ring: europe
    # ... (12 primary regions)
  
  backup:
    - region: ukwest
      validators: [validator25]
      role: backup
      ring: europe
    # ... (24 remaining regions)

🚀 Next Steps

  1. Geo-aware committee configuration defined
  2. Implement validator selection logic in Besu
  3. Configure IBFT2 geo-aware mode
  4. Set up rotation schedules
  5. Deploy monitoring for geo-aware metrics
  6. Test consensus with geo-aware validator selection

📚 References