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
Staking
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