An Overview of Voting in Cryptoeconomic Systems
ETHCC 5 · July 2022 · 28:32
William George compares explicit and implicit voting in cryptoeconomic systems, from DAO decisions and oracles to choosing a chain after a fork. The speaker examines quadratic, commitment and Schelling-point-based voting through social-choice theory.
Speakers
Topics
From ETHCC 5, hosted by Ethereum France.
Transcript
so thanks for coming everybody so my name is william george i'm a researcher working for the claros cooperative so claros if you're not familiar is it a centralized dispute resolution platform i'll talk a bit about that today uh but more generally i'm going to talk about voting and voting in various crypto economic systems so most people when you think about voting on blockchain systems you probably think of this uh voting in daos uh so maybe you have some kind of doubt people make propositions debate on a forum like maybe the proposition is to like give a grant to some kind of project maybe a public good maybe to change a parameter and then after some like healthy democratic debate people go to snapshot you know like people people vote and ultimately if it passes it's executed uh but there are other kinds of
voting that one has in blockchain world so another type of system uh that is particularly relevant to clara so i think a lot about this is based on uh shelling points uh so it's particularly relevant in certain oracles so the idea here is that um you have a sort of incentivized voting uh and it's based on this idea by thomas shelling who is an economist uh they come with this idea of a focal point or a selling point which is a solution that people tend to gravitate towards in the absence of communication because it seems sort of natural or special and an adapted version of the thought experiment he'd like to talk about is that if you wanted to meet someone in paris uh on a given day but you didn't know what time and where well what you what would you do well you'd probably go
stand under the eiffel tower at noon with the idea well the eiffel tower is like a distinguished place and noon is kind of a distinguished time so i'm going to go there just kind of expecting the other person to also go there because it kind of stands out and then the idea of a shelling point oracle is that you you you can like ask people a question well so claros is a it's a shelling phone oracle-based system and then the idea here is that um you know people can have like um different kinds of contracts where they have like um some kind of agreement maybe like that agreement could lead to a dispute uh and uh then if there is some kind of disagreement between
participants that like a system needs to resolve you have a subjective question about like who was right and like maybe just between a freelancer and a small business owner uh you can randomly draw a handful of crowdsourced participants uh and then you ask them the question and you incentivize them so that the answer is the shelling point uh you say okay who was right in this dispute between alice and bob the freelancer and the small business owner uh and they're incentivized to agree with how the other people vote uh or at least how the other people vote after like a potential possibility of appeals uh we have an approval process in clouds but don't worry about that uh so they are incentivized to think like how will the broader community act
like if other people are thinking about this case what will they think and i try to think about that too and then the idea is that the true answer should be a selling point because you think other people came to the same true answer as you you want to agree with them so you all vote for that okay so that's those are two kinds of sort of voting schema uh and uh like how are they different and how are they similar uh i mean you're voting in both cases uh but like a first key point this is a fundamental point between these two kinds of voting like situations uh is the incentives for the participants are completely different uh for the dow voting you vote because you care like you're engaged in the community you want your proposition to
pass maybe you have a financial incentive in the proposition passing maybe you just like you know you believe in the goals of the community you want to participate uh for the shelling point oracle voting generally you don't necessarily care what the outcome is like on a personal level you don't care if the freelancer or the small business owner wins their dispute you just want to be incentivized you want to get a reward uh or at least like not be penalized in the sort of payoff system that comes with this this scheme so note that um this kind of question between kind of governance voting voting because you care kind of like govern voting in national elections
versus this kind of like task voting which is maybe more akin to like voting on like amazon mechanical turk or something you know this is not unique to blockchains uh there are people that have done a lot of research on this and social choice theory and peer prediction and like these existing academic fields and in my talk i'm going to draw on some of their id those ideas uh but there are some like unique things in blockchains that one wants to keep in mind we have like sort of our own kind of attack profiles for how we want our assistance to be resistant to the kinds of attacks that exist in encrypted economic systems so there's you know like a blockchain twist on some of the existing work people have done okay uh and note that there's a what might initially look like a third vote kind of
voting uh where if you have a consensus algorithm and you're like a minor or a validator at some point there might be two blocks that appear at the same height and you have the question of like okay which fork should i mine upon and that is a kind of vote you have to pick one and if you think about it like this actually has the same structure as the shelling oracle that claros uses uh in that you want to be on the one that everyone agrees upon if you mine on a on a blo upon a block that like doesn't wind up getting included in the longest chain uh you'll either not get any rewards even if you find a successful block uh or you know maybe you get like an uncle reward or
something uh but you certainly get less rewards than if you mind on the on the on the main chain uh so again you have this like voting where you don't necessarily care which fork wins but you want to agree uh and notice that um in both situations dows and and chilling point voting sometimes you have multiple choices you don't have like a nice clean binary choice uh in your dow maybe you have like different projects people are proposing to fund fund project a project b project c you can only fund one of them you have a limited budget uh maybe somebody proposed like a troll like proposition like troll option along with the others this is like give all the money to bob bob's an attacker uh maybe on a shelling point oracle uh
you can use claros for example it's kind of like a centralized social media platform content moderation system uh where you ask our jurors okay like somebody post like an abusive message how should they be penalized maybe they should be penalized by spending them for a day or a week or three days or maybe you know they were fine and you shouldn't take out any action at all so you have these like nuanced choices that you know aren't binary and you have to like pick between several options and in both cases you run into classical problems with how voting systems work uh and particularly how like naive voting systems work so if you think about the like simplest voting system the one that like probably you're the most familiar with that has the longest history in human history
that's plurality voting system or first past the post and here the idea is that i'm just going to ask everybody what their first choice is even if there are multiple options i'm going to count how many votes each option gets and whoever gets the most votes they win uh and uh even if they don't have a majority and this is a problem in both kinds of voting for slightly different reasons uh endow voting well maybe like you know like there's like one weird choice that gets like a plurality of votes but isn't representative of the broader community but it gets through anyway because the other votes are fragmented between similar outcomes in shelling point voting um like maybe you know like we have notions of 51 percent
attack resistance in crypto economics uh that are relevant here too uh you know identity systems and blockchains are hard maybe like an individual can control multiple votes uh and if the honest participants are fragmented between again similar options that lowers the bar for 51 attack resistance so that like an attacker that has you know like 25 percent or something of the votes like no longer has to have 50 of the votes to get their their vote through they just have to they just have to beat the fragmented other choices so you don't really want to use this as a voting system you want to do something better so social choice theorists that have thought over you know decades and centuries about voting systems typically have the solution of asking
people people who vote for more information than just a single choice and one thing you can ask them to do is provide a ranked ballot so here the idea is that okay i have these four choices voters please rank one to four and then the voters like okay the pink angel's the best yellow angel's cool the green angel's okay devil last and there are various ways that you can put this together and to produce a collective outcome so the actual mechanism for determining the winner uh is not super relevant to my talk but i just gave a couple examples to give you a sense of how this could work what you should really kind of take away from the next couple of examples is the kinds of information that the
voters are providing to the system but one thing you can do is you can use what's called the border system uh where each choice get that each vote gets a certain number of points for the how high they rank the choice so if i put given option my first choice it gets three points if i give an option the second my check in twice it gets two points third choice it gets one point and if i put the option last it doesn't get any points and then you count the number of points each option has and the option with the most points wins another thing you can do is called instant runoff australian parliamentary elections use this and here the idea is that you simulate a series of runoffs again you have a ranked ballot people rank options one to n and being the number of choices and
then the idea is that the option with the most first the option of the least first choice votes gets eliminated that's the pink angel in this example and the second choices of all the people who voted for the pink angel get reassigned to their second choice so then you keep doing this you eliminate the um the option with the least first choice votes each time uh until you eventually um only have like a head-to-head battle uh between two options and then the winning option has to at least get um be preferred to sort of the next best option on a majority of ballots but there are other kinds of information that the voters can provide there's a system called approval voting
where you just like say okay this option's okay this option's not okay this option is okay but you don't provide like discretion or distinction between the options you think are okay it's like okay or not okay and then typically you uh take the option with the highest percentage of approval uh is the winner uh there's another option called zhu zhu zhu zhu zhu zhu zhu zhuman joyter it was like innovated by some like majority judgement by some like french researchers sort of in the last few years uh we're here like you it's still not a ranking um you you say okay you can have like different classifications for how you give for the for what you write options you can say oh this is great this is awful this is mediocre this is okay but you can give multiple options the same ranking like everybody can be great
or everybody can be awful uh so it's not the same thing as like ranking one to n but again you're giving sort of the system more information and one thing that voting theorists have realized historically is that all voting systems are flawed there's no perfect voting system so there's this famous theorem of arrows from the 50s that any ranked choice voting system has strategic voting there are situations where people will be incentivized to vote tactically uh this strictly speaking this theorem is only for the ranked choice system so it doesn't apply to approval voting or majority judgment but they have a they have their own strategic voting like it's just different uh and subsequently voting theorists once they're like okay no perfect voting
system they've spent the ensuing decades trying to like look at trade-offs between different kinds of voting systems it's like okay every voting system has a problem but like what problems do i am i willing to accept in order to have other good properties uh you know like i want to have like property a like maybe i want to make sure that if i like participate and vote for something that i like uh you know it's not going like that my extra presence of my vote isn't going to cause it to lose but that's going to like you know by accepting that i have to accept some other weird property that you know why there's going to be some other pathology that comes along with that uh and there's this like a series of trade-offs you're like okay i'm willing to these pop negative properties and exchange for these good properties
and then for like crypto and generally if you're designing a voting system you have to ask yourself okay like what what do i care about if i'm designing a dow governance voting system or if i'm designing a shelling oracle like what trade-offs are important to me uh so just to give you a couple of quick examples of things that one might think about in the shelling oracles you care a lot about lazy voting and disincentivizing lazy voting and this gets back to this idea that the individuals don't care about the outcome of the case like intrinsically uh so like maybe you know if they can get the same reward by like voting randomly or not putting in effort they would want to do that so you have to make sure that the incentive system that sort of is like
being imposed on your participants is strong enough to make them actually review the case to actually spend effort and think about the case and so the different kinds of lazy strategies like every voting system has a lazy strategy because you can always work randomly but some have other lazy strategies for example in approval voting maybe your lazy strategy is just a click i approve everything everything's great and maybe everything is great or maybe not uh so and there's like an interesting sort of parallel of this to uh back to the the consensus algorithms uh so if you like squint is a metaphor if you think of like being in a naive proof-of-stake algorithm uh where you can like validate on multiple chains um there's like no penalty for trying to
in the case of a fork and having multiple blocks at the same height uh trying to validate apart from each from from each block uh you know you're not spending extra electricity to mine on both blocks as opposed to just one uh because it's proof of stake uh then you just mine on everything uh so you're kind of in the situation of the approval voter that's like proof of everything and this is the nothing it's thick problem uh and the solution that the um ethereum foundation and people who have like designed better proof of stake algorithms uh has been to prevent you from doing this uh you have to choose uh if you uh try to validate on multiple plate and multiple blocks multiple forks uh you get slashed uh so you're forced to make a choice uh and
the uh in the upcoming version of the version two of claros uh we take a sort of similar principle for how multiple outcome votes should happen uh in that um we plan to use a ranked choice system uh so the system will be like there will be a modularity in version two of claros so actually you can have different kinds of voting systems for different kinds of cases but like one thing particularly planned to develop uh for many cases is a ranked choice voting system uh where you you provide your ranking candidates one to n uh and basically like you're you're forced to like you can't just say everything is cool you have to like give in more input to the system than that you have to say okay like even if everything is cool this option is better than this option uh and then there's an
incentive system that goes along with that that gives you um a payoff based on how high you place the the winner uh so back just briefly to the approval system lazy strategy like you could design a uh an incentive system that would go along with approval voting that would disincentivize this uh but it turns out that if you sort of look at lazy strategy payoffs you get more leverage with the ranked choice system uh in that um you can kind of have like lower fees and lower deposits with ranked choice voting by compared to approval voting for the same level of resistance to lazy voting so you're getting sort of more leverage from your incentive system uh so note that in dow voting there are
kind of lazy behavior too even if it's not quite the same and that if you're being lazy in a down voting you're probably just not going to vote uh you know like maybe there are tons of propositions on the forum like reading all those arguments that's i don't have the energy for that uh so you don't vote and in turn it turns out that a lot of dows have pretty low turnout and the typical solutions people have to this involve delegation committees chosen by election or sortition and here you know like with the previous slides i was talking about lazy voting and telling games our idea our solution was to sort of like exaggerate my incentives on my participants so that they like had an like a bigger stake
via the incentive system and making a good choice uh here people have a bigger stake in making a sort of choice for the dao because the delegates have more weight their vote means more it's more likely that their outcome is going to win because they have like people delegating to them uh so if i care about the solution like the outcome of the of the proposal on the uh you know maybe if i only had one vote like i was like you know my vote's not going to make a difference but if 100 people have delegated to me i'm going to put in the effort i'm going to like really think about the proposition um another kind of vein of things people think about in blockchain voting to try to innovate on on making better voting systems is around having voting systems where people can express strength of
preference so for example in commitment voting people can offer to lock up or can accept to lock up funds if their proposal wins and this is a way of expressing that yeah i really care about this thing so their votes should get more weight uh another voting system which people are very enthusiastic about i couldn't have a presentation like this without mentioning it is a quadratic voting uh where here the idea is that you have some number of credits and you can give them to different outcomes it's kind of like the board account from before uh but now the number of votes that that translates into for the different outcomes is the square root of the number of credits you give it so you can give all of your credits to one candidate uh and that candidate will get 10 votes or you know you can split
the credits more evenly 36 votes here 36 votes there and you sort of get in practice more votes so there's this trade-off that you as a voter have between caring a whole lot about one thing uh versus being like oh like there are a lot of good options uh you know i like don't want to dilute my my weight uh so i'm going to like accept that like even though i care about this like like this one thing a little better uh i'd rather have a voice and more options uh so but this sort of illustrates what i just said uh and note that uh in claros and in many shelling point oracles uh typically there's only one outcome that will be executed uh if i create a contract you know i'm the freelancer and small
business owner or i'm like i am on the decentralized social media platform uh there are coded into the smart contract there's gonna be like okay if the jurors rule zero this will happen i also got a refund if the jurors rule one i'll split the money between alice and bob if the jurors ruled two like bob will go to you know the payment uh and you know the freelancer will be paid uh and if the jurors rule three then i'll give like my freelancer in this decentralized east you know like freelancing dispute an extra week uh and only one of those things is going to be chosen uh whereas in the dow votes you might it's more natural to have out like multiple outcomes being applied at the same time maybe you have a budget uh and you want
to fund multiple goods public goods multiple investments uh and you can find more than one you just can't fund all of them uh maybe i'm electing a legislature i'm picking different people uh and i have like lots of people but you know not not everybody's gonna be elected but like you know dozens or hundreds of people will be elected um so in the quadratic voting you'll notice that like it doesn't really make sense to have the strength of preference trade-off if only one thing is going to win uh if like i think that by giving all of my credits to the white the yellow angel what the what yellow angel is gonna win well that was my first choice i'm just gonna give them all of my credits uh where as in um
in like this a shelling point system you can imagine still applying quadratic voting even though like this like trade-off between like strength of preference and wanting to have a voice over lots of options doesn't make sense anymore because like a lot of options aren't going to be selected uh so but now instead of thinking of this as like strength of preference you can imagine using quadratic voting in a shelling point oracle as like an expression of certainty uh if i'm really sure that the yellow angel is the right answer i might give it all of my credits and this could make sense even only if the one answer is is chosen uh but then again you have to make sure that whatever incentive system you use that goes along with this resists lazy voting
strategies um note is just as an aside in um in in quadratic voting and there is a you need civil resistance if you if someone has multiple votes they can sort of manipulate their credit votes between their different votes to give themselves more weight in kind of a manipulated way compared to people only have one vote so it's really important to make sure that each participant only has one vote and a solution to this to make sure that like your different voters or individual human beings is to use a civil resistant proof of personhood tool for example like proof of humanity uh this is a curated list uh where if people people can submit themselves as a human being and then if that's challenged that leads
to a dispute over whether you're eligible to be on the list whether you're there's a duplicate of you for example already on the list and those disputes are handled again by clarisse uh but then you can use this to enable like better voting systems uh voting systems like quadratic voting where you need to have civil resistance and there are other voting systems which i don't have time to discuss things from peer prediction that would also sort of need the same tools uh and then just as one final point uh in um so i said in the version two of claros we're planning to have a modular system uh where you can have different kinds of voting for different kinds of cases but particularly good will be these like ranked voting systems uh and that's true however another thing that we're planning to add to the next version of
claros is a automatic forking mechanism this is seen as like a tool to provide 51 attack resistance uh where if they're like sufficiently contentious cases that get appealed efficiently number of times maybe there will be a situation where the community wants to fork uh fork out an attacker maybe just fork over an ideological difference uh and an important thing to notice is that it's not enough to just like have the system be like ah the vote's really close they got appealed a whole bunch of times and it's like 52-48 maybe there should be a fork because in claros you know that the shelling point oracle deals with frequently subjective cases uh so the system like there might be a like a narrow case that has like it's
like 5248 support it's just due to reasonable people just disagreeing uh so you could have a um a question like on the left here where you know it's like a subtle question maybe it's an education maybe it's just poorly defined and people vote different ways and it looks really close but it's just close because because of sort of natural disagreements uh this question is from a famous ogre case that got appealed like a whole bunch of times in passing uh and uh but like at the same time you could also have a situation where there was a 51 attacker and the system can't necessarily tell those things apart by itself uh so on the right it's the same voting percentages uh but like now you know the devil seems to have a 51 attack uh and our solution to this is basically
a hybrid voting system uh where you still provide your ranked vote uh you're like okay a is better than b you know c is worse uh and you need that in order for the system to be able to produce like a shelling point outcome that like can you know fits within the system that was used in the preceding appeal rounds uh but also you provide an approval vote so if you're in this like forking module uh you're going to say okay like i think that like a or b would both kind of be acceptable if it comes to it uh or some people might be like no only a is acceptable b is trash uh and the rationale for this is that if you're in an edge case where everybody you just like is disagreeing
for natural reasons you can approve of everything you can be like okay yeah like i think a is better but like everything's fine there's no attack here uh but and then there will be no fork whereas if you think that one of the options is an attack then you don't approve of that uh and you can potentially wind up on a fork uh so like what's interesting about this uh is that like when you get to this stage where you're at the you know like you've drawn in the whole community and you're debating about whether or not there should be a fork it is kind of both a shelling oracle vote and a governance vote it's about like there's a question of what the future of the community is going to be uh so you kind of have two voting systems for these like two goals
okay so just to wrap up uh we show that like there's this fundamental distinction between these kinds of different voting situations about how where voters incentives come from uh and this leads to shared goals and also some differences uh so like different things you want to keep in mind so and i hope that whether you're designing a dao like voting mechanism or a shelling point oracle when looking and thinking about these sort of differences like the sort of comparison can illuminate like things within your own point of view okay so thank you questions thank you um i was wondering because
like uh you were speaking about the dao voting but like it's very different from claros because on diels people tend to vote for their own reward whereas on cleros most of the disputes have like a right uh solution like there is a determinate like something that objectively is the good answer yeah so what are your your thoughts on that like is there a different voting system that you need or yeah yeah so like you know like that maybe have been a point that i should have like it you know more emphasized that you know you think of claros as having a distinct true answer versus like uh as a uh you know like sort of personal preferences uh that that that's true uh you know so like that's something that's worth
highlighting uh the um so like according to what i was trying to go fat with the like themes of the talk is that like you have a lot of common challenges you still want to avoid vote splitting uh it's still probably a bad idea to use plurality uh but um if you're you know like what beyond that what the requirements are can be can be subtle and basically the answer is yes you need like slightly different priorities in your voting system so like my argument was like well like in order to disincentivize lazy voting which is like more of a problem with taos or with more problems with shelling oracles than with daos because people are voting for their preferences with dao so they're not necessarily incentivized to be lazy you need like something that like in a
voting incentive system that better leverages the economics to get people to exert effort uh and then as this like argument that ranked voting is better in this circumstance whereas if you're on a dow like maybe like an approval vote is like more appropriate thank you you