Hyperparameters

burn_half_life

Shared half-life for burn price and PoW difficulty decay.

View as Markdown

This is the shared half-life for burn price and PoW difficulty. Its historical name and storage encoding remain compatible. Each price decays toward its own minimum, including when its registration route is disabled. Burn registrations do not interrupt PoW difficulty decay, and PoW registrations do not increase burn cost.

Sets how quickly an elevated registration price cools off. After registrations bump the burn cost up, it decays exponentially — this parameter is the number of blocks for the price to halve. Owners tune it against burn_increase_mult to pick the registration rate their subnet sustains; miners watching an expensive subnet can read it as "how long until the price is reasonable again."

How it works

Every block, update_registration_prices_for_networks (in pallets/subtensor/src/subnets/registration.rs, called from block_step) multiplies each subnet's burn by a per-block factor f chosen so that f ^ burn_half_life = 1/2, then clamps into [min_burn, max_burn]. The factor is computed in Q32 fixed-point by binary search (decay_factor_q32 in pallets/subtensor/src/utils/misc.rs), giving continuous exponential decay: after n blocks without registrations the price is burn × 0.5^(n / half_life), until it hits the min_burn floor.

The value is stored in BurnHalfLife as a u16 block count; the default is 360 blocks (~72 minutes at 12s blocks). A stored value of 0 disables decay entirely, but the owner-set extrinsic (sudo_set_burn_half_life in pallets/admin-utils/src/lib.rs) requires 1 to 36,100 blocks (~5 days) and rejects the root subnet. Together with the multiplier, the break-even registration cadence is one registration per half_life × log2(mult) blocks — faster than that and the price climbs, slower and it falls.

Registration burn controller

A τ10 spike decaying with no registrations. Each marker sits one burn_half_life after the previous, at half its price, until the min_burn floor. Drag the half-life to stretch or compress the cooldown.

Each click adds a registration at the start of the window.

Peak in window

τ10.00

After 24h

τ0.000500

Break-even rate

60 regs/day

Above this, the price climbs; below it, decay wins.

τ0.000500
τ100.00
×1.26
360 blocks (~72m)
0

Reading and setting

btcli sudo get --netuid 12 --name burn_half_life
btcli sudo set --netuid 12 --name burn_half_life --value 720

Settable by the subnet owner or root; the value is a plain block count (12-second blocks).