Quadratic Voting?! What is it and can it have an application in blockchain governance?

in #governance5 years ago (edited)

The recent events with the Hive/Steem situation are really remarkable. While a lot of users of the platforms are undergoing quite a stressful time it is worth noting that these events are providing a real life example for blockchain governance.

Things that have been only theorized, now we are seeing them developing in front of our eyes in real time. Amazing! We are pioneering a totally unmarked waters with this.

01.png

What is quadratic voting?

I’m not really sure how I stumbled upon the topic, but I have been exploring blockchain governance lately, reading a bit more about it and quadratic voting has come up.

Here is the Wikipedia definition:
Quadratic voting is a collective decision-making procedure where individuals allocate votes to express the degree of their preferences, rather than just the direction of their preferences. By doing so, quadratic voting helps enable users to address issues of voting paradox and majority-rule. Quadratic voting works by allowing users to 'pay' for additional votes on a given matter to express their preference for given issues more strongly, resulting in voting outcomes that are aligned with the highest willingness to pay outcome, rather than just the outcome preferred by the majority regardless of the intensity of individual preferences.
Wikipedia

Basically, what it says that people can buy votes to express their opinion more strongly on a subject. The usual rule for democracies one vote per man (1p 1v), does not apply here.

Example:

Number of votesVote Cost
11
24
39
416
525

That is why the term quadratic. Each next vote is a squared in value, making votes more and more expensive.
The Wikepedia article describes the quadratic voting for real life democracies.

A blockchain oriented paper for Quadratic Voting can be find here. A 20 page material (if you have the time 😊) from 2017 with some very interesting points. It is noting that blockchains have copied/adapted existing governance models that have created fault lines in the industry.

Quadratic voting (“QV”) has the potential to “bring the logic of the market” to blockchain governance and, in so doing, allow blockchain to better meet the needs of their stakeholders.

QV also has the potential to address problems inherent in traditional blockchain-related voting mechanisms, such as vulnerability to Sybil or sockpuppet attacks. Those attacks attempt to subvert reputation systems in peerto-peer networks, such as a blockchains, by creating pseudonymous identities (sockpuppets) to gain influence.

Sybyl attack from sockpuppets. Sounds familiar 😊.

The paper explores the current stake based models and point outs some of the cons:

Plutocracy and Collusion: A plutocracy is government by the wealthy.In an on-chain system, a plutocracy indicates control by individuals or entities who hold a significant percentage of the tokens, which allows them to collude and act primarily in their own interest, to the detriment of those with fewer resources

Mutability: One of the most important features of blockchain technologies is the inability to change transactions recorded on what is supposed to be a permanent leger. In an on-chain governance system, a vote can be taken to “undo” a transaction or series of transactions, and roll back and edit the history of the ledger.

Excluded Stakeholders: In many on-chain governance systems, nontoken holders are excluded from governance. However, by excluding those voices, their participation in governance becomes “completely unnecessary,” and removes “an important check to balance against the power” of the token holders.1

There is much more to talk about the quadratic voting but we will cut it here.

Possible implementation in Hive and DPoS

As mentioned, the example above is for real life democracies systems. It allows people to have more than one vote and preventing what is called Tyranny of the majority.

What about DPoS?
Buying votes, having more than one vote is the standard here 😊. Your stake is your vote. As we already saw this has its disadvantages as pointed out in the paper above, and it opens the gate for:

  • Plutocracy and Collusion
  • Puts in danger the immutability of the transactions and the stake
  • Small stakeholders feel excluded

We have actually witnessed all of these things. In real time before our eyes. The paper was written in 2017 and all the potential weaknesses pointed out in there happened.

What will prevent these events from happening again?

We have a better witnesses now? Better humans in charge?
IMO humans are humans and if the system is setup in a way that incentives certain behavior, that will happen. Also blockchain is all about trustless systems. No need for trust.

System improvements > Changing players

Implementing quadratic voting in DPoS is basically the opposite that the implementation in real life democracies.
It means that the vote of the larger stakeholders will be worth less.

Example:

StakeSquare root of stake (votes)
10,000,0003,162
1,000,0001,000
100,000316
10,000100

In the first column (stake) the ratio between the top and the bottom is 1:1000, while in the second column the ration between these two is 1:31. Quite a difference. We can play with the root value as well, it doesn't have to be 2.

The votes represented above are just for governance purpose, electing witnesses and proposals. The votes for content creators, curation rewards (profit) will remain the same.

People can just distribute the stake between multiple accounts to get more governance votes!


Yes, this is one of the major problems in applying this system.

This is where the importance of an account comes in place. In real life democracies we have government ID to be eligible to vote. Should we do a KYC for each account? EOS Voice seems to be going in this direction.

But we all want the freedom to choose will we discover our identity online or not.
Something called account weight can come in place.

Account weight?!

This name is basically mathematically chosen, and we can call it whatever we want. Reputation is probably the most suitable. For the purpose of describing the model we will call it as above. The Hive blockchain already have a reputation system for the accounts. Unfortunate it is broken. Especially from the bid bot’s era that is luckily behind us now.

The idea behind the account weight (blockchain ID) is that account weight can be a value between 0 and 1 (or 1 and 10), and the value of the stake will be multiplied by the weight of the account.

Governance votes = (Square root of stake) x (Account weight/reputation)

In this way creating multiple new accounts and spreading the stake between them to gain more votes will be not worthen. The new accounts will have zero, or very low weight and when multiplied by the stake the votes will be very low.

Building up one account (increasing weight) will be incentivized.

How to determine account weight/reputation will be crucial in this system!

Some factors for doing this can be:

  • Time
  • Stake
  • Activity
  • Other accounts feedback

With the latest changes there is a rule that a newly powered up stake can’t vote witnesses immediately. This is basically a small step in this direction. It takes some time for the stake to be eligible for votes. The older the account the better the score.
The amount of stake can also be used as and indicator for an account weight, but just a partial one. Activity of the account, does it post, comment, vote etc. And of course, accounts can rate them self’s with some sort of rating mechanism. As mentioned, this is just a rough draft of possible solutions.


There are probably ways to manipulate the system above as well. No system is ideal. But I think if some of the things mentioned above, are implemented in some distant future in the blockchain governance models it will be a step in a right direction. It adds a bit more complexity and confusion at first, than the pure stake based voting, but once it settles can work better. Probably :) We just cant tell until we try it out.

It will bring a bigger trust in the DPoS systems in general, as we have seen they can be vulnerable for attacks. Making it more agile,providing more security in the sanctity of private property and the fast and fluid experience of DPoS at the same time.

A fast, efficient and trustworthy system!

Is it possible? What you think?

All the best
@dalz

Sort:  

Very interesting post :)

I think that main problem with this approach in case of Hive is that the main reason behind demand for the (hive) token is that you want to have more power / higher vote value, weather it's related to reward pool or witness voting. If the vote value = square root of the stake, then there's much less incentivity to increase your stake -> lower demand for the token -> lower token price.

But if the reward pool would only be a small percent of the income generated by the platform - then it would make much more sense :)

Still, the whales probably wouldn't agree on this solution.

Thanks!

I agree its bit anti whale situation, but we can play with the squre root, set it to 1.5 for example... it will be a sacriface for security

The bigger chalange I see here is establishing an efficient account weight/reputations system.

Just some brainstorming on the topic :)

I think this is the right direction in terms of governance. If done right, it will allow voting power to even out among the users and lead to better governance. I would think "account weight" will be a good first step then consider quadratic votes.

As @cardboard pointed out, this is somewhat anti-whale. However, if these rules are only applied to governance votes but not content votes, then the incentives for acquiring more HIVE will still be strong. I supposed there are a number of silent whales who are just trying to earn curation rewards without really wanting to be involved in governance.

In addition, I may be wrong on my understanding of witness voting, but AFAIK, we are allowed to vote up to 30 witnesses and each vote is a full one (i.e. with the entire stake). This was also an added factor on why it was so easy to vote in sockpuppet accounts as top witnesses in Steem. I thought a better approach will be to have your stake split among those that you have voted on (i.e. 50% of my stake to each witness if I voted for 2).

It was really interesting for me finding that paper ... linked above, that basically discuss all the things we are witnessing here now .... also obviously quadratic (root) voting is a know and discussed concept, so we will not reinventing the wheel

The account weight/reputation is something important that should really be further analyzed how to do it properly... it basically replaces KYC on chain.

The last thing you mentioned is a system called one token one vote 1t 1v, that is already in place in some other DPoS chains .... where you can scale your vote to as many witnesses (BP) you want. It was one of the first thing that come up on my radar. Still it does reduces the risk from a Sybil attack but not sure for how much. I guess it is better than what we have now ... 1t 30 v.

I have never heard of such a governance model and stake voting system. WIll look into it deeper as it might help us solve some problems we're currently facing thus prevent the same things from happening.
I doubt big stakeholders would oppose it, at least I like to think that way. If we need to sacrifice the part of our power for the sake of the platform itself, then we should do just that.
I might be wrong though.
Nice read.

Thanks!

I have recently discovered this as well.

People can just distribute the stake between multiple accounts to get more governance votes!

Despite this the smaller votes would still be strengthened would they not? It would still improve the situation overall?

Yes, but the large stakeholders can distribute the stake between multiple accounts and have a lot of influence like before. The account weight/reputation is crucial here ... assigning a proper value for account weight can improve the system even without the square root of the stake . It is a challenge to do that .

Large stakeholders will be able to distribute between more accounts and build up reputation faster. If we dissociate reputation from stake it might open up reputation trading, which would be even worse.

Idea is good in theory, but I am afraid that risks of trying to implement it are too severe because small misstep can kill entire blockchain. (or force another HF)

I'm not hard suggesting anything here. Just exploring and trying to stay open minded about things.
These are unmarked waters and we dont know what will happen until we try something. Doing the same thing over and over again and expecting different results is a definition of madness :)

Also the post just mention principles and not exact solution. We can go with small steps, not a radical change and see where it goes. One new rule for accounts is already implemented... new account needs at least one month to be eligible to vote for governance. Another easy one can be that accounts with zero, or close to zero activity cant vote as well ... etc...

definition of madness is good reminder here:)

Exploring new governance options is good thing for sure, but at the same time we need to be REALLY careful, because one mistake can mean disaster. I am not against progress here, I would love it, its just very dangerous area that needs to be approached carefully.

Tweet:

There is no good reputation algorithm.

I really dont know .... also different approaches for different system is needed, and on one to fit them all.
Also a good enough solution will probably be better than nothing.

I think there is some bottom rules that we can all agree and build from there.
One easy example is that a new account cant have big influence. Another example might be that a totally inactive account cant also have big influence .... etc.