Cosmos Validator Diversification Reward [Draft Proposal]

This proposal draft addresses a potential solution to the problem of Validator centralization.

Any feedbacks/suggestions/discussions are welcomed.

Premise

  • Re-code the rewards algorithm so that a Gini coefficient is calculated to see if each accounts’ staked Atoms are suitably diversified across [TBD] number of separate Validators. If the account meets, or is less than, the agreed upon threshold Gini coefficient then the account receives XY% “extra diversification rewards” in addition to the normal rate of staking rewards.
  • Decentralization of Validators is a good thing for Cosmos’ current and future security.
  • Decentralization is also a good thing for the greatest amount of Validators, both present and future.

Problem

  • As evidenced by Chorus One’s recent data pull (https://blog.chorus.one/stake-distribution-diversification-cosmos) there is very little Validator diversification by most accounts.
  • So far there has been little to no economic reason for Delegators to diversify across multiple Validators.
  • With most Validators having experienced very good uptime so far and the penalty for lack of uptime and liveness being relatively minimal there is little economic reason to diversify.
  • Centralization of Validators now will lead to larger and fewer Validators in the future.

Potential Suggestions

This proposal would reward adequately diversified staked accounts with XY% (TBD) more Atoms per block if they are staked evenly enough across multiple Validators to show true diversification as measured by the accounts’ staked Atoms’ Gini coefficient.

Potential Problems

  1. Large Validators might divide their operations down across multiple smaller Validator positions in order to allow Delegators to achieve artificial diversification by choosing multiple Validators who are in fact run and managed by the same Validator.
  2. The extra reward has to be large enough to make it economically stimulative to entice already-staked Delegators to change their Validator mix to being able to achieve diversified levels.
  3. Changing the rewards algorithm to be able to calculate a Gini coefficient for each account might not be possible (frankly I’m not a coder and have no idea if this is even possible).
  4. Large current Validators are economically-incentivized to oppose this proposal as it potentially takes away from their total staked commissions and instead gives it to smaller Validators.
  5. This would increase the emission of Atoms and therefore the inflation rate of Atoms.

Please add any feedbacks or suggestions in the comment section

4 Likes

I’ve found using the Gini coefficient for measuring diversification to be somewhat unsuitable. Example: Delegator A has 2 delegations split 50:50 across 2 validators, his Gini coefficient is 0 (perfect equality). Delegator B has 5 delegations split 40:15:15:15:15, his Gini coefficient is 0.2, but I would argue Delegator B is better diversified and more suitable to earn rewards. Also having a very small delegation to one validator can totally skew your Gini coefficient. I’m still trying to figure out if there’s a better way to measure this.

I did not know about the Gini coefficient before reading this proposal … Anyway as found out by @FelixLts it is not suitable as it is. Simple solution that comes to my mind : ponderate this Gini coefficient with a coefficient calculating the ratio between the number of delegations and the total number of validators :

([current total number of validators]-[number of delegations])/[current total number of validators])

This coef would be between 0 (delegations split across the total number of validators) and approach 1 if there is only one delegation

Regarding these other potential problems in the draft proposal :

Large Validators might divide their operations down across multiple smaller Validator positions in order to allow Delegators to achieve artificial diversification by choosing multiple Validators who are in fact run and managed by the same Validator.

This is not a problem specific to this proposal. According to me there should be off chain written rules that forbid the same entity to run multiple validators without making it clear they are actually controlled by the same entity. If such a behavior is discovered there should be a community vote to punish/remove these validators using governance tools

This would increase the emission of Atoms and therefore the inflation rate of Atoms

Not if you decrease reward for delegators that have a poor diversification coefficient. For example :

  • poor diversification : 2% reward (lower than current reward)
  • medium diversification : 7% reward (same as today)
  • high diversification : 12% reward (better than today)

Exact formula should be discussed of course, in order to adjust rewards so that inflation rate does not change

1 Like

Good points on Gini.
If it was stipulated that accounts would need to have some minimum number of total Validators, like 8, would that mostly fix these issues?

I think @ddrdrck’s idea of somehow incorporating the # of validators and creating a new coefficient is intriguing. Setting the total number high could be a simple way to achieve the goal too.

Also considering the sybil attack risk, maybe self-bonded Atoms should receive diversification rewards too. Feels like otherwise this would disincentivize validator skin in the game.

Could diversification rewards incentivize custody-based staking services?

Yes, per @ddrdrck, incorporating a formula that looks at number of Validators and staked Validators in the account makes sense to use.

Now per self-bonded Atoms, they seem to be “damned if they do and dammed if they don’t” in that it’s definitely a marketing strategy for Validators to claim a high self-delegation but by self-delegating they’re missing out on this diversification reward.
I don’t think there’s a good answer here beyond the fact that it comes down to Validators either getting to market their safety by putting their own money ‘at-risk’ in their own Validator in order to prove reliability or they put their money ‘at-risk’ with many other Validators (“the network”) in order to gain a better return.
Frankly I’d completely understand and would actually prefer a Validator who delegated to the network to get the diversification reward rather than the Validator who doesn’t trust other Validators or is self-bonding for the marketing impact of it.

Potential negatives:
Sybil attack: As mentioned earlier in the thread, it would be rational for large validators to split and run a number of smaller validators. This can only be stopped with off-chain rules and quasi-judicial processes. Formalizing rules, and attempting to use the governance system as a quasi-judicial system to enforce these rules will have wide ranging consequences. It’s one thing to use governance to change protocol parameters, it is quite another thing to use governance to make subjective judgments about individuals or entities. Efforts to police Sybil attacks would be extremely controversial, error prone and in the end would be unlikely to be successful.

Incentivize custodial cartel formation: It would be rational for large token holders to form cartels. These token holders could be exchanges who custody tokens, or entities who hold tokens on their own balance sheets. A group of at least the minimum number of validators required to receive the bonus rewards would form, and replace a large self delegation with mutual delegations. There would be no net decentralization, yet these large holders would earn the bonus reward. Exchanges who already have a large advantage from their ability to self delegate tokens that they do not own, be further advantaged.

Incentivize non-custodial cartel formation: It would be rational for groups of non-custodial validators to respond by forming their own cartels, and offer incentives to those who delegate to all cartel members. This is similar to the custodial situation, with the addition of the small complexity of needing to work with delegators to make arrangements.

Give bonuses to the largest token holders: The two most diversified delegators on the hub are AIB and the ICF. Without lifting a finger, these two very large token holders would receive a large share of the bonus payments. I have no argument with these entities, but I think this is probably an unintended consequence.

In conclusion, I think off-chain collusion would be inevitable, and the result would be more concentration and centralization, rather than less.

2 Likes

I’ve been procrastinating on replying because of this, but first let’s talk about the 600-lb gorilla here (and this goes for all top Validators who oppose this idea) namely the potential inherent bias here with regards to you currently being a top 10 Validator right now.
More than likely I’m sure you realize that the net impact of sudden and mass diversification of the network could possibly mean far less bonded Atoms delegated your way as it gets spread out further downwards amongst more of the network.

You’re not actually providing any supporting evidence here… And most of this is theory and assumptions which don’t hold their weight here.

I mean the Game of Stakes example alone of nefarious Sybil players successfully being caught by 2 separate Validator in the community and then eventually getting forked out shows that the decentralized community can catch, come to agreement upon and then fork nefarious Validators.

Also the recent failed network upgrade has shown that the community can remain decentralized yet come to consensus on difficult decisions.

But yes, let’s pretend that there were Sybil Validators who went as far as to spread out their bond across Validator nodes/names/accounts… First off they would be operating with incredible risk, since this community has already shown that it can hunt down and catch said nefarious participants. Second they’d need to publicly state as such that they are managing ‘Validator A’, ‘Validator B’, ‘Validator C’, etc to the public so those in the public, who were wishing to get extra rewards through fake diversification but wanted to stick with just their Validator services, could delegate to their specific Sybil Validators. Third, the Delegators would be delegating to those Sybil Validators with incredible risk of being forked out by the community. And as stated above, there’s already a precedent set that this community doesn’t like rule breakers and will act appropriately.

And your cartel formation theories are just that, theories without evidence and frankly rely on the belief that the community is utterly helpless against such things. But even here though, the result of these cartels would likely be more diversification of stake amongst relatively more Validators versus the current scenario whereby there is no reason to diversify and hence you have fewer and larger Validators.

Lastly, AiB and ICF absolutely deserve these extra rewards for their diversification as much as anyone else. And frankly the way to combat huge holders earning extra rewards by diversifying their stake would be to diversify yourself to earn extra rewards yourself as well.

Hey Felix, if it helps as an alternative to Gini coefficient, I’ve been using the Lorenz curve since July (with April as the baseline): https://figment.network/resources/cosmos-december-2019-network-analysis/

If you scroll to the bottom of that article, there is a list of links that correspond to each month’s ‘network analysis’ article. @JesseLivermore I’m finding a fairly consistent trend of Cosmos staking becoming less centralized. Thoughts? eg. doubts about methodology; rate of decentralization

Dude the gini ratio derives from the Lorenz curve there… And it’s still showing as terribly unequal.

Sidenote: I’m going to be proposing this officially soon.

Let me know if I can help with the proposal.

Sure! Are you able to download all the staked Atom amounts by validator for me? Figured I’d create an up-to-date Lorenzo and gini coefficient for the proposal.
I’m doing some modeling based on various scenarios to determine how many Validators at a minimum should be required to stake to in order to have the best economies of scale for this to work, but not require like a crazy amount of work on the Delegators’ behalf to delegate to like 50+ Validators or something like that.
Thanks!

Hi Jesse, I think that this is the data you’re looking for. Let me know if you need help with the proposal itself eg. feedback re: structure and/or wording

Been thinking on this point more and modeling it… Game-theoretically-speaking these large self-bonded entities would be wise to either stake out to numerous other Validators OR breakdown/divide their self-stake and create numerous mini-active-Validators… otherwise they don’t get these extra rewards.

If the extra rewards staked Validator minimum is set at 25, you could see 25 mini Dokia’s and 25 mini Polychain’s… In the end you could have 77 different Validators who make up 125 active Validators. I know @mattharrop mentioned this as well.

Overall I’m not seeing much of a solution here beyond starting a community campaign to fork out Validators who engage in this kind of bad faith behavior.
Suggestions though?

Yeah this is why I think that the stick approach game theoretically works better here, especially with limited validator slots. An implementation of correlated slashing as proposed by Sunny is the only thing I can imagine that could successfully deter this kind of sybil attack by making it more risky to split your stake across validators with the same setup. Meanwhile, it could still be benefical for the whale to run uncorrelated setups and split his stake across them, which would improve network resiliency (the desired outcome).

Forking out via community campaign seems excessively hard to justify, as the self-staking holder in question probably wouldn’t name validators Whale-1, Whale-2, etc. but come up with some plausible entity names, e.g. Staking Unlimited and Validator Incorporated or whatever.

1 Like

@JesseLivermore just want to be clear that I’m supporting proposal creation in general, not that I support the substance of this proposal.

1 Like

Edit: This post removed.

seems that this link leads us to nowhere.

1 Like

I’ve been modeling various scenarios based on the required diversification count of Validators and have come to the conclusion that anything less than 50 Validators still wouldn’t “move the needle” much with regards to Cosmos’ overall Gini (which is currently 0.6907).

For example an “extra rewards” requirement of 50 different Validators each having an equal stake for an account to get extra rewards (which could theoretically lead to the top 50 Validators each having about 3.3m staked Atoms) would still lead to a kind of high Gini of 0.527.
It’s okay but its impact is kind of disappointing.

Additionally, Polychain’s “Roman” has mentioned to me that they likely would have no choice but to split up (“Sybil”) their self-bonded stake into numerous Active Validators run by themselves if these extra rewards existed. And he mentioned any major fund/corporation who’s staking who has a fiduciary duty to maximize returns has to try to get the extra rewards, likely via Sybil nodes controlled by them.
That’s very disappointing.

So because of these 2 factors I’m going to suggest in the proposal that whatever the Active Validator count is that 80% of that total is the required minimum number of Validators an account must equally bond to in order to earn extra rewards.
So in this case 100 Validators to earn the extra rewards. With the top 100 Validators with even stake amounts (1.85m Atoms each) it drops the Gini down to 0.198… Very equal.

Now having to bond one’s account equally to 100 Active Validators is quite a task. A simple “bond to 100 Validators” button from Cosmosstation and Lunie would simplify this.

Overall, this huge requirement of 80%, or 100, Validators would negate the possibility of Polychain, or any 100% self-serving Validator, to earn extra rewards via Sybil.

Problematic areas I’m seeing:
-there would still be Sybil Validators who try to maximize their rewards via multiple nodes.
-some very self-serving Validators with self bonds would likely switch to a 100% commission fee, knowing very well that they’d see some Delegators forced to bond to them.
-the active 125 Validators set might shift a ton and/or be easily manipulated, keeping ones stake bonded to the top 100 when the bottom 10 of those 100 Validators are just barely staking enough to be in the Active set might lead to extra rewards bring missed out on by those trying to get them. Again though, this might require work by the Delegator… This isn’t just a ‘delegate and forget it’ achievable reward.