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
Navigation
| ← Previous | 5.5 Execution Support Pool |
| → Next | 6.1 Running on Testnet |
| Index | Documentation Index |