Proposal: Quadratic rewards for validators

disclaimer: I currently run a validator, and this proposal benefits me.

One of the important roles in a cosmos blockchain is the role of the validator. They need to be stable, fast, and as decentralized as possible.

Others are proposing to use validators to ‘reward’ protocols for their work. Which I believe is tangential to both this and the number of validator proposal.

The challenge as I see it, is that the current validators on the list are not able to generate enough income to pay the hosting bills. Which can lead to good validators exiting, or taking shortcuts to make ends meet, as well as having a few key individuals able to control the governance of the network.

The other challenge we currently have is that the 5 validators currently make up 33% of the staked luna, (50% is controlled by the top 9).

What I am proposing is to use a quadratic style approach. In this example, I have used the square root of luna.

What this does is spread the load differently than regular, making larger amounts count a bit less than just the straight number.
so if we use the SQRT() approach, now we get the top 11 people controlling 33% of the vote (up from 5), and the top 20 validators controlling 50% of the voting.

This mechanism can also be used when it comes to validator rewards. In a nutshell, instead of getting rewarded on the percentage of votes you have in the pool of staked votes, you will be rewarded on the
percentage of votes you have in the SQRT() pool. This changes it so that the smaller validators get more $, and the larger validators get less (like 50% less for the top ranked validator).

I estimate it takes 800 luna to run a validator a year. (maybe more after today) … I’ve highlighted that line in the spreadsheet below.

The other adjustment I thought of was not including the ‘self-delegated’ amount in the SQRT() calculations, so validators could always self-stake their own funds to enhance their rewards/voting ability… but I thought I’d leave the simpler version up for now, and see how people feel.

disclaimer: I currently run a validator, and this proposal benefits me.

17 Likes

Initial reaction: I support this proposal. It’s just the thing to improve decentralization of power & rewards, without needing to regularly campaign on ideals in order to do so.

3 Likes

I support this; it’s important to promote decentralization in governance decisions; as the system matures it will be ever more important.

1 Like

The challenge as I see it, is that the current validators on the list are not able to generate enough income to pay the hosting bills. Which can lead to good validators exiting, or taking shortcuts to make ends meet, as well as having a few key individuals able to control the governance of the network.

Nothing to add… perfectly said. We support it

It may be difficult to get to pass with the larger validators voting against it but it seems like a good idea. Improves decentralization. Makes it that much harder for a wealthy entity or government to take over Terra. With that thought I think it’s best to not exclude the self delegated amount. Or allow full rewards but sqrt for governance…?

Thinking about this some more. If this were to affect governance it would have to apply to everyone. If I remember correctly an individual can vote their staked luna and override what their validator voted. It would be strange for the vote to count more if it came from the individual vs the validator…maybe that’s okay… or maybe we want to to apply to all and prevent whales from having an outsized control of the ecosystem.

good stuff

yes. an individual is better served by voting themselves. (and it would be a way to ‘game’ the system, by having lots of little accounts instead of a single large account.

I’m hoping someone from TFL will weigh in on the technical ability to do this… I plan on putting this up as a ‘proposal’ to vote for in 2-3 weeks if TFL is able to actually code this kind of thing in their voting Smart contract.

1 Like

I am bumping this.

2 Likes

while I am in favour of the intent of this proposal, I’m not sure this formulaic approach would prevent existing validator-whales from creating smaller validators to get around this reallocation algorithm?

For instance, it looks like we already have Protoss One and Zerg One affiliated to the larger validator Terran One so this proposal, if passed in its current form, may still result in largely the same outcome if the larger validators continue to find a ways of attracting delegated stakes to their affilitates.

As I don’t have a better proposal however, and since this is still better than status quo, I will support this proposal

1 Like

I received some good feedback to consider here. How will making these awards more evenly distributed effect the delegators?

There are some who delegate to the big names, because they trust those particular validators to vote for them, and are often able to reap larger rewards due to proposed blocks. They might also (Staking Fund stands out here in particular) desire to delegate due to a community factor. They want to say “hey. I use your tools, and I want to make sure I contribute to your success.” In this way the quadratic system limits the free market in making a choice.

Just food for thought. Maybe there are some creative solutions to these issues.

Hey Jared

About voting: the goal of this proposal is to make validation more decentralized, not user/beginner friendly (although this is also important)
More importantly, I don’t believe its the case that a large portion of users who delegates to big names do it because they trust their vote, or not that its relevant enough to deter from going forward in discussing quadratic (or curved) rewards:

  • any beginner doesn’t really care about the voting aspect but simply wants to stake for the apy, and + there is no easy way to know what your validator is voting (BTW: an easily accessible validator voting history is VERY needed) so I doubt they would decide on a validator based on this.
  • all advanced users that I know of vote themselves rather than rely on their validators (for important decisions at least) as they are delegating to more than 1 validator, who might therefore make different voting decisions.

About the community factor, the higher the voting power the validator has, the less need to delegate to them to contribute to their success → they are already successful!
Any good community validator that truly cares about decentralization should tell you to diversify and stake parts of your holdings to smaller validators if they were to become the largest validator as that is what will truly help the community in the long term.

On another note, I dont understand how such a prop limits the free market when the current rewards allocation systematically favors larger validators

I am very open to hearing other creative solutions as well though

so people can still delegate with whom they like. they just just as much rewards/risks for doing so.
but the effect becomes less and less … so they still can support their favorite validator, but it doesn’t count as much.

I wouldn’t be using the words ‘fair’ or ‘free market’ … it’s just a different way of allocating with different pros & cons.

if we do this correctly, it might encourage individuals to actually vote and participate more

1 Like

I favor encouraging delegates to stake with validators in lower rank by making rewards relatively more attractive to their delegates. However, the formula proposed here is way too aggressive in rewarding the lower ranked validators and takes out way too much disproportionately from the higher ranked validators. The formula proposed by 0xlarry on twitter or another variation may be a better fit. if the network was starting today, quadratic rewards would have been a perfect fit but with so much skewing in delegation, penalizing delegates retroactively for the choices they made isn’t that good in my opinion.

Also, don’t forget that the staking fund and several other validators have huge amounts of delegation because of anchor protocol luna bonding. if you suddenly introduce quadratic rewards and affect their returns by 50%+ to 15%, that will have a direct impact on the rewards generated from bonded luna. This means it will have a direct impact on the platform’s ability to pay the Anchor earn and may need to rely even more on the treasury.

1 Like

agreed…
I just re-looked at the calculations, and it looks like 5% has moved from the ‘top 5’ validators into the rest of network already (I’m guessing due to the change to airdrop mechanics alluded too in Do’s tweet), and has increased the number holding 50% from 11 to 12 validators.

maybe, when evaluating curves we need to come up with few metrics

  1. #of validators required to hit 50%
  2. size of loss to those validators compared to today.

(if you could link 0xLarry’s formula I will try and include it on the sheet so we can compare)

I would support a move towards more decentralization of the voting power across the network, but as per @SmartStake quoted message, I’m unconvinced that penalizing financially the validators sitting in the higher ranking tiers is a long-term solution.

You would at least want 0% commission delegators to not see their rewards bumped to a higher level than those of a validator that provides value to the community and took the risk to apply a commission in order to monetize this value

no matter what method you choose, you will penalize the top-N validators. it’s a zero-sum game
otherwise you will need to charge more fees, which I don’t think people like either.

The aim of this proposal is to create a more decentralized environment where the top 10 validators don’t hold half the votes, and also don’t get half the rewards. The problem is due to the large disparity between the top & bottom validators you are getting large penalties using a basic x^2 method.

if you’d like a lower curve… perhaps x^1.5 or x^1.3 might make it less pronounced

The only risk would be that a malicious individual could spin up many validator nodes with smaller stakes each making its stake count more than it should, but given the limitations of Tendermint one can’t really perform this Sybil attack so I don’t see why one wouldn’t want to implement something like this.

Honestly I don’t really have a problem with penalizing the top validators, don’t know how the overall community feels about it but I’d rather have ‘fairness’ than ‘equality’ if you see what i mean, the way we get there needs to be discussed though