8 ms·
A simple guide to quadratic voting
- michaelscott 4y ago> In 2019, the Colorado State House of Representatives used quadratic voting as a way to determine which appropriations bills to prioritize funding first. I think this is the best use case for this voting structure: given a set of options to choose from at the same time, you're able to rank these democratically in a way that embodies all the benefits described in the article
- arcticbull 4y ago> Because quadratic voting considers not just how many credits were allocated to each option but also where those credits came from when calculating votes, it can be particularly vulnerable to Sybil attacks. I've always wondered how DAOs solved the Sybil problem, speculating that governance was no more meaningful or binding than a Twitter poll without a solution. I see they just didn't.
- numtel 4y agoI've built a DAO tool that requires passport verification and allows voting on binding proposals with quadratic voting. Each proposal defines a series of transactions to execute on chain. https://democratic.capital https://democratic.capital
- remram 4y agoHow does the program verify passports?
- numtel 4y agoStripe Identity
- tiagod 4y agoDoes it accept a passport from any country? How are they verified? Couldn't counterfeit passports slip through? How do you make sure a passport is used only once? Doesn't this make you a target to a state level attack?
- numtel 4y agoStripe Identity is used to verify passports, it supports 33 countries (mostly NA and EU) right now. A salted hash of the country code and passport number is published on chain which allows only one instance per passport. As far as a state level attack, it's possible. A complete solution to Sybil resistance is not simple. The passport verification service is at https://coinpassport.net https://coinpassport.net if you would like more information.
- remram 4y agoHow does it deal with people who have multiple passports? Or renew their passports when they expire? I have two valid passports right now, with different numbers, issued by the same country. Stripe Identity seems to very explicitly not be intended to guarantee any form of uniqueness.
- p1necone 4y agoSometimes I wonder if I could have been very rich very early by just building things while ignoring any part of said thing that seems to be a major, unsolvable problem. The requirement for stuff to actually work most of the time seems to be somewhat imaginary.
- kbenson 4y agoThe answer in many cases is likely yes. That's what fake it 'till you make is, really. Obviously sometimes it fails, and in some cases more spectacularly than others, such as with Theranos. But how many founders of companies with strategies that could kindly be called "Theranos adjacent" made of with lots of money? My guess is enough that knowing the real number would make all of us very sad and mad.
- JohnHaugeland 4y agoWhat's stopping someone from just buying one token from each of 100 addresses, then having 10x the voting power they're meant to?
- drexlspivey 4y agoI assume your votes are weighted by the number of tokens
- spencerchubb 4y agoWhat you are describing is called a sybil attack. Gitcoin is an example of a project that implements quadratic voting, and here is a blog post about how they mitigate sybil attacks and other forms of attack: https://gitcoin.co/blog/deterring-adversarial-behavior-at-scale-in-gitcoin-grants/ https://gitcoin.co/blog/deterring-adversarial-behavior-at-sc...
- JohnHaugeland 4y agoI don't mean to be argumentative, but this is far worse than a Sibyl attack. In a Sibyl attack, an attacker can spend N resources to carry the weight of N people, gaining proportionate influence where proportionate influence is disallowed. In this attack, the attacker can spend N resources to carry the weight of N^2 people. That is, they can vote as the square root of the pool. If there's a million tokens in the pool, they only need a thousand to achieve dominance, unless someone else uses the same trick simultaneously. This is the kind of thing that's so bad that it's hard to imagine someone didn't design this with the explicit purpose of exploiting it themselves down the line. I'm not sure why you suggest quadric voting fixes this, as it actually makes this radically worse. You seem to be reciting PR without understanding the underlying math.
- tasuki 4y ago> If there's a million tokens in the pool, they only need a thousand to achieve dominance, unless someone else uses the same trick simultaneously. I'm probably misunderstanding something, mind explaining like I'm five?
- moralestapia 4y ago>Quadratic voting (or QV) requires more complex calculations than regular rank choice voting >The counted votes are the square root of the “credits” allocated to each choice. Complex ... ok ...
- edflsafoiewq 4y agoI mean the trick isn't to compute the square root, it's to understand what effect doing so has on the overall voting system, right?
- thesausageking 4y agoFor people asking about Sybil attacks and how do organizations prevent someone from pretending to be many users, this is still an unsolved problem. One project that's working on it which has gotten a lot of support is Proof of Humanity: https://www.proofofhumanity.id/ https://www.proofofhumanity.id/
- deleted 4y ago[deleted]
- LeoPanthera 4y agoI got as far as it using a cryptocurrency and then noped right out.
- figmaheart255 4y agomy personal favorite is "proof-of-Apple" [1] [1]: https://news.ycombinator.com/item?id=31751203 https://news.ycombinator.com/item?id=31751203
- elefanten 4y agoI've seen far more scathing condescension and fury at Proof of Humanity than support. Anywhere you'd point me for passionate pro-PoH takes?
- thesausageking 4y agoI haven't seen fury over Proof of Humanity. Maybe you're thinking of Sama's Worldcoin which is trying to scan the eyeballs of everyone on Earth to generate unique Ids? It was met with a lot of criticism over privacy and how it's being funded (much of the created new currency will go to its VC backers and Sam). Proof of Humanity is definitely still an experiment, but has a much more open and less authoritarian design. Of all of the "proof of personhood" projects it has the most traction, especially within in the Ethereum community where its founder, Vitalik Buterin, has written a lot about it, including in his recent post on Soulbound: https://vitalik.eth.limo/general/2022/01/26/soulbound.html https://vitalik.eth.limo/general/2022/01/26/soulbound.html
- 4y ago
- kaashif 4y ago> Although QV is at its heart an intuitive process, many of us may be unfamiliar with what “quadratic” functions are. Having to speak about something we learned in algebra class as part of a voting process can risk being distracting from the actual vote. "Something we learned in algebra class"? Seems like a weird thing to say, everyone who understands cryptocurrencies should find this trivial to understand, surely this isn't a real problem.
- zdragnar 4y agoThe percentage of the population that actually understands cryptocurrencies is extremely small. If you try to explain to my father what QV is by talking about cryptocurrency, you've lost before you even started. Same goes for much of algebra, in fact.
- smitty1e 4y agoThese are interesting variations on the concept. However, as Jonah Goldberg is fond of saying, "Complexity is a subsidy." When it comes to an official voting process, let simplicity drive us to hard-copy ballots filled out in person as much as possible.
- edflsafoiewq 4y agoThe point, I guess, is that the vote counting function is sublinear, ie. f(x+y) <= f(x) + f(y), ie. allocating many credits to one place gives you less total voting power than allocating the same number of credits over many places. But why the square root function in particular?
- numtel 4y agoIn my experience with writing quadratic voting contracts in Solidity, the exponent of 2 is mandatory because there's no way to calculate an nth root in Solidity. Writing that out though, I realize that the root could be calculated by the client and simply verified on chain. One token, one vote is an exponent of 1, it should be up to the voters to decide the exponent used based on the issue in order to choose the degree money influences decision making.
- freemint 4y agoFalse. You can very much implement the n-th root. Details depend on the number format chosen (fixed vs floating point emulation). The most obvious method is binary search. You calculate the n-th power for some number and see if it is larger or smaller then then the number you want the root from and narrow it down. Equivalents of the doom trick using integer division and instead of >>1 (which is ÷2) of the exponents + a few newton iterations would also do the trick in floating point format
- numtel 4y agoApparently it is possible. [1] I guess I missed that when I was trying before. [1] https://ethereum.stackexchange.com/questions/38468/calculate-the-nth-root-of-an-arbitrary-uint-using-solidity https://ethereum.stackexchange.com/questions/38468/calculate...
- nabla9 4y agoqv measures degree of preferences, instead of direction of preferences. qv is robust under various non-ideal behavior (in large groups) qv does not suffer from cyclic collective preferences (voting paradox) qv does not suffer from discursive dilemma and doctrinal paradox. qv counteracts majority rule problem. A small minority can get their voice heard if the intensity of their desire is strong.
- Jorge1o1 4y agoAnd to think, people in the U.S are fuming about the Electoral College. Wait till they find out about QV. Imagine getting involved in some shitcoin project where a guy with a hundredth of your investment has a tenth of your voting power
- bergenty 4y agoIsn’t the electoral college worse. Someone living in some sparsely populated midwestern state has more than 100x the voting impact as someone from an urban area even though they may contribute very little to the economy and probably receive a lot of welfare and subsidies. I’ve been fuming.
- KevinEldon 4y agoThe bigoted, classist, and emotional language in your statement undermine your argument. Edit: Rewording my comment for clarity and to remove passive aggressive phrasing.
- rrrrrrrrrrrryan 4y agoImagine a tiny geographical area that punches above its weight (economically-speaking). Its people pay a ton in taxes, take very little from the government, but they also have disproportionately large voting power. While this setup is blatantly undemocratic, it could be hard to argue that their voting power should be reduced when they're contributing more to the pot than they're taking out. A bullshit justification to someone who actually values democracy, but this logic isn't entirely insane. Indeed, this scenario is reality in some places on earth. America, as we all know, is nothing like this. The smaller states take more than they give. There is no excuse to not make their votes count the same as everyone else's.
- rrrrrrrrrrrryan 4y agoA vote in Wyoming is worth 3.6x a vote in California due to the electoral college makeup. This is just raw voting power though, not the "impact" you're likely describing. Votes in battleground states will always have more impact, but that has less to do with the electoral college makeup and more to do with the fact that we group the votes geographically and allocate them all to the same person. If/when Texas becomes purple, the impact of a vote there will be greater than one from a tiny deep red state, despite the fact that voters have less voting power.
- jmount 4y agoShould just call it "smurf voting."
- culi 4y agoIf you wanna try out QV with some friends: https://quadraticvote.co/ https://quadraticvote.co/ Also, shameless self plug for this toy I made that lets you compare first-past-the-post, quadratic, ranked choice, approval and about 2 dozen other voting systems: https://votevote.page/ https://votevote.page/ Basically the voters and the candidates are colors. How much a voter prefers a candidate is a factor of their RGB distances (sorta)
- Elzear 4y agoVery nice! I am working on a very similar project ( https://www.elzear.de/posts/2021-01-10-polls https://www.elzear.de/posts/2021-01-10-polls , https://rank-votes.vercel.app https://rank-votes.vercel.app) but I had never seen your work, thanks for sharing!
- culi 4y agoOh cool. I only knew of 2 or 3 similar projects before starting this project, but since then I've come across dozens of other ones. I'll add to my list. Some day I'll add a webring of similar projects on my site Mine is currently lacking in Condorcet methods. The original prototype of it had a few more condorcet methods in it, but the core reason I wanted to rebuild it was to make heavy use of cacheing. E.g. no reason why both STAR and Borda should have to make the same calculation twice. Or why all these head to head methods need to produce the same exact matrix. So I have this "SuperElection" class that tries to break things down as much as possible I think this did in fact help my performance but it's also made everything so... interconnected. Definitely been a good learning journey. But I might just re-implement kemeny-young and some others in a less efficient way and worry about optimizing them later
- culi 4y agoAlso some cool new features in the dev deployment of it: https://dev--votevote.netlify.app/ https://dev--votevote.netlify.app/ I've been meaning to finish polishing it for a month now, but it's been hard to find the time. You know how it goes. Lots more voting systems and cool features are in the works though