I would not say this is an issue of the protocol but the EVOLUTION and I’m glad to read so many input here.
I addressed previously my proposal on how I see the possible solution and want to share that with you guys here again
What if elected (earning) slots (aka BLS keys) will be selected randomly among all the eligible validators to get a slot. Random selection for a BLS key(s) of a certain validator but not an exact validator with all the keys that are participating in bidding.
Here I mean that if the validator has 30 keys the randomness can assign from 0 to 30 keys to this validator, e.g. 4 keys this epoch, 28 keys the next epoch, 16 keys the epoch after the next epoch, and so on.
Randomness it’s always a fair game for every applicant, and random selection makes Harmony Open. Staking really open for everyone - I’d like to participate, I go there, I create a validator, stake on it, get delegation, and I play a slot lottery. I can win or can play again next epoch. And nobody can affect that except a random selector (generator) only that could be coded on the protocol level.
So, there's no limits on keys or delegation is required, but simply we can make a single change in the protocol design that will enable again all the features of the original EPoS ideas, where the richest doesn't become reacher every epoch!
Guys, won’t randomness for BLS keys election mitigate the influence of the validator’s overall stake and as a result can initiate the whole stake redistribution?
The detailed proposal is quoted below. I just notify you that it’s dated by May 20, 2020 and it includes a few inaccuracies caused by the previous design of the EPoS and the staking setup dated as at May 2020.
Source link Open Staking: Improvement Proposals - #14 by nickv
hey everyone there!
inspired by the word “open” in the name of Harmony product #Open
I don’t pretend to resolve the issues raised relatively to fairness of election in our openstaking by this one message on the forum, also I’m not really sure how technically difficult to implement the idea i’m sending here, but i’d like to try to deliver my thoughts to all are presented dudes on this thread who are caring about the current situation.
Key problem #1 highlighted by @nickw
Minimum stake - the amount of stake needed to get elected is going up, leaving behind smaller validators to start getting unelected, and over time churn out.
For me #Openstaking means that everyone validator, whether it’s a big staker with lots of bls keys or a single key node should be in equal conditions at the bidding stage when slots are going to be filled by validators. Also I totally support the initial design of Harmony EPoS that mentioned here, see an extract below,
This statement definitely suits our tokenomics that has on its aim to go to 0 issuance and incentivizes stakeholders to stake more assets they have on Harmony staking.
But at the same time this statement caused the issue we have right now - only because of this we have big validator with many BLS keys bidding for numerous slots and get them - there’s no problem with that if it’s not so painful for the small validaotrs.
And here’s my suugeston, that I see could be a good start point for finding the solution. What if earning slots will be distributed randomly among all the eligible validators to get a slot, that are participating in bidding. Randomness it’s always fair game for every applicant, and random selection makes OpenStaking really open for everyone - I’d like to participate, I go there, I create validator and stake on it and I play a slot lottery. I can win or can play again next epoch. And nobody can affect that except an random selector (generator) only. But there should be compliance terms definitely, to avoid cases when 10k ONE stake validator can get elected and earn when median stake is about 3 000 000 ONE.
Let me describe a RANDOM SELECTION for Harmony validators
- Not to hurt our EPoS design and tokenomics I suggest to code on the protocol level eligibility to be elected not only for the highest 320 stakes, but for unlimited number of stakes that bounded by the lowest border at
0.7 * effective median , which is 70% of effective median stake. This means that all stakes which are equal or higher than
0.7 * median stake can participate in bidding for slots.
This doesn’t mean to change our median gradation. In opposite this opens validators with stakes as higher than
1.15 median and less then
0.85 median be involved into elected and EPoS will work as it designed for yellow, blue and green zone validators.
- The next statement can limit the number of bls keys per validator because I assume that all the keys of validator will get slots if the validator is elected (if not and validator can bid for number of slots accordingly to the number of keys, but gets less slots - there should be no limits for keys).
So let’s imagine the model when each validator has 4 bls keys max allowed. this time RANDOM SELECTION comes on the scene and the lottery will choose 320 lucky slot winners. It means that all the validators with stakes from the highest and to the last
0.7*median stake will participate in bidding, but slots will be distributed randomly (4 per validator max in our case).
So, in our case we can reach the desired situation when even 1000 of validators can participate in bidding and get elected. Only 320 keys will win. Next epoch it will be other 320 keys (based on random selection)
You can say that big stakers can create more 4 keys validators and share their stake on them, but it doesn’t mean their newly created validators 100% be elected, because of the random selection.
You can say that median won’t grow, but it’s not true, because in this particular case big stakers are more likely to delegate their stake shares to other validators than to spin up more new nodes. Why? - because more validators for them means more paid instances - more expenses, but doesn’t guarantee their validators to be elected every epoch. So, those who doesn’t want to spend money for extra instances will delegate to other and hope for getting income from different validators.
Quote thoughts “I’m not elected now, but couple of shares I delegated to other validator this epoch could be elected and earn for me.”
As a result you can see how simple randomness election for validating slots makes everyone stakeholder to share their stakes among maximimum possible number of validators, because if they don’t do that their stakes won’t earn oftenly.
No more for stake centralization!
Is not randomness a fair choice for OpenStaking?
Guys, share your thoughts below and comment, probably this solution has hidden stones, that are not obvious for me yet.
Thanks in advance