HIP-27 - Quadratic voting power

Well done on this write-up. I believe that we will be able to push initiatives more efficiently with this model. There is a big power shift here and I really hope that the entire community sees the value. Thank you for the insight here!

7 Likes

Summary : This proposal is to change pure staked weight voting power into staked quadratic voting power

Background : When moving bigger amounts to a validator who don’t vote this hurt us all and the democatracy. If we keep with this we can run soon or earlier into a point where voting are no more possible.

Motivation : This proposal should help to define a new voting strategy and improve the fairness by closing the gap between small and huge validator. Also by having those tokens for active Voter we can solve the HIP-21

Specification :
This has to be detailed discussed on an AMA on Tuesday, March 29 on VDAO Discord Server Harmony Validator DAO but I like the Idea of @PiStake and would even fix the ln(stakedONE)/15

Suggested voting options : Yes, No, abstain

4 Likes

I don’t know that the larger validators would support the token range in that chart (0.6-1.3). I think something similar to @realcoinchowder’s earlier suggestions would be more appropriate: 0.05 tokens at the lower end up to 3.0 tokens at the higher end, for example

I feel like that is a compromise that everyone should be able to agree on. It lessens the risk of someone spinning up a bunch of new, small validators with malicious intent. It also allows large validators to maintain voting “power” without having governance continue to be prohibitively difficult to pass like at present


What is the upper limit of staked $one that the max token allotment should stop at?

What i mean is, 6% is the max keys per shard. That’s 54 keys total over all 4 shards

54*4.98 million (current EMS) = 269.2 million $one

Using that figure as the max cutoff, someone with ~270 million $one and 900 million Binance (should they decide to participate in the future), would both have 3.0 tokens

Would (54 keys * EMS) be a good dynamic cutoff for the max token allotment/validator? Or a similar metric? How is it currently being decided?

3 Likes

I think this approach with quadratic voting is better than my proposed logarithmic scale. However to address @TrickLuhDaKidz point, an unelected validator at ~10,000 ONE having about half the voting tokens of an elected validator of >50,000,000+ opens up the voting to a malicious attack. There needs to be a mechanism in place where unelected validators (to prevent spinning up new nodes and controlling snapshots) have a much smaller vote. That being said, what if a validator breaks into elected entry and then becomes unelected, do their votes get ‘slashed’ back to how they were before election?

1 Like

Wouldn’t there be a snapshot of each validator’s total delegation? Token “weight” would change with delegation size

Could be done continuously in real time or calculated separately prior to each HIP vote

2 Likes

Yes, that would be nice if the smart contract would auto calculate that info.

1 Like

Yea, for now we should think of the ideal way to proceed, and then we have the fantastic @Maffaz who can confirm the feasibility and caveats (if any).

3 Likes

The AMA is now going to be March 29th at 3:00pm EST (7:00pm UTC) in the VDAO discord server. Please attend and give some feedback. Thank you! Harmony Validator DAO

2 Likes

@realcoinchowder @ben2k_Stakeridoo do you think it would be a good idea to introduce a ‘bank’ of VDAO voting tokens with quadratic voting? More specifically: having a limited amount of voting tokens in the validator’s address, when presented with HIP’s the validator that wants to strongly vote for a certain HIP may cast multiple votes, but each vote will be exponentially more expensive. I have not heard of a protocol that has this take on network governance.
Hopefully this will drive more engagement to get more HIP’s out from the community. Also, the tokens could be replenished after a certain period, such as a VDAO term, certain number of epochs/HIP’s or another metric?

1 Like

Please join us this Friday, we want as many people to attend as possible. https://twitter.com/DaoHarmony/status/1508905820104232962?s=20&t=KOjmnyvyLruvQptoUeA4UQ

2 Likes

What if we come up with a system of voting, where validators with more than 100 million ONE staked on them, their vote counts for 1 vote per 50 million, Validators with between 50-100 million ONE staked, their votes count as one vote per 25 million, under 50 million staked and their votes count as one vote per 5 million, and so on and so forth?

The math here isn’t exact I just sort of gave this as an example, but I’m sure you get the idea. Of course, the math would have to be worked out much better, but I think something like this could work. Where larger validators could be outvoted by a few smaller ones. We would just have to work the math correctly so we find that happy medium/balance that we are looking for. Just another idea for an approach to solving this problem that I don’t think was mentioned yet, and if it was, my apologies.

2 Likes

Having quadratic voting essentially brings this to light unless I am misunderstanding? You’re getting at having more vote per million staked? Whereas quadratic voting makes voting more expensive the more you try to spend on a matter; making the majority voting much more effective vs 1 large voter.

3 Likes

Thanks for better explaining that @PiStake. I suppose I didn’t fully understand when I read it over and misunderstood that part. As long as that is the end goal, idc how we get there :wink:

1 Like

I was thinking about the numbers behind the “voting power to stake weight ratio” and the potential security risk of the lower end 10,000 staked validators having too great of influence with 0.61 Voting Power

    1. If a malicious attacker (MA) had…let’s say a $100,000 USD budget, at the time of this writing they could buy right now 645,161 $ONE
    1. This would grant them the ability to spin up about (645,161/10000) = ~64 nodes with a 10,000 self stake and gain them acess to our elections.
    1. This scenario would essentially buy the MA a total of (64 nodes * 0.61 voting power) = 39 points of Voting Power for every 100,000 $USD invested by the MA
    1. It is not my intention to take away all the voting power from unelected validators, this post is merely to serve as proof of a major security issue that must be addressed if we are to ever move forward with a quadratic voting system.
    1. I propose we discuss voting power reduction for the lower end validators affected by the quadratic voting proposal. A decrease in voting power for the smallest of validators would significantly increase the financial burden / entry cost for MA’s. Thus, significantly deterring an MA from interferring with our future governance votes.
    1. This idea is similar to when the Harmony team increased the gas fees to make spam attacks more expensive in a way that only affects spamming bots.

I’m not sure how the mechanics of a smart contract tie into this situation because I am unfamiliar with coding, but the network would be more safe if validators in the range of 10,000-50,000 staked had their voting power manually set to something like 0.1 - 0.5, respectively. Instead of an entry level of 0.61 voting power each.

After this low-stake-validator range is dealt with manually, the broader range of validators can be assigned voting power that is true to the quadratic style. We should also give a different name to this modified style of Voting Power Assignment something like “Modified Quadratic Voting Power Method”.

Just changing this lower bracket to my example range brings an MA’s cost ~6x higher than what is unintentionally granted by the original Quadratic Voting Power proposal

Under the Modified Quadratic Voting Power Method the MA would gain a maximum of (64 nodes * 0.1) = 6.1 of voting power per $100,000 USD invested instead of the previous 39 points.

Keep in mind this whole post is based on a $100,000 $USD budget, so the figures can be adjusted easily with some quick mental math. Feel free to check my math as well. I’m still recovering from my radiation therapy so I wouldn’t be surprised if I missed a decimal somewhere

Discussion from all sides are welcome, thank you for reading!

3 Likes

total agree, may the right calculation needs several inputs, I also saw this previously

May this calculation is better? but not sure about the upper part so I would love to get inputs from @Jacksteroo @RoboValidator @ValidatorONE @mindstyle @RockTheBlockchain

Stake Weight [%] 5390939648 VDAO Token
0.0001953125% < 10’529 0.0019531
0.00078125% < 42’117 0.0078125
0.003125% < 168’467 0.03125
0.0125% < 673’867 0.125
0.05% < 2’695’470 0.5
0.10% < 5’390’940 1
0.40% < 21’563’759 2
0.90% < 48’518’457 3
1.60% < 86’255’034 4
2.50% < 134’773’491 5
4 Likes

Looks like you’re on the right track. But with there being a 54 key limit per validator, and the current EMS being at 4.926 million $one, that means validators could reach ~266 million $one. How many tokens would a validator at that level have?

2 Likes

“Harmony - Open Consensus for 10 Billion People”

But only a few hundred people can actually vote on VDAO issues

I think there’s a disconnect. Everybody should be able to vote, not just validators

3 Likes

I don’t think most of us oppose a future with all voter types welcome. We are just hesitant to open the floodgates of voter eligibility while Harmony is small and critical HIPs need to be voted on

Right now, we have to approve HIP27 to move forward with any voting because of the current weighted method making it near impossible to pass and HIPs. This isn’t about keeping people from voting. HIP27 is simply about us obtaining a way to get anything passed because we are currently unable to pass any HIPs, due to our current voting rules in place.

Future HIPs can be proposed so the pool of voter eligibility can be expanded, but we need unity right now on this HIP27 if we want to make short term progress as a DAO

2 Likes

Everyone votes by delegating to a validator they agree with.

If your validator doesn’t vote the way you like, you have time to unstake and move to someone so your voice is heard.

4 Likes

@TrickLuhDaKidz With your delegation you give the validator your voice so yeah this has to be more understood.
But there would be even possibility with the new Snapshot like Voting power Delegation, Delegation - Snapshot
But two things on this, it’s so far not available for Harmony and the second and most important, the Quorom. If you change those 51% and lower this could be a risk for the Protocoll and Network itself, I’m open to open it but only with care otherwise someone could may do a malicious proposal that went through like nothing and we can’t do anything.

@easynode the unstake time as with the old snapshot is no more given. Snapshot really makes a snapshot!

1 Like