Hyperparameters
bonds_reset_enabled
Whether a neuron's accrued validator bonds are wiped when it commits new on-chain metadata.
bonds_reset_enabled makes metadata commitments costly for miners: when enabled, any hotkey that publishes a commitment on the subnet has all bonds pointing at it erased. Subnet owners enable it on subnets where a metadata commit signals a model or identity change that should reset accumulated validator conviction; validators care because their bonds on that miner — and the dividends they earn from them — restart from zero.
How it works
When a hotkey commits metadata (the commitments pallet's OnMetadataCommitment hook, wired up as ResetBondsOnCommit in runtime/src/lib.rs), the chain calls do_reset_bonds in pallets/subtensor/src/epoch/run_epoch.rs for each mechanism of the subnet. If this flag is off, the call returns immediately. If it is on, the chain looks up the committing hotkey's UID and filters that UID's column out of every validator's bond vector — every bond held on the committing neuron is deleted, while bonds the neuron holds as a validator on others are untouched.
Bonds then rebuild through the normal EMA at the rate set by bonds_moving_avg (or the liquid-alpha rate), so validators who re-endorse the refreshed miner regain dividends over subsequent epochs.
Here is what that looks like for a validator's bond on a miner that commits metadata mid-way — toggle the flag to compare:
A validator keeps endorsing one miner, so its bond accrues via the EMA B(t) = alpha × ΔB + (1 − alpha) × B(t−1). When the miner commits metadata and the flag is on, do_reset_bonds erases every bond pointing at it (run_epoch.rs) and the EMA rebuilds from zero; when off, the commit changes nothing.
Bond at commit (epoch 20)
0.865 → 0.000
do_reset_bonds drops the column to zero
Bond at epoch 40
0.878
rebuilt through the normal EMA
EMA rate (alpha)
0.100
1 − 900,000 / 1,000,000
The flag is off by default and toggling it emits a BondsResetToggled event (sudo_set_bonds_reset_enabled in pallets/admin-utils/src/lib.rs).
Reading and setting
btcli sudo get --netuid N --name bonds_reset_enabledBoolean — pass true or false:
btcli sudo set --netuid N --name bonds_reset_enabled --value trueRelated
bonds_moving_avg, bonds_penalty, yuma3_enabled, liquid_alpha_enabled