Using on-chain voting for information aggregation with Brett Falk | a16z crypto research talks
31 Oct 2023 · 1:00:15
Brett Falk, a research assistant professor in computer and information science at the University of Pennsylvania, examines how well different on-chain voting mechanisms aggregate the wisdom of the crowd and how resistant they are to adversarial control. The talk compares initiative voting, where token holders vote yes or no on proposals, with approval voting, where the proposal with the most approvals wins, mechanisms used across DAO governance and DeFi protocol parameters like interest rates and fees.
Speakers
Topics
Transcript
uh welcome everyone to today's a16z crypto research seminar very pleased to welcome Brett Falk who's a professor at the University of Pennsylvania um did his grad work at UCLA uh finished their 2010 working mostly on multi-party computation stuff I guess NPC yeah so he works on lots of different parts of the blockchain space including some stuff that um you know is near and dear to many of our hearts which is voting which is what he's going to talk about today so Brett it's all yours thanks for the intro I'm glad to be here um yeah so just as I haven't met most of you so here the the slightly longer background is like I I got into cryptography mostly in Secure multi-party computation and thinking about like practical applications of
secure multi-party computation we did some stuff fun you know trying to calculate the probability satellites are going to collide without revealing the underlying data and now in MPC space I do a lot of stuff on distributed oblivious Ram so how can you do secure computation in a ram-based model as opposed to an a circuit-based model but I've also been doing for the last bunch of years now like more and more blockchain stuff I teach the um the blockchain course for pens mcit online program for the last uh I'm eight or nine semesters I think um and um been doing some stuff on stable coins with people um at the Stevens Center for Innovation and finance looking at nft royalties
we've been doing some modeling of trading fees and amms on the crypto side I've been really interested in using threshold signature schemes it's like kind of a cool application of MPC but today I want to just talk about this thing Unchained governance so this is not exactly my area but it's something I think is really interesting and so I'll keep this sort of at a pretty high level hopefully this should be like a fun talk and not to uh like technically deep but there's like lots of papers behind it that we can talk about later if you want um so this is in two parts um first governance to elect block producers for consensus committees and second and DOW governance and I think they're like useful to think about a little bit different ways and we've modeled them a little differently so so here's part one this is based on this
paper with Jerry soucalis who's at bu and alone benheim who's now at Microsoft um but basically the idea of this model is like there's a lot of proof-of-stake blockchain protocols where you elect a consensus committee and then that once that committee is elected they run some classical consensus algorithm and for the purpose of this talk we don't really care what that consensus algorithm is we we just sort of care how do you choose this Committee in a way that's good for you and from a cryptographic standpoint the best the simplest notion of good for you is two-thirds honest right that's like the very simplest criteria you could consider right and these cons committee based consensus is used in a lot of places like it's the foundation of all the cosmos chains and so there are lots
of Cosmos chains you've probably heard of right and are familiar with um you know and it's also for other chains like Tron and EOS and so that it's used a lot um and the one of the main advantages is that these chains right get instant finality right so if you have Nakamoto consensus you have a longest chain rule right you can have chain splits and you know before the merge ethereum had like 300 uncles per day Bitcoin has only about one Uncle per month but they're still an issue of finality and makes bridging hard makes a lot of things hard whereas most committee based consensus chains right advertise instant finality and what this means is that basically that they assume that the elected committee will be honest every single
time and then you can claim in instant finality and then you get no Forks so this is sort of a nice thing one other thing that I kind of like about in committee based consensus is you can then if you have like a kind of small semi-static committee you can do kind of interesting stuff you can ask the committee to do other stuff for you so like you can have a secret mempool because the committee members are all running Intel sgx like the secret Network you can ask the committee members to do things like a distributed key generation like osmosis has been talking about doing this kind of thing you can ask the committee members to hold shares of secrets so algorand research had this like stuff on can a public blockchain keep a secret by secret sharing to committee members you can have the um the committee
members be it price Oracle so Tara did this before they collapsed sort of an interesting kind of thing if you need price oracles as part of your chain you just ask them to do this you can elect block produces for other chains the binance chain does this for BNB you can build Bridges like this right a lot of this is like a nice architecture for a lot of cross chain Bridges so like Thor chain axlr Zeta chain these are all Cosmos chains where the committee members also run validators right on these other chains so they can manage liquidity pools or um like you know Bridge contracts so it's kind of like an interesting like something that's nice that you can do with these like committee based consensus protocols so it's sort of a reason why we might want to think about
using them right the big problem with them is that um they they tend to be kind of small and stagnant right the the consensus protocol means that um you can't have a really big committee and um so these committees are are kind of small um and they they don't change that much even if you have elections a lot the committee is like pretty stagnant um and so that's kind of a problem compared to you know like a proof of work chain for example like they have a lot more leader rotation but assuming we are going to think about committee based consensus the question is like how do we elect a committee that's like what I want to talk about here you have one question is um sort of what is the the Civil
resistance mechanism how do you identify committee members and voters this can be proof of stake it can be proof of work most people think of the proof of stake model but um right um it has been proposed that you could run Cosmos on top of proof of work if you wanted to and just run tendermen at an elected committee there is you know an early paper bizcoin which basically said you can have like a hash based um Byzantine agreement protocol on top of Bitcoin to get some finality um but then once you have the the proof of stick are you once you have the mechanism for identifying who's a voter and how much their vote weight is the question is like how do you aggregate votes um you know the cosmos chains basically all use a single vote like you get a vote and it's proportional to your stake but
like as a as a address you get one vote um you could have um approval voting where you can approve of any number of people EOS does this and Telos does this and whatever you think about EOS it's still an interesting voting mechanism um and you could have a lottery based system um and this was so there's lots of uh different ways you can kind of think about this so I want to talk about sort of like how does this system work in terms of mostly on approval voting because that's kind of the the interesting thing here so what's what's the best way to choose this committee and how does approval voting play into this um but we'll start as a warm-up with um the lottery based system because this is kind of the easiest to out analyze
and so like if you look at the algorand paper they make an assumption they say 80 of the stake is honest and the classical consensus protocol will succeed if two-thirds of the committee is honest and now you have a concentration bound right what's the probability that a binomial yeah um is uh you know with a binomial with parameter 0.8 is below two-thirds right it's um it's very small and they suggest in some of their parameters that you want to choose this so that this probability is below either like 10 to the minus 12 or 10 to the minus 18.
um and if you want to claim instant finality you want to say that you'll never ever have a bad committee and so they say if the failure probability is 10 to the minus 12 then and you elect a new committee every four seconds then you can have a failure time of on average 128 000. resilience against Bad committees or are they just dead um I in in the original like so I can't speak to exactly what their their code is doing now but in the basic um in you know in the original paper I think there's no resilience you just have to say this there have been versions where they had like uh sort of emergency backup procedure where if there's a fork the next committee votes on the brand which branch of the
fork to extend I don't know what actually got deployed but that does not committee a Time T pick the committee or have a huge amount of influence on the committee at times like pick the randomness okay so so so so so there's a big question right how do you if you were going to do a lottery doing the randomness right is obviously really hard right that's sort of not the purpose of the stock right by Al Grande right they're using verifiable random functions and so you have some control over that but not very much right so there's like a seed that goes into the vrf right in the next committee everybody generates their own vrf output right and then you choose the the lowest bunch of them um it seems that there's not that much you can even if you're the current committee right you get to you get to
choose a little bit but like it doesn't um you don't have that much control right there's other things you can do right ethereum also does something kind of like this right they have randow where people it's a commit reveal scheme right and so you can ask questions about like what is the randomness going into this Lottery based mechanism um I was just putting this up sort of as a as a baseline thing if you're thinking about honest committees like here's kind of the analysis that would come up like in the original algorithm paper um right and you can just say you know you have a turn off bound and so if you're if your stake percentage if your percentage of honest steak is above your threshold right then as the number of tokens goes to Infinity then your chance
of an honest committee goes to one you know exponentially quickly um and um in like some of the stuff Sylvia was right sort of said like this we like Lottery because there's no mechanisms behind it right like it's hard to design a good mechanism and sort of like the the the simplest kind of thing where this lesta can go wrong like there's there's no rewards for Block producers there's no slashing there's no voting um and maybe this is a good thing um we're going to be talking about when there is voting but this is sort of the Baseline um and um ethereum after the merge right does the same kind of thing where for finality so I didn't quite put them in the committee based consensus model
because the their consensus is sort of split here but the the finality Gadget right chooses a committee every Epoch um and they do a similar kind of analysis with different numbers they assume two-thirds of the the stake is honest and then they analyze the probability that more than one-third of the committee will be dishonest so you again get this turn off bound that gives you something nice they also they choose their committee size to have a 2 to the minus 40 probability which is basically the same as 10 to the minus 12 which is what algorange is and so sort of looking around where these things came from there's like an old uh like vitalik had thrown out some numbers of saying we think two-thirds
and one-third into the minus 40 and that seems to have been how these numbers were chosen and then now there's 128 committee members because if you do this binomial probability you get 111 you need and you round it up to a power of two and you get 128 and so there's a little bit of arbitrariness and sort of how these things are chosen but this is the analysis that kind of backs them as far as I can tell so I agree some of the parameters are arbitrary the two-thirds I would not have thought or you mean in the you don't want to go more than two-thirds malicious yeah yeah you have to assume two-thirds of the stake is honest to get the one-third so right there there's the the for them they want a probability that no more than one-third of the committee is malicious
right and whereas algren wanted the probability that tooth no more than two uh no more than one here they want no more than two-thirds of the committee as malicious and Al Gran wanted to know more than one-third of the committee is malicious um but then this question of what how much of the stake is honest you need to assume more of the stake is honest than your threshold right algorand assumes 0.8 because that's more than two-thirds and here they assume two-thirds because that's more than one-third um yeah here my guess would be like two-thirds on a stick seems necessary to have kind of reliable aliveness okay yeah sure so so maybe you understand that that assumption you inherit from other things okay yeah and then you also like more than two-thirds malicious also seems like a bad threshold of the Cross yeah
so these I think are a little less arbitrary um right the the lottery based committee consensus like works well in these analysis the committee is large enough um and the super majority of the stake is honest um and the question is sort of can you do something better with voting if you allow people to vote um so we made a model that was just trying to capture what was done in the past year which is you have a really dichotomous outcome you win if two-thirds of the the committee is honest and you lose if more than one-third or you can choose whatever parameters some Alpha fraction whatever is your con the tolerance in your consensus protocol but for now you
think you you win if you can elect a committee with two-thirds honest people and um you lose if more than that uh if less than two-thirds is honest we assume that all the voters their goal is to create an honest committee they just don't really know who's honest or not you have very little information in these systems when you're electing somebody to be um on the committee and for this model we kind of ignore like secondary characteristics of Who You might want in a committee of like whether they're extracting Mev or whether they have really low latency or something like that just as like a first step we want to say like can we recreate the lottery analysis with some voting um and we're going to start with approval voting because I think this is
the sort of most General that's been used right there are lots of voting schemes and we'll talk about some of them later but like people have actually been using vote approval voting um to elect consensus and hear the idea of approval voting is you don't get to vote for one person you get to approve of up to K candidates and they all get your full vote wait right it's not your vote is not split between them if you vote for three they all get your full approval and then you count the committee is made up of the people who get the most approvals and in normal a single vote system like in Cosmos you get one candidate so this could be like one approval voting you get only one person you can vote for and the problem with approval voting is basically um that it's it's kind of complicated
for the voters even uh even if voters are not assumed to be strategic like even if you're an honest voter there there's not an obvious sort of honest strategy right like if I think the candidates are from best to worst Like A B C D or actually here I guess in this example they I think they're best to worst in badc right do I vote for just the best or do I vote for the two best or the three best or the four best like I it's not actually obvious like there's no heuristic for voters right like voters kind of have to be strategic almost um because of the way that the system is set up whereas normally like for a single vote election you can be If you're sort of a myopic or a non-strategic voter like it's kind of you vote for the person you like best
right um so K here is chosen by the voter okay okay so sorry so um in terms of how many people you are allowed to vote for so in in EOS they just cap it at 30. um in in this we're so you know normally we assume that you can vote for up to okay right you don't have to vote for this you have to choose how many people you vote for up to some threshold or maybe there's no threshold right you can vote for everybody if you wanted to um so we'll we'll focus mostly on when people are voting for fairly small numbers but two can for for you know you for your thoughts you can think of like k equals 30 you can vote for up to 30 people say and that makes sense when the
committee is for ESO size 21. I was asking because the case like small you can almost cheating a little bit but you can almost say what I mean by Honest strategy is that you actually vote for the 4K people yeah you always vote for that many people say 30 that's sort of unreasonable yeah yeah so that's right you could say and we'll we'll look at this a little bit um we'll do some uh simulations and stuff where basically we say like suppose everybody just votes for their top two or everybody votes for the top three and the the sort of punch line is that that actually does really pretty well um even though that's not the optimal strategy um yeah it was a preference like bacd or whatever you're saying that the votes have like different prizes over which yeah so here's the the little bit of
this model we assume there's M candidates and M is known every candidate for the committee is um probability with some it was honest with probability p and dishonest with probability one minus P so there's two types of candidates good and bad candidates um you have n voters and every voter receives a signal about the candidate's type and this allows them to calculate a posterior that that candidate is um honest in practice that signal is past Behavior not current round Behavior yeah I mean it could be past Behavior it could be like what you heard about them on Twitter it could be you know I mean so we assume it's a very noisy signal right um but but you have some information about about the candidate
um and um and the these signals um yeah then the question is sort of how does this voting work as an information aggregation mechanism like is it good at it I sort of crowdsourcing the the weak signals that people get um and um so my intuition when you started this I thought yeah so what's the information structure like what you are you assuming the signals are IID condition type yeah so yeah the signals are IID conditional on type so um um yeah so um and I sort of thought there was like a simple um thing would be maybe like you know if you want two-thirds of the committee to
be honest you vote for people who you think have a two-thirds chance of being honest like I thought there would be some kind of simple thing like this and where you could solve it in like an hour and it would be fun um and um so we would call this like a threshold voting strategy where you basically vote for everybody who who's who you think is above some threshold Tau of who's of being honest um and if you do this then you can analyze things reasonably nicely um because this because the signals are IID conditioned on type then the number of votes if everybody follows a strategy like this the number of votes each candidate gets is um independent conditioned on type and it's a poisson binomial right where um
it's not like a regular binomial because you might have different voters vote for you with different probabilities because the different voters might have different Precision so it's like you're adding up a bunch of zero ones with different probabilities but they're independent because these signals are independent so we get a poisson binomial the number of votes for a malicious producer or malicious candidate is also a poisson binomial with different parameters and now you're going to get some separation and now the chance that you have an honest committee is a little bit messy because now you have to say what's the probability that the the person if the committee is of size K what's the probability of the two-thirds case um sample from this distribution is above the one-third case sample from this other distribution you can get kind of messy sums for doing this and you can
actually like you know solve this out and so you can get some analytic bounds on on this when people behave like this and so here um if you have one voter and you um you set some parameters and you do this um you get actually like if the voter says I'm going to vote for everybody who's um uh more than um like you know 0.2 honest this is not good this is like where you think here I'm voting for everybody who's at least like has a 0.6 chance of being honest so this almost looks good there's like a spike that's like around two-thirds turns out it's not at two thirds in this example it's like at 74 and basically What's Happening Here is here your threshold is too low you're kind of voting for everybody and you have no
distinguishing ability and here you're voting for nobody and you have no distinguishing ability and there's some way where you can start to distinguish um so that's looked good if you have two voters though it's bad all of a sudden things get totally messy because now every candidate gets zero one or two votes here your threshold's too low everybody gets two votes and then you move the threshold up if both voters follow the same threshold then here the good candidates get two votes the bad candidates get one vote and then you move it a little bit and the both they both get one vote and then here the good candidates get one and the bad get zero and then here they both get zero in you and so it's kind of a mess right like even with two voters like there's not like some clean strategy of like vote
for two-thirds honest like I was hoping and three voters you get Three Peaks um and it's a sort of it's bad um but once you get a lot of Voters right the central limit theorem kicks in and and you know or basically you have concentration bounds and everything is kind of fine whatever anybody does um and so as long as everybody follows a threshold sort of in the middle uh it it all works pretty well but there's not like this clean sort of thing that I was hoping for when I started this um and so the question is like you know how should you choose this optimal threshold if you were going to try to be a voter like how should you think about this um and what value maximizes the committee this is actually like really complicated because it depends on the
number of Voters a lot unless this complicated way but once you have a lot of Voters things are generally okay but if you think about it for a minute this isn't the only kind of strategy like another type of strategy is basically don't have some threshold but instead vote for like the top three people you think are best like that's actually like a different class of strategy than vote for everybody you think is like a 75 chance of honest and even these two strategies and there's you can have more complicated strategies but like these two are sort of the ones we focused on because they seem kind of the most natural in this Cardinal voting strategy will you just vote for the the um the top um like a Kappa candidates in our thing um and then you get single Choice voting if
you vote for the top one candidate so it's sort of like a generalization of single Choice voting the problem here is that now who you vote for is not independent anymore and so you can't get any kind of analysis it's a mess because if I you know if somebody's at the top they've push somebody else out of the top but you can do some kind of simulations actually even before this in EOS we scraped all the the votes from EOS and it does seem like people are kind of doing this the committee size is 21 and so this is the fraction of the stake and how many people they voted for right so the limit is 30. so a lot of people just max out their votes and just vote for 30.
um like is this are these proprietary clients is this open source clients or is this there's only like one client I mean like it it's um so uh so we when you say client the client you means the node so I mean their their private company is running these nodes I I think they're all running the same software client I mean so so this you can take this with a grain of salt in terms of but this is sort of the the approval voting data we can get because like you know Cosmos doesn't do a proof of voting so but it's just sort of interesting to see about this huge Spike at 21 like a lot of people seem to have this heuristic which is if you want a 21 person committee you vote for 21 people and um um and um and that heuristic actually works
when you're the single voter so if you only have one voter you can show that this voting for and you want a committee of size K voting for K people is is optimal and you get the the best thing so here's how many people like you vote for if you vote for 10 it's not good but if you vote for like 21 that's the best and it gets worse as you go down because you get less discrimination and just for reference here is this single voter threshold thing that you can never get as high following the threshold strategy as you can just voting for the 21 best um yeah uh so first so first I assume you mean probability the probability of honest committee okay but even then like is it conditional on signals um no no so yeah so this is right because if you can
condition on signals right you can have now an even sort of broader class of so right of saying like we've focused on these like two really simple types of strategies which we called like threshold and Cardinals you vote for everybody with this probability more you know or the top 21 or something um but you could imagine saying like something that's that this the strategy is like much more complicated depending on the exact signals you get if there's a gap between signals then you do something right those strategies get even crazier so you might be able to do something so this is optimal in this sense of if you assume your strategy you have to fix your strategy before you see the realization of your signals um and then
um you can now ask this question of like well if people are going to follow a kind of cardinal strategy and maybe a sub-optimal one but um how does it work if you ask people to how many people they're going to vote for and it actually gets better so if everybody votes for just their Top Choice you get this this is the success probability for you know some low parameters um so this is like single Choice voting if you allow if everybody votes for the top two you do a little better if you top three you do a little better top four you do a little better and seems to get um it's increasing for a while so basically like even if people follow a sub-optimal kind of strategy they're they're just follow these heuristics like I'm going to vote for the top five people you do much better than if you
just say everybody votes for the top one person and in this really idealized model where you know all everybody's incentives are aligned and so voters are giving you some information you do obviously better than a lottery because in the lottery it's just random right in this model um um and so the lottery is this fixed line because you don't get to vote for anybody but a lottery where we remove sorry about that a lot of where we remove the bad people like According to some strategy might be people yeah maybe um yeah and I mean this is again we're thinking of the single shot analysis because like this was right all the you know the like algorithm paper considers the single shot analysis you say we want the probability we don't consider even repeated elections right because we just want the probability to so low to be so
low that if we take a union bound over every election we're ever going to do the probability will still be small right um but yeah there's then all kinds of interesting stuff if you because now say we're going to do repeated elections and now you can penalize people right and you get all kinds of sort of more interesting mechanisms basically um but yeah this doesn't really incorporate that at this point um but you know in these things like you know all the methods converge sort of exponentially quickly in the number of Voters um but um and the optimal strategy is super hard but the kind of interesting take on for me was that like the approval voting seemed to really help in this information aggregation here in terms of getting this committee that like even though you can't find an optimal strategy just like having everybody vote
for two people like actually does does better which is so you just mean the graph on the previous slide right okay are you going to talk about protocols for or is that we uh just in terms of the bandwidth row is going to pay an extra n Factor yeah so no we didn't consider that at all in terms of um but I don't think that's a big thing in terms of well okay so so in terms of the protocols right so the way a lot of these things are set up right you you vote and so one reason these things stagnate is right you you just you vote by like locking in a contract and you can move your votes at any time so it's sort of continuous voting but then you're not sending around these vote it's not like you're sending around these votes all the time yeah do you
have a notion of the max possible in this setting if you actually had one party get everybody's signal and aggregate them yeah I mean so that's basically going to be the best and that's um like where would it be on this graph I guess yeah so that that's basically the single voter setting so if you basically just say in this setting where everybody's incentives are aligned the best thing you could do is just everybody give me your signal I will calculate the posterior based on that and then I will vote the do the one vote for everybody and then the best thing you can do is to um is to vote for the 21 people you want um if you can agree I guess I'm just wondering like where it would fit on this graph like
what would the actual success probability be okay um so I mean this number requires like to get a graph where we had to set a bunch of sort of random parameters like what's the operatory probability that a candidate is honest and what is the the variance of their signal the voter signals and stuff um so in terms of like how high it would get um that basically you're right actually for these parameters I don't have that on this graph and that's a good question um yes I put it on the other graph but I don't have it on this graph so I don't know what it would be off the top of my head because um because it kind of looks like the um approval roading it looks like it's hitting an asymptote yeah I think I mean
it certainly can't always get better right like at some point it's got to go back down because you're kind of losing information if you've prove of every candidate in the space so again this also depends on there's some fixed known number of candidates and once you get above once you get close to approving of everybody you lose any power of discrimination right um so but yeah that's an interesting question I don't know um and so there's like a bunch of other questions you can ask about this um we started looking we have uh recent paper on using quadratic voting as an information aggregation mechanism but there's other types of voting you can have kind of ranked Choice voting quadratic voting is kind of even orthogonal to approval voting you could have quadratic approval voting because quadratic is just like how you weight
your stake um you can imagine this model is like very simple right now right it's just everybody's honest but if you have some malicious voters right how what fraction of malicious voters can you tolerate um you could try to try to optimize for a committee that you know has some secondary features like performance or something you could imagine vote buying in these systems and so there's a lot of kind of interesting things here but our first step was to try to move these analyzes of the lottery mechanism into a system where there's voting because like a lot of these committee based consensus have interesting voting mechanisms Okay so that was what we're thinking about in terms of um like electing blockchain committees but then there's a second kind of voting
I mean there's lots of kinds of voting but the second thing I want to talk about is sort of Dow governance and it seems like the voting models here are like pretty different in terms of how you think about um token weighted voting in the Dow context so we're going to switch gears a little bit we'll still talk about approval voting because approval voting still comes into these systems um and this is more work in progress so I won't have like as as clean a results but let's talk about sort of Dow governance so like compounds sort of started a lot of the the Dow governance hype in 2020 and they introduced governance at the beginning of defy summer and this was lots of fun and then lots of people kind of forked compounds governments governance either like directly forking their contracts or
essentially like taking their model and their model is what gets called like initiative voting or sometimes Amendment voting and the way it works is like voters make yes or no proposals you need to have some threshold so like in uniswap you need like one percent of the tokens to be able to make a proposal and for compound you need 25 000 comp tokens to make a proposal and then all the voters have some window of time to vote Yes No on this proposal and if it gets a majority in that time then it passes otherwise it fails and the time Windows seem to be about three days there's lots of sort of similarities in in how these systems are done we we scraped all the votes from uniswap compound Lido and Ave
and maker and so if you separate from this talk if you're interested in like actual voting behavior we have that too um but then the the outlier here is maker maker went and did their own thing which they call continuous voting um and we'll talk about that in a little bit but basically there is no time window and you can just vote for any proposal that's ever been made um and that kind of thing makes sense in this model where what we're going to talk about is the proposals are mutually exclusive right so anytime some proposal comes up it's mutually exclusive you can only be in the state of one proposal and this is like why this is called like an amendment voting you're like amending the laws but there's like only one set of laws and this makes sense for like a
lot of blockchain votes where like you're setting the fees for like on uniswap or something you're setting the loan to value ratio on Ave or something there can be like only one loan to value ratio and somebody might say it's like 60 somebody can make a proposal to make it 70 but you can't have both right there's just one parameter here or like the liquidation threshold how low does your collateral have to go before you're liquidated there's like one parameter here or one parameter per clatter asset but these are mutually exclusive right some some D5 votes right are not mutually exclusive like do we deploy to this layer two or that layer two you could do both um this analysis doesn't really capture that and like the continuous voting model does doesn't address that at all so just as we talk about the rest of it
we're thinking of the mutually exclusive votes here yep just a clarify you think about binary votes right not yeah so so you you can think of a continuous kind of thing you might be voting on something continuous like what the fee should be but the voting mechanism like what compound has set up is only binary votes so if you want the fee to be three percent or point three percent right you need somebody needs to make that proposal and then you get to vote Yes no and if you want it to be 0.35 somebody needs to make that proposal so it's an interesting question and actually we have another paper on um looking at essentially like where the votes are continuous so imagine you want to set a fee and um it's from a continuous space like
zero one and voters get to propose like what they want the fee to be and then you do stake weighted aggregation to um to to find the fee right how does that do as an information Discovery mechanism so again like I like these models where voters have imperfect information like nobody knows what would be the best fee to you know maximize the profits for uni holders right but we assume their incentives are aligned they all have some they have different amounts of information right they'd like they'd like to you'd like to sort of crowdsource from these people something um so you can ask this question where voters are allowed to make a continuous vote we have a paper on that I'm not going to talk about it much here but I'm happy to talk to you um after it's a really interesting model but that's right it's it's a interesting
question to me like why doesn't compound do that right compound could have done that right but they don't and again it only works for some things like continuous voting doesn't work of like do I deploy to arbitrum or not but like um but for fees and stuff which is a big part of a lot of this or you know loan to value like system parameters in general like it's a it's a really interesting question why not allow people to vote continuously um in there and not continuously like in time but you know have uh continuous voting space um so when I started thinking about this I wanted to like see who's like written about this and I found this uh paper that was like an analyzing crypto initiative voting I was like great somebody already did this like I don't need to do it and like
um it turns out it was written in 2004 analyzing exactly this voting mechanism on crypto initiatives and I was like how is this possible so so this is um I I was very funny but um so they and model this exact kind of thing for initiative voting or Amendment voting and here's what they mean by crypto initiatives and I want to go through this example because it's a fun example and they say suppose you have something there are three proposals um and they're three voters okay and we say Q is the status quo so this is like we're starting things out the initial fee is 0.03 and somebody wants to make a proposal a to like point five percent and somebody makes a proposal B to 0.07 or something and here's the voters there's no there's no uncertainty the voters know what they
want and so initiative voting says first if we just vote a against Q somebody proposes a a wins two to one somebody proposes B now the status quo is a right and a still wins over B right and so the final outcome is a right so this is like how initiative voting works um but voter one is unhappy here voter one wanted B so what does voter one do voter one introduces what they call a crypto initiative and that's where this crypto initiative came in right which is they say voter one can introduce a new initiative and voter one introduces this new Option X and now what happens right if um the voter if the votes are in the order a x
b right a beats Q like it did last time but now X beats a two to one how did XJ Jump Ahead into the second position um so which oh they can just put it in a second yeah so they get to choose you get you you're you're a malicious party you craft an initiative that you know you look at the three voters right you you can choose your own preference of ordering of it and you just choose it so you craft an initiative so that you know voter two hates it and voter three loves it and maybe you know depending on the voters that's not possible but assume for a second that you you have that control right and then in the third round of voting B beats X and B is chosen so by introducing this this crypto initiative which you didn't want voter one actually
gets to move from A to B and makes they got to make themselves happier right and so there the point of that paper was to say like this mechanism is really um vulnerable to this kind of attacks of people introducing initiatives that they don't want and another thing you can notice from this graph right is that the the outcome is also not Pareto optimal right like everybody would have prepared Q to B but B was still chosen right this is bad um and so this is sort of like classical stuff from that was sort of new to me but it's classical in the the voting literature and there's like a really nice way to think about this which is in terms of explain why it's called the crypto initiative oh they called a crypto initiative because it's like a secret kind of initiative that is put in
there for your for your secret like your malicious um uh goal of making bu in here but that was the only thing there was no you know cryptocurrency initiative yeah I guess maybe more but um but yeah when you search for like you know cryptography and initiative voting or crypto initiative voting this comes up and it's great and I was like it's perfect it's exactly the model um I mean I feel like this is completing two different things right one is just like the specific voting procedure you're using right and so like round-based procedures have lots of problems yeah exactly the other thing is this kind of you know insert you know yeah an extra initiative that's right but basically satisfying would be like extra initiatives screw up all all ways
you might do voting so so but the extra initiatives are much easier to screw up the round base thing right extra initiatives right are not going to where everybody's preferences are fixed and known right and they're not going to screw up plurality voting really actually they get that's not true they can scrub blue or other voting too but so so yeah that's an interesting question um so you I guess you're saying that if you look at compound unit swap Etc they're basically doing round-based voting yeah they are doing round-based voting um and um in terms of like thinking about round-based voting there's this like really nice notion of this tournament graph where you just say you make a graph of all of the um the proposals and you have directed edges from which one
would win in a head-to-head competition um and what basically this third initiative did is it puts in this x which now makes this cycle right and now you can get anywhere right and this is like the condorsay Paradox where even though everybody's preference orders are transitive right the final ordering is not transitive um and you can say that there's like a notion of like a condor say set where um basically everything in the set is preferred to everything outside of the set and it's the smallest set with this property that in this initiative voting then the outcome is always part of the Condor say set and anything in The Condor say set can be reached so like the outcome is very dependent on The Ordering of the initiatives
um and this is yeah again potentially an issue with this like iterative type of voting you know once you have conversation Cycles you're just in trouble basically so and in particular like the first part of that that's actually that's a good thing the first property right yeah that you always get to something yeah part of that and I don't know so Phil yeah it just feels like the it feels like the extra initiatives would be bad for all yeah not specific not not yeah no that's actually no that's a really interesting question right is like which ones are are susceptible to to adding actor initiatives and having that outcome be much worse presumably all of them yeah I would think so yeah yeah um
so so to to sort of change things up right maker does what they call continuous voting and they can do this because they are in their their executive votes at least are in this uh exclusive they're the mutually exclusive because they're actually voting on a contract they have their system parameters are set by a contract and you just get to say I want this address this is the contract I want to to hold the system print it's like a list of variables basically and so you just vote on this list of variables and these things are you know for adding and removing collateral types and Vault types and various system parameters um and as sort of an aside if you've spent some time with maker Dow they um made up Bizarro names for everything they do so we wanted to think about
these kind of Dow governance and um the way I wanted to think about it was different than sort of the the analysis we saw in terms of these classical analyzes where everybody has a strict preference ordering I want to say that like basically again people have imperfect information but their preferences are mostly aligned like if you're voting for the loan to value ratio or what types of collateral for maker Dow we can to a first approximation I think assume that all the maker voters want maker to succeed mostly and they'd want to choose things that will benefit the protocol the most it's just there's a lot of uncertainty of what should the loan to value ratio be to be the safest or what should the collateral types you know is it safe or not to use Bitcoin or wbtc as a collateral type and
so it's like an example like they have limited information here's an Ave proposal um you know and it's a proposed like this a just 14 total risk parameters I'm pretty confident that like nobody who voted on that really had perfect information on what that meant right even the people who proposed it did a bunch of simulations right as chaos lab and they're probably pretty well informed but they still don't know what's going to happen next to you um so I think this model of having like uh weak information is really interesting and so then the question is like how does these kinds of like initiative voting or continuous voting or approval voting um uh play into this question of information aggregation so we have this model where basically every proposal has some unknown quality like proposal Q has
unknown quality QJ and the voters receive some signal which is some noisy signal about the quality and then they have to choose which vote which proposals to vote for and make her not only does continuous voting it does continuous approval voting so you can approve of a whole bunch of what the Spells but of contracts with the parameters and um the one with the most approvals wins um and so the question is kind of like what what type of mechanism is best at crowdsourcing information here it's kind of like the last one but in now a different model we're thinking about like this kind of initiative or head-to-head voting and then you can also ask questions about like malicious attack um and um so we'll have some like early results on this and
so I won't go too deep into this because we're just sort of finishing these things or we're working on these now so I don't know how easy this is to see here but basically we said suppose you um what is the expected quality this is an example you have four proposals they have different qualities and everybody gets a signal about these qualities and the the qualities are between zero and one and what's the expected quality of the winner right where the randomness is over the random signals people get um there's three cases for initiative voting um because it depends on the ordering right initiative voting is like very dependent on the ordering so we say imagine you're the best case ordering that's this um this gray line or Brown Line I guess
up at the Top If initial devoting if you have the best case wording does really well but you can focus on the red line is the random warning so if you just choose a random ordering of the initiatives um you do pretty well like once you have some voters write the probability the expected quality of The Proposal goes up to one really fast and interestingly it does better than this um uh this is plurality here against these colors are hard to see here but basically plurality voting does worse at in aggregating information than than initiative voting in a random order and it only crosses at the like worst order like if you say the worst POS if a maliciously ordered proposals
um can for um for small numbers of Voters plurality voting does better but even but plurality to voting does badly I was surprised about this um in terms of crowdsourcing information um and then you can ask well what if you allow approval voting like maker does does that do better at aggregating information here and here again the approval voting is super hard to the other things right in our model it's sort of simple you can get analytic closed form expressions and you can model everything in approval voting you have to simulate but approval voting basically does worse I to like if everybody votes for their top two that actually does worse at information
aggregation than either plurality where everybody just votes for the one or even the the random ordered initiative voting so this is like this was a surprise to me in terms of this information aggregation that this initiative voting somehow is good for that yeah so here yeah so here only one proposal approval and Louisville is more votes than their outcomes yeah yeah but but it's basically a way of saying like I have limited information right here two right so I'm a voter there are two can proposals I both think are pretty good right and if I'm only allowed one vote right I may have to choose and I kind of choose randomly between them and if I
choose one that other people didn't choose right then then that's kind of bad right and so you can still think of approval voting even when there's one winner and so again like this is implemented in maker Dow there can only be one winner but you can approve of any any number there's no limit on the number of approvals you can make with this idea that like I'm kind of indifferent between these like I just can't distinguish them and so if you checked these rankings pretty robust over different we've tried over some sets yeah I mean so yeah again this this we've had to choose you know this is this plot here is there are four proposals that were uniformly distributed in zero one and you had to um but it it seems reasonable we can't actually go up to big numbers because approval voting gets so complicated once
you have a lot of um proposals uh the calculating the winning probability field a lot of Voters and a lot of proposals and everybody's voting for two and it if you want to simulate whatever these are it's not so bad these are simulations but um it's it it doesn't scale well for a lot of proposals basically so like in hindsight is there an intuitive so why are you seeing this I'm not sure I'm this is I was trying to figure this out I don't know why this is I'm saying this is like pretty new we're still thinking about this I don't know why this is because my I I thought approval voting would be better right like that was what I thought coming into this and there's
um here's where it is kind of better if you're worried about like malicious takeover this is another thing that like a lot of you know the white papers we'll talk about is like how you imagine somebody's attacking your Dao or something how much how much vote power do they have to get to to do something bad yeah what's the difference between how what's the difference between preferences and beliefs like what's interesting I have different preferences I'm going to get the maximum expected like utility versus just saying I have like different signals of one's centralized uh yeah so so okay so in our model every proposal has a true quality yeah okay and you get some signal you
got some noisy signal you get like a quality plus Epsilon yeah and every voter's payoff is increasing for Simplicity think it is exactly the quality of The Proposal that's elected um so if you elect The Proposal with true quality cue then every voters pay office queue right but I mean we always make decisions based on the expected quality which is yes yeah so I guess like how is that different than saying okay let's imagine everyone's utility like actual utility is drawn from some just the same distribution as s is John and then you know like it says in Q yeah okay yes you say your utility is um yeah so I actually I I don't know off
the top of my head what how that would change things sorry um we could talk about that yeah I'm sorry I don't know um so so the other thing we want to ask is suppose you have some minority that wants to kind of tank your proposal and get you to choose the worst of the options right like how does your system hand up handle against that um and here uh approval voting does well in initiative voting is kind of the worst so this is on the x-axis is the percent of the vote that the malicious party controls so here they control like you know uh 10 of the vote um and you say here again there's four proposals and what's the chance that the adversary can get you to choose the worst of these proposals right the
adversary wants to destroy things and so if they have 10 of the vote and you're doing two approval voting they never get you to choose the worst one but if you're doing this initiative voting actually like 20 of the time they get you to choose the worst of the proposals and so this initiative voting is up here the adversary can like has much more control once they you know for these like this cryptographic parameters of you know the adversary controls third of something if the adversary controls a third of the voting power they can always get you to choose like the bad proposal and the initiative voting and they almost never can if you allowed to approval voting which is kind of interesting and I think what's happening here is that basically voters are not that good if their signal is bad voters
are not that good at distinguishing two proposals that are kind of close to each other and right because like they're they're they get some distribution and two distributions are close the voters can't distinguish them and so in head-to-head voting in this initiative voting right you you can the adversary can kind of push you a little bit to the bad one every time so if the adversary controls ten percent of the vote it can kind of push you kind of like 10 towards the bad one and if two things were almost the same they can push you to the worst one in the first vote and then the second vote they can push you a little bit more to the worst one in every vote they get to push you a little bit towards the worst one basically and in the continuous voting where you get to see
everything 10 of the vote just doesn't isn't enough to to get you towards this bad one all the voters can see that this is the worst one and none of the voters were voting for this worst one anyway um and so this kind of thing that like the sequential voting allows the adversary to sequentially push you towards the bad outcome seems to give you this this kind of lack of robustness reuse its state to attack every vote as opposed to just having one shot yeah I think that's the um and and again this approval voting helps you with this because again it kind of just puts all the votes towards the slightly better stuff like in two you know if you vote for two things you're you just have tons of votes for the slightly better ones and you're never going to let the adversary get you to
the really worse one so this is sort of where we are at this initial analysis of this but like they're interesting questions like um sort of you know how much if the adversary gets to introduce new proposals what happens here and we haven't thought about that too much um and um just as a like final wrap-up um I was mentioned before like we have a paper um that is asking what happens if you allow people to directly vote on proposed like on a parameter like um so this is a paper will be called token weighted crowdsourcing I'm happy to talk about that later um there's other things right you can have rank Choice voting and if you have ranked Choice voting that's not even a single thing right you have to say once people rank their votes how do you actually choose the winner based on
these rankings um and I haven't seen much in terms of how does ranked Choice voting work as an information aggregation mechanism again in this kind of model where people have poor information but sort of uh aligned preferences how does rank Choice voting work um and how does it compare to these kind of things I think that's a really interesting question that I'd be interested in exploring in the future um and um then there's questions if we have like a minute or two another kind of question this space that I think is really interesting is like um for different types of systems you might want to like really protect the minority stakeholders so from like the original Dao this is like a a section from like the original Dao white paper
which is like you have a community investment fund and they were really worried of this thing if you put in like 20 of the money to invest and you have like no say in where it gets invested and so a big chunk of the white paper and a big chunk of the like complexity of the system was to prevent against this majority Rob's minority attack right and so that notion of a Dao had this thing if if people vote to invest your money in something you don't like you could Fork off to choose a child Dao right which then the fact that you could choose these child Dallas had a big effect in terms of um how how the whole like Dao Fork played out but right this was all about this question of you have a community investment fund and if you have you know
five percent of the stake or ten percent of the stake it's not like you get to choose five percent of the outcomes right you you get zero choice right and so how do you ensure that people have like proportional representation that if you're voting to invest in things or if you have Bitcoin grants or something right you're if you put in five percent of the money you should choose five percent of of where things go um and so just looking around there have been like really interesting um proposals and the political science literature that I haven't had that much time to think about but like I want people to think about in the blockchain space so one of them is storable votes which is right um you know there's going to be sequential proposals so every month we're going to allocate you know ten thousand dollars or a hundred
thousand dollars to various things and if I choose to abstain this month my vote carries over to next month and so if I have five percent of the vote maybe I could get closer to five percent of the the money to allocate fake weight is basically divided across your votes you could just say like I can spend this much in budget yeah yeah um um no but I mean it's not exactly the same right because I if I vote it's still yeah it goes up yeah to own the system in that one yeah yeah um yeah um another proposal that I found in literature is this um balance voting which is imagines like two phase voting so you have like a two-step thing where you know so imagine like um like you want to add a collateral asset
to to maker or something in Phase One you get to choose yes or no do we add the collateral and then the people who get to vote in phase two were only the people who lost the vote in Phase One and so phase two might then set like the parameters around how you get to use this they're obviously potentially issues around this but like again it's kind of an interesting type of model that both of these systems are designed to get at this thing that the Dow mechanism was like trying to do with its child Dows and would be I think pretty straightforward to deploy on a blockchain space and so I think people should kind of be thinking about I don't know again if these are the exactly the best mechanisms but there's an interesting question of if your goal is to protect minority stakeholders like
how do how should you do that um and so yeah that's um mostly what I wanted to to share with you today but I think there's like lots of open space in this blockchain voting systems um so uh thanks yeah on those last two points about storable votes and balanced voting are you aware of any real world applications so these I found a handful of papers um and these are links I can give you the slides um I they've tried them I think it's some lab experiments and I don't remember if there were any um I like but in the crypto space I've never seen this anybody talk about this in the crypto space at all
but I just wanted to throw these out here more to just get people thinking of like there's a lot of mechanisms that you could use like there's the the space of like how you aggregate votes is just enormous and depending on what you want like you should think about these crazy mechanisms yeah yeah so it's curious uh do all these basically assume the vote is completely synchronous so you can't employ a strategy based on the votes that have been that you can see other people have cast within that round yeah so so in in our model all the votes are completely synchronous yeah that's right that's also an interesting question right is can you um yeah yeah well we've been that's definitely something we've been thinking about about you know running tallied privacy while elections are actually
happening so you can you know simulate the synchronicity but yeah I guess I mean that's obviously one solution with crypto is just some kind of synchronous yeah the I guess the other question is if there's any actual strategy proof well I guess no no election strategy proof but is there anything that's better uh you know or the strategies are more difficult assuming that the election's not synchronous yeah um I I don't know the answer to that I I bet there is right it's again an interesting question but um we haven't looked at we just assume everything is synchronous um you know and sort of related to that there's interesting questions about bribing voters right reviewers on these papers right immediately ask about like you know once you can do this right you
can ask about bribing voters and blockchain is a great space for bribing voters um and so there's a little bit of like cryptographic stuff you could do there like even um which I I think is like actually an interesting question about um you know if even if you make the the vote tally private using some like ZK mechanism usually in most of those things the voter still has the witness so they can still effectively sell their vote and so you'd want some kind of like deniable encryption kind of mechanism so that you couldn't effectively sell your vote this is sort of like an interesting thing of can you make okay uh okay so um I wanted to to mention reality aware social choice is a variant of social Choice which is uh could be a
basis for civil resilience and I'm going to share in the chat try to share in the chat reference yeah which is relevant for approval voting and also parameter uh parameter selection in the presence of civil voters uh so just wanted to call your attention to that uh another strand of of research in this direction great thanks [Applause]