Skip to content

[Meta] Collator Selection Improvement #1521

@Dinonard

Description

@Dinonard

Description

This meta issue describes a few improvement ideas for the collator selection pallet.
Main goal is to reduce number of low performant collators, and prevent them from freely rejoining the collator candidate list.

The task list isn't definite and can be expanded and/or modified according to the implementor's design.

1) More advanced collator performance tracking

  • histogram of collator performance per session
  • track peak and/or median value
  • immediately detect if some collator isn't up to par (e.g. falls too much below the median/peak or some other metric)
  • slash, kick & maybe blacklist collators if this happens (automatic)
  • collators shouldn't be able to manipulate this metric (e.g. produce blocks one session, then another session do nothing)

2) Leave period

  • introduce "leave period" for collators during funds remain reserved, instead of allowing instant leave

3) Removal of permissionless collators

  • collators can no longer become candidates just by bonding 3.2M ASTR
  • they can only apply for this position by bonding the aforementioned amount
  • it's up to the council (e.g. can be Community council and/or Main council) to decide if this is someone we want to have or not
  • council approves the application, or rejects it
  • council should also be able to kick out some collator
  • this eliminates completely anonymous collators
  • if improved performance tracking kicks them out, they cannot just rejoin again via a new anonymous account

4) RPC call

  • ensure collator performance can be tracked via some RPC call
  • can be just reading some pallet storage item, but it should be documented (e.g. for the DevOps team to use)

Metadata

Metadata

Assignees

Labels

projectIssue is part of an ongoing project

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions