Skip to content

Undelegation from inactive nodes #7

@przemyslaw

Description

@przemyslaw

Goal

Implement a mechanism which would automatically undelegate all delegators from validators who have been inactive for a set number of eras. This is meant to encourage good stewardship of node operators.

Requirements

  • the delay is a global chainspec setting
  • allow validators to set a more restrictive limit on themselves
    -- must be lower than global limit
    -- would be a sort of SLA declaration

Solution

  • currently we track inactive validators only in a binary way - active/inactive
  • we'd need to update the ValidatorBid to also store the EraId when the validator was marked as inactive
  • then we'd probably follow a similar pattern to what we did with forced undelegation and handle the cleanup at the end of an era, before the auction is run
  • we'd follow a normal unbonding process - prune Delegator bid, create an UnbondingPurse and process the unbonds after a delay as usual
  • no additional handling of validator bids; they remain inactive and can be reactivated at a later date
  • setting an optional, more restrictive delay could be done as an optional argument in the add_bid entrypoint of the auction contract

Questions

Should we add some validation to prevent delegating funds to inactive validators?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions