Skip to content

Prohibit registrations in the last 10 blocks of a tempo (2 in fast blocks mode) #2031

@ppolewicz

Description

@ppolewicz

Rationale:

  • some attacks involve registration / deregistration of uids during the last 10 blocks of a tempo
  • mitigation of these would require severe restrictions that would be active for the entire tempo
  • to keep the users happy we can hold off on most of the restrictions, but introduce the protected period in the last 10 blocks of a tempo, where hyperparameter changing is not possible (this is in another PR) and also neuron registrations are not possible. This will thwart an entire series of attacks without really limiting much and the clients (sdk/cli) would just sleep for a bit if they ever happen to hit NeuronRegistrationProhibitedUntilEndOfTempo, then retry
  • actually both CLI and SDK by default should check if the registration is allowed and should set the transaction validity in such a way that they don't run into that error, or else they might end up paying a transaction fee, now that we have Pays:Yes everywhere

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