Skip to content
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

Vision: Path to removing reduce from NPoS protocol #419

Open
kianenigma opened this issue Mar 27, 2023 · 0 comments
Open

Vision: Path to removing reduce from NPoS protocol #419

kianenigma opened this issue Mar 27, 2023 · 0 comments
Labels
D3-involved Can be fixed by an expert coder with good knowledge of the codebase. I6-meta A specific issue for grouping tasks or bugs of a specific category.

Comments

@kianenigma
Copy link
Contributor

kianenigma commented Mar 27, 2023

The reduce.rs algorithm is the one that is responsible for causing, in almost all cases, one's stake to end up backing one validator, even if they nominate many. Note that this happens entirely post-election, and has no impact on the active validators, and their stake.

There are multiple issues with this:

  1. It prevents nominators against further distribution of their rewards, hedging behind multiple validators.
  2. It is super hard to explain that "in NPoS, you should nominate many validators to get the maximum benefit, but your stake will only go to one, but you should do it nonetheless, because it is post-election".

The main reason we have this is twofold:

  • The solution is smaller if reduced, so easier verification, and less payload to submit.
  • Rewards will be easier, given that there are less reward payouts to claim in total.

Once we have a scalable reward, slash, solution submission+verification system, there is no reason to have reduce anymore.

The linked issues/PRs for that would be:

What we can already do, if feasible, is to tweak the reduce algorithm to be configurable. The current behavior is to reduce 100% of the nodes, but we can then instruct it to reduce 80%, and gradually less and less.

@juangirini juangirini transferred this issue from paritytech/substrate Aug 24, 2023
@the-right-joyce the-right-joyce added I6-meta A specific issue for grouping tasks or bugs of a specific category. D3-involved Can be fixed by an expert coder with good knowledge of the codebase. and removed J1-meta labels Aug 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
D3-involved Can be fixed by an expert coder with good knowledge of the codebase. I6-meta A specific issue for grouping tasks or bugs of a specific category.
Projects
Status: 📕 Backlog
Development

No branches or pull requests

2 participants