Description
Is your feature request related to a problem? Please describe.
Due to a ratelimits, validators can only set weights from one hotkey on one subnet in any given block. As subnets increase, it becomes more pressing for validators to split out to multiple hotkeys (under the same cold key) to validate on all subnets, then CHK to themselves to avoid this limitation. Validating from multiple hotkeys also has security benefits.
However, the cost of re-registering 80+ subnets is considerable, while co-ordinating the changes in CHK targets would be significant and result in significant disruption/yield impact for many validators.
An ideal solution would be to allow partial hotkey swap on a subnet-by-subnet basis, with free hotkey swaps within the same cold key, with a flag to automatically/instantly CHK to the new hotkey on the subnet that was just split.
Describe the solution you'd like
- Within the same cold key, the validator specifies both the old and new hotkey they want to swap to/from, as well as the specific subnet(s) they want to swap, with an optional flag to automatically CHK to this new hotkey upon the completion of the swap (ideally bypassing the 24 hour chk window). I.e. "swap only registrations/chks from hotkey-x to hotkey-y for Subnet 1, then chk hotkey-x to hotkey-y on Subnet 1"
- These hotkey swaps within the same cold key would ideally be free/near-free (ie. only gas fees) without additional penalty costs as they're for security and compatibility purposes
- A bulk command would be a 'nice to have', but is not vital
Describe alternatives you've considered
The alternative is manually setting up new hotkeys, registering on the new subnets, transitioning the validator to the new key (or running a second vali to avoid disruption for chk users), telling people to migrate across their CHKs, updating your own CHK, keeping both running until the switch is complete, phasing out the redundant vali and waiting for the old key to de-register. Given the complexity, time, and cost of this process, it is avoided.
Additional context
No response