Skip to main content

5.6 Immunity & Warm-Up

Immunity Period Scoring

WARMUP_TASK_THRESHOLD = 20

def get_miner_weight(miner_uid, tasks_seen, raw_score, subtensor, netuid, current_block):
immunity_period = subtensor.get_subnet_hyperparameters(netuid).immunity_period
reg_block = subtensor.neuron_for_uid(uid=miner_uid, netuid=netuid).block
blocks_since_reg = current_block - reg_block
is_immune = blocks_since_reg < immunity_period

if is_immune:
warmup_scale = min(1.0, tasks_seen / WARMUP_TASK_THRESHOLD)
return raw_score * warmup_scale
return raw_score

The 3× query frequency means most new miners reach the 20-task threshold within 1–2 tempos.

Validator Incentive Alignment

  • Stake at risk: Poor benchmark quality → weaker miners → lower Alpha demand
  • Deterministic consensus: Outlier validators detectable from weights matrix
  • Exec support access: Only validators meeting N_min receive subsidy
  • Delegation signal: Stakers monitor validator history via public dashboard

vtrust Bootstrap

New validators start with vtrust = 0.0. This is expected Bittensor behaviour:

  • vtrust begins climbing after tempo 3–5
  • Near-zero Alpha earnings for first 12–24 hours
  • If vtrust = 0 after tempo 10: check weight submission logs

← Previous5.5 Execution Support Pool
→ Next6.1 Running on Testnet
IndexDocumentation Index