Hyperparameters

yuma3_enabled

Enables the Yuma3 consensus variant, which changes how bonds are stored and dividends computed — and unlocks liquid alpha.

View as Markdown

yuma3_enabled switches a subnet's epoch from the classic Yuma bond computation to the Yuma3 variant. Subnet owners toggle it to change how validator dividends reward conviction; validators care because it alters both the bond math and whether liquid alpha can apply at all.

How it works

The epoch function branches on Yuma3On (pallets/subtensor/src/epoch/run_epoch.rs, "Bonds and Dividends" section):

  • Classic path (off). Instant bonds ΔB = W ∘ S are column-normalized, smoothed by the flat EMA from bonds_moving_avg (compute_ema_bonds_normal), and dividends are d_i = Σ_j B_ij × I_j.
  • Yuma3 path (on). Bonds are read as fixed proportions (get_bonds_fixed_proportion) without column normalization, the EMA runs through compute_bonds — which is where liquid_alpha_enabled can swap in per-pair alpha rates — and dividends are the row-sum of normalized EMA bonds times incentive, scaled by each validator's active stake, then renormalized.

Practical consequence: liquid alpha and its parameters (alpha_low, alpha_high, alpha_sigmoid_steepness) only take effect when this flag is on; the classic path never consults them. See the Yuma Consensus overview for the full epoch pipeline.

The two paths split the same dividend pool differently whenever validators disagree — compare them on a minimal example:

yuma3_enabled: classic vs Yuma3 dividends

Two validators, two miners: V1 splits its weight 50/50, V2 puts everything on M1. Classic (off) column-normalizes ΔB = W ∘ S, so stake is baked into each miner's bond column. Yuma3 (on) keeps bonds as each validator's own weight proportions (get_bonds_fixed_proportion), sums normalized bonds × incentive per validator, then scales by stake once. Bonds shown at steady state.

V1 dividends

20.0% → 14.3%

classic → Yuma3

V2 dividends

80.0% → 85.7%

classic → Yuma3

Stake split (V1 / V2)

20% / 80%

dividends match stake only when weights agree

80% of total stake

Reading and setting

btcli sudo get --netuid N --name yuma3_enabled

Boolean — pass true or false:

btcli sudo set --netuid N --name yuma3_enabled --value true

liquid_alpha_enabled, bonds_moving_avg, bonds_penalty, bonds_reset_enabled