Skip to content

Set a minimum number of non-immune, non-immortal UIDs per (sub)subnet #2058

@ppolewicz

Description

@ppolewicz

This is an alternative fix to a problem that would be addressed by #2031 and commit-reveal v4.1

Currently, the subnet owner can configure a number of immortal UIDs that belong to hotkeys which are associated with the cold key that owns the subnet (10, at most).

With UID pruning, when the number of all neurons can be as low as 32 after subtracting the 10 immortal UIDs belonging to the subnet owner for the burn, we may be left with only 22 UIDs that will cycle between all validators and miners. This might make sense in unpressured subnets, where typically we see up to 5 validators and up to 5 or maybe 10 real miners in competitive subnets. Unfortunately, malicious subnet owners might configure immunity_period high, causing all the validators to be deregistered in quick succession, leaving only the UIDs registered by the subnet owner. This would allow the owner to control all the incentives, all the dividends, and all the owner prop, causing it to control all the emissions. That in turn can be used to pump and dump, manipulate the subnet emission and is generally frowned upon.

This ticket proposes a solution in the form of adding a new hyperparameter that would not be configurable by the subnet owner but by root. It would guarantee that at least 10 (by default) UIDs in the subnet are non-immortal and non-immune. If the immunity_period hyperparameter is misconfigured, this safeguard will prevent the top miners and top validators from being deregistered.

This should probably be implemented as part of with #1903 A), before uid pruning is released, or together with it

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions