Spec Version 320
Deregistration/Registration
Starting one week from this deploy (50,400 blocks after the mainnet deploy), subnet registrations will resume! The initial lock cost will be 2,000 TAO on day 7. The SubnetLimit
is being introduced starting at 128. Registrations beyond this limit will trigger deregistration of the lowest scoring subnet. Some other parameters that have changed:
ImmunityPeriod
is now 4 months (down from 6 months)NetworkRateLimit
has been raised from 2 days to 4 daysNetworkLockReductionInterval
has been set to 8 days
For more information please see #1651 and/or BIT-0016.
Subnet Mechanisms (previously "Subsubnets")
Previously each subnet was capable of supporting a single "mechanism" (or problem that can be solved by miners and checked by validators via yuma consensus) out of the box unless the subnet implemented complex logic to simulate multiple mechanisms manually. Now subnets will natively support the concept of multiple mechanisms within the same subnet. This feature can be enabled at the discretion of the subnet owner, with an initial limit of 2 mechanism IDs per subnet (we plan to increase this later). This should be a huge boon for subnets that want to have miners work on multiple problems without needing to register multiple subnets, and subnets that want to try new miner code deployment strategies such as zero downtime deployment. Another positive effect of this change should be that multi-subnet ecosystems should feel less pressure to register multiple subnets since they will be able to do more with a single subnet, allowing them to unite multiple projects under a single market cap when desirable. This should foster new innovations by making it easier for existing subnets to experiment in a low-cost, low-risk way.
For more information please see:
btcli:
btcli subnet mech count
btcli subnet mech set
btcli subnet mech emissions
btcli subnet mech emissions-split
Trim UIDs
Some subnets have grown their set of miner UIDs to be larger than they originally intended. The Trim UIDs feature allows subnet owners in this situation to trim their set of UIDs down to 64 if and only if at least 20% of the resulting untrimmed UIDs are non-immune.
For more information please see #1998.
Hyperparameter Rate Limiting
We have introduced rate-limiting for hyperparameter changes within subnets. This should help prevent abuse by subnet owners and reduce volatility for stakers and subnet participants. The rate limit will be 2 tempos by default and applies to each hyperparameter individually (if you change hyperparameter A, you have to wait 2 tempos before changing it again, however this does not affect changing hyperparameter B, etc.). The triumvirate will update this rate-limit accordingly in the future via sudo call, as needed.
For more information please see #2048.
What's Changed
- LP Dissolution validator selection in #2071 by @JohnReedV
- Fix/remove unnecessary error logging in #2076 by @gztensor
- Fix/Use
netuid_index
in selective metagraph in #2073 by @JohnReedV - Improve docker-localnet workflow in #2067 by @basfroman
- Cleanup math and LastUpdate fix in #2069 by @gztensor
- Fix/dispatches revert in #2068 by @JohnReedV
- Modify lock-cost migration in #2065 by @JohnReedV
- [Feat] allow recycle/burn toggle from burn uid in #2064 by @camfairchild
- Rename subsubnets to mechanisms in #2063 by @gztensor
- dTao-Compatible Subnet Deregistration in #1685 by @JohnReedV
- More storage query test in #1922 by @open-junius
- Fix/weights mismatch in #2049 by @l0r1s
- Trim uids in #1998 by @unconst
- Correct the as-bytes version of various symbols. in #2037 by @thewhaleking
- add remove case in wrap contract in #1936 by @open-junius
- hyperparameter refactor in #2048 by @sam0x17
- Fix subsubnet rate limiting and add tests in #2060 by @gztensor
- refactor alpha test in #2042 by @open-junius
- Fix admin-utils benchmarks in #2055 by @ales-otf
- Emissions fix in #2051 by @0xcacti
- Make associate_evm_key extrinsic be signed by coldkey in #2054 by @ales-otf
- Fix immune owner UIDs in #2034 by @gztensor
- Improve workflow e2e tests and extend
.dockerignore
in #2044 by @basfroman - Install and set toolchain 1.88 as default in
Dockerfile-localnet
in #2043 by @basfroman - Subsubnets in #1984 by @gztensor
- Rate limit hyperparams setting in #2017 by @ales-otf