Implement validator jailing when <50% uptime (vote: for / against, start vote in week)

We need this implemented asap so protocol can keep running in case we loose many validators following end of validators subsidy vote.

Any other protocol updates should be postponed for when DAO is up and running.

How to ?

Repository 1: babylon-node-develop (4 weeks)

Purpose: Track uptime and provide metrics to engine

Key Changes:

  • Add uptime tracking infrastructure

  • Create uptime monitoring service

  • Expose metrics via Prometheus/API

  • Log violations

Files: ~12 files, ~1500-2000 lines


Repository 2: radixdlt-scrypto-develop (4 weeks)

Purpose: Filter validator set and jail underperforming validators

Key Changes:

  • Add uptime fields to ValidatorSubstate

  • Modify validator set computation (lines 1220-1231) to filter by uptime

  • Add min_validator_uptime_percentage config (default: 50%)

  • Implement automatic jailing logic

  • Add jailing events

Files: ~8 files, ~500-800 lines


Roadmap: 10 weeks (~2.5 months)

Phase Duration Focus
Phase 1 2 weeks Foundation - Uptime tracking
Phase 2 1 weeks Monitoring - Detection & logging
Phase 3 2 weeks Jailing Logic - Core implementation
Phase 4 1 weeks Testing - Comprehensive test suite
Phase 5 1 weeks Protocol Update Prep - Documentation
Phase 6 1 weeks Testnet Deployment - Validation
Phase 7 2 weeks Mainnet Deployment - Protocol update

Critical Implementation Point

File: radix-engine/src/blueprints/consensus_manager/consensus_manager.rs (Lines 1220-1231)

Current: Selects validators by stake only

New: Filter by uptime threshold before selection

This is the critical change that enables automatic jailing.

4 Likes

lets start this process please guys :fire:

  • design document
  • volunteers to monitor & debug

more info from 0xOmar

2 Likes