-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Election mechanism for invulnerable collators on system chains #138
base: main
Are you sure you want to change the base?
Election mechanism for invulnerable collators on system chains #138
Conversation
Signed-off-by: georgepisaltu <[email protected]>
Signed-off-by: georgepisaltu <[email protected]>
Signed-off-by: georgepisaltu <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure if this proposal is the best way forward. With the migration of more and more logic to AssetHub, the collators on Assethub will have more "responsibility". Also with lower block times, the requirements are increasing and it is more important to have high reliable collators.
Also together with the AssetHub migration we will move staking to AssetHub. So, we could try to re-use it here. We probably generally need some changes to the way the collators are being paid and maybe having some bigger pot on AssetHub to ensure people are more incentivized to provide great collators. The pot should be paid out based on the number of blocks a collator was able to include in a session versus the maximum number they could have included theoretically.
We could also have some "secondary collator selection" logic for chains like coretime/people chain to have some testing ground for operators to "grow" and earn reputation, before they try to get elected on AssetHub.
Or we even go lower and change fundamentally the consensus algorithm to have a more open set. Maybe like having an election every session and operators are able to apply by bidding on these slots.
Not saying that all the things I dumped above make that much sense, but I'm convinced that we need something better for AssetHub to ensure we get the best quality etc.
I had considered the use of some sort of staking-esque mechanism for collator selection along with a bigger collator set for the hub and some other tweaks and think it would be a great solution, but we'd need to look into how it would affect the cryptoeconomic assumptions of Polkadot (if it were to "compete" with validator staking) and it could be something that isn't economically feasible. There was originally that aim for a given ratio of staked:locked:liquid DOT, the locked proportion of which was previously mostly due to crowdloans but it was always less than expected and now since Agile Coretime it is gone completely. This Hub collator nomination mechanism could be a way to encourage more locked DOT outside of regular staking. For the rest of the SPs I agree for sure that we could bring more stuff on chain rather than relying on a bounty which needs to be topped up regularly and then distributed, which is currently done basically as you've described (ratio of blocks produced to the number they could have produced) but manually instead of automatically on chain. |
After reviewing this RFC and RFC0007, I struggle to see the actual problem that is trying to be solved here. The whole concept of having “invulnerables” introduced by the latter RFC is that they are intended to have a permanent seat and are free from regular re-election. They are chosen and evaluated on a social layer through OpenGov. Does this system not work? Are invulnerables not showing up to do the work, exert inferior performance, or censor transactions? If things are going fine, I don’t think it makes sense to direct the necessary resources to revamp this system right now. If there are problems, or we expect problems with the launch of Plaza which is reliant even more on a strong set of good collators, there are a few things that came to my mind.
|
Invulnerables exist so that the project cannot lose access to the parachain state. A priori, I'd think invulnerable collators on system chains should be selected by the fellowship, plus probably whatever votes handle code upgrade. As I understand it, non-invulnerables have an existing election mechanism based upon self-stake, which sounds fine. We could discuss if this should be fresh stake, not used for validators, or if we allow restaking here, aka multiple usages of the same stake. I'm unsure which of these we do now, but fresh stake requires worring about payouts vs validator staking, while restake requires worrying about collusion, but neither sound hugely problematic. Am I correct that rewards come up here too, in that invulnerables or non-invulnerables get paid less? That maybe a concern, but it's overall okay to pay invulnerables less, because they have other motivations for being there. |
Rendered version.