Decentralized Governance - Vitalik Buterin @ ETHNewYork
ETHGlobal·Wed, Oct 9, 2019, 12:00 AM
Speaker
Ethereum Foundation · 24 talks
These are the remarks of Vitalik Buterin at ETHNewYork. ETHNewYork was an ethereum focused hackathon that took place May 8-10, 2019. These remarks were part of the opening ceremony. ETHNewYork included a series of ethereum focused workshops, as well as workshops about related technologies, D'Apps and tools. ETHNewYork was a hackathon organized by ETHGlobal and a team of hackers, developers and enthusiasts interested in building and creating in the ethereum ecosystem. It took place for 3 days at New Lab at the Brooklyn Navy Yard.
Transcript
this is really going to be exciting [Applause] coming up just a few things we're gonna have a talk by Vitalik boo durin co-founder of aetherium on a recent post he talked about on a collusion then we'll have our sponsors give a few words and after that I'll be a back up here to give you some more information about the logistics for this weekend so with that please give a round of applause and welcome to the stage metallic [Applause] thank you cool it's my face yeah so um today I'll be talking about collusion so c1 get right into things there's been a lot of interest Auriemma recently in things like decentralized governance daos your CMO locked out here get coin grants the eath trader doughnut thing so much chinese platforms doing doing experiments and tokens for content curation and rewarding content and there's like a lot of these different projects that are just appearing everywhere in the ecosystem right and on the one hand this makes me really happy to see this kind of experimentation happening because the use of this mechanism design and experimenting with incentives and new kinds of institutions as one of the big things that i've been excited about people using etherium for since day one and it's great that things are finally happening yay maliki a geek win grants yay all of these things so good now on the other hand there's a lot of challenges and involved in doing these kinds of things and recently over the last year we've seen some of the pitfalls and of comin to come into action right so on the Left we have a situation that happened on the EO West watching about a year ago so basically there was this scandal where they had discovered that a bunch of the EO seblak producers were basically agreeing to vote for each other and paying each other to vote to vote for each other and there was this kind of cartel of these fairly well-connected block producers and that were like basically supporting each other and kind of cementing their they are control over the ecosystem and on the right side we have one of the recent Aragon votes and I believe this the votes where they were voting whether or not you basically forbid themselves from supporting polka dot and the I understand basically what happened here is that well no one but the great majority of know was just one guy so bribes and plutocracy you know are probably two of the big issue is that how that you can see with the centralized governance systems and with online content incentivization systems you get you see a lot of the same effects and I'll talk a bit about why it's a kind of unfortunately quite challenging to create systems that avoid both of these fairly nasty consequences so here is a simplified summary of something that a lot of people try to do right so a lot of people try to say oh I am going to create a decentralized platform for incentivizing content creation right so I'm going to come up with some kind of source of income and this source of income could be just advertising could be just pumping an ICO token could be whatever and coming up with a reasonable and actually sustainable source of revenue is a separate problem and then they wants to take that revenue and basically come up with a mechanism to distribute it to people who create good content right so this could be articles it could be code it could be documentation like pretty much anything now what kind of mechanism are you going to use to actually and a figure out which content creators should be rewarded how much right so this is a common scheme that often gets implemented so basically you have users and users have coins and every user during every period and we'll think about the concept of a period abstractly like it could be a one second it could be a blog could be a week it could be anything right so during each period every user has the ability to make one upload or it could be the that they have the ability to make many upvotes the math works the same way a user has n coins during some period then whoever they give the upvote to gets a reward of n times K right so basically you have the ability to tip people but there's a limit to how many you tip or possibly if you make many tips then your your hand of allocation gets split between all of them and if you tip someone then it doesn't cost anything to you but it gives them some money right so it's just voting on how much money the recipient should get and it's simple for every for every vote if you vote with n cones they get n times K for some constant K so here is a challenge with many of these systems well basically any system that works in this way as written the optimal thing for a user to do is to just make a post and send the money to yourself and that's it right so every it's optimal to send the reward to yourself and if you are willing to send the reward to someone else instead of sending it to yourself then you're basically giving that other person the reward that you would have gotten so if you're willing to do that then why wouldn't you have been willing to just donate the money to the guy even in the absence of the mechanism so if it's optimal to send money to yourself everyone sends money to themselves the system just collapses into this equilibrium where everyone has an interest rate if K K per period and that's basically it right and word and the system just becomes useless so everyone following so far who's not following ok yay Congrats on raising your hands oh thank you yeah it's it's good people should raise their hands more don't don't be so lucky so here's one way to patch this problem right so we have this mechanism where you can vote on pron just pieces of contents that other people create and if if they get votes then they get a reward so instead of making the reward just a linear function just be proportional to the number of coins held by people that vote for you we're gonna make it be a super linear function right so what that means is that let's say for example if $100 of token holders vote for you you might get one set if $200 of token token holders vote for you instead of getting two cents you might get three cents if $1,000 worth of token holders vote for you you might get 50 cents right so the number goes up but then but the amount that you get per dollar goes up some more dollars you have now you might want to ask well why do people do this right so the idea basically is that this subsidizes voting for posts that are popular more than it subsidizes voting for yourself right so if you have a thousand dollars of tokens and you have a choice one choice is that you just make a post and vote for yourself you're the only person voting for your post and let's say you would get 10 cents but then the other pot option that you have is you vote for some other posts that you think is actually good if you think it's actually good then many other people probably also think it's actually good so there's probably many other people donating to it and so if the function is super linear then that means that the amount if more people already donated the extra amounts that you would add to the poet's and the amount the poster gets with every dollar that you vote vote is gonna be higher right so if you vote for yourself you might go up from zero cents to ten cents if you vote for some other post that's actually good it might go up from 80 cents to 95 cents or two dollars two dollars 20 right so there's a benefit to voting for things that other people vote for so this is interesting and you can kind of see how it improves on the status quo right basically your choice are your choices are give ten cents to yourself or give twenty or thirty cents to some other post and so instead of it just being kind of donating you're sort of donating at a three to one ratio right at three to one leverage so you can see how this tries to improve things here's the problem with this approach first of all it subsidizes plutocracy right so what this means is that wealthy cartels so people that have lots and lots of money raise your hand if you're part of a wealthy cartel okay as a proud member from wealthy cartel you can gang up with your other friendly wealthy cartel members and you can just throw a bunch of money on just a fake post that doesn't do anything and but you'll have so much money that you have basically as much money and that you throw on the post as like tens of thousands of people legitimately voting for a post ordinarily would and so basically you give yourselves money at the the same three to one ratio right so if for a normal person if they vote for themselves they would get more money back at a ratio of say what 0.01% per period you might get 0.03 percent per period so you as a proud member of the plutocratic class get a higher interest rate than everyone else yay now so this is one problem right so wealthy cartels get the full benefits of voting for themselves everyone else doesn't the second problem is it can still get circumvented by bribes right so basically if you make a post then what you can't then what you can do is you can bribe other people and you can tell them if you vote with a thousand dollars of coins for my post then I am going to give you 15 cents now if they had just voted for themselves they would have just given themselves ten cents so your bribe is a better deal for them right they vote for themselves they get ten cents they vote for whatever you tell them to they get fifteen cents so they'll do that and then you get a lot of people voting for you and so for every one of these thousand dollars that vote for you you might get get a total of thirty cents so you get thirty cents times whatever number of people you bribe pay fifteen cents back to them and you get 15 cents pure profit yay bribing our bribing attacks realistic right actually let's take a poll let's say there was a there was a some carbon vote happening on some hard fork and someone offered you a bribe and they would basically say if you stake ether on supporting this hard fork I don't know let's say it's like issuance reduction or something then if they for everything for every one thousand eight that you vote they would give you a bribe of 1/8 how many people will take the offer some people would see what if it's an issuance increase how many people would okay see still a few right so it seems like you can kind of see why some people think that bribing attacks are not especially realistic because people think that they're kind of good citizens that are not going to be susceptible to them right now the problem is that well it doesn't have to be advertised as a bribing attack what you say is oh here is a staking pool and if you stake for in my staking pole with your 1000 E then I will give you one either so who here will join us taking pole mm-hmm never go see him yeah so yeah this is basically what people did right so this is something this is the thing that happened in liske a couple of years ago every member of the list gilead accepts the China delegate for some reason must share 25% of his or her fortune whisk so the voters every week so every member of elite must vote for other members you see where this is going right so these things definitely exist and they definitely the systems can very easily collapse into these kinds of equilibria and it's often pretty difficult to prevent it now can we try to mitigate plutocracy with identity systems right so one question you might ask is if we go back to the mechanism where you if you donate or if you vote on some post then that post guest gets more money the more for your vote the more other people already vote for it so we go back to that mechanism right and we try to get this benefit that that if you vote for something that's actually good then lots of other people vote on it so you get this kind of higher leverage and we try to make it actually work and we try to make it work in a way that's not plutocratic by having an identity system right by attempting to kind of detect who unique humans are and instead of the formula being based on the total number of coins we make it be based on the total number of humans now if you take this mathematically chata logical conclusion then you basically get quadratic funding aka Oboro radicalism aka CLR which is what get coin is doing already right so it's a very reasonable path identity systems are difficult so on the left here we have am a guy who is basically has a whole bunch of phones on a rack and the all of the phones are constantly getting charged and all of the phones just have software running that just keeps on pretending to click in parens and if automatically participating in various applications so you can do this stuff right you can try to this kind of gather up a whole bunch of like identity is in some way and you can just run the software on a bunch of machines and you can just kind of pretends to be a community yourself right so you can sort of try to find some way to gather up a few thousand identities then you start voting for the same posts and if you have enough people voting for them then you get access to the same kind of plutocratic benefits that you that you were able to get before when we were talking about systems that were just based on money now on the right we have this wonderful website come by ax com that's bu yacc yes where you can just go and buy Google accounts and you could go and buy Twitter accounts so you can go buy reddit account so that's great so now I checked and github accounts do not seem to be available on buy XCOM so far so did Qin grants is safe for now there's definitely people selling dick would get Qin Grant's on the dark markets Raiden sorry selling a github accounts on the dark markets like they're basically there are very specialized in highly professionalized channels for these things to happen and people are doing it right there's just people that bought up thousands of accounts and there's people that just pretty much make it their job to sell fake crowd engagement but how else do you think the you know the ship when people have more Twitter followers than we do um weirder approaches right so let's say we're not happy with github accounts or reddit accounts because they can get easily attacked well there's been a bunch of like really interesting and crazy work that's happened over fairly recently about trying to verify identity is anyway that's more kind of local and decentralized right so on the left there is this concept of pseudonym parties which is basically this standardized way for people to get together in person and attest to each other status as a real human being TM and you know they would just go to go go meet up together in one place how these parties exciting each other's keys and you can broadcast these messages to a blockchain and you can through kind of this real world community that would be seeded from some kind of set of trusted identity is figure out a list of people that corresponds Rutte kind of real people in a way that seems to be fairly difficult to exploit so now this is one interesting approach that people have been thinking about another interesting approach that I've been seeing people doing recently is making a token curated Roger you can just apply to be classified as a real human and token holders vote on how human you are and either you're human or you're in the list or you're not or they don't vote for you and then you're you're declared to be a bot so there's experimentation happening around this if you haven't come up with ideas for hackathon projects then trying to come up with some kind of medium secure way of just coming up with lists of kind of probably unique human accounts is definitely an interesting a project that I would recommend thinking about because if you create a list that is even has medium security where the cost of getting of an individual getting multiple accounts is like at least significantly harder than the cost of going to this website and getting a bunch of Twitter accounts then that's something that would be really valuable for things like get Quincy oh are things like these some content and sensitization tools and all and all of these other things that people are trying to do so that's one thing that you can do and like you can combine together decentralized approaches you can try to do centralized approaches things like you know a government ID verification phone number verification or whatever yeah this the goal is to basically like we're never going to get anything that's perfect but we wants to try to kind of push your way up the security level to the point where these identities are strong enough that you can do some interesting things without your application just completely being taken over by bought by attacker as the moment they decide they want to attack it so this is one thing that we could work on right so that's I about identity issues now why is avoiding bribe and photography attacks and really bribe attacks specifically so difficult right so it seems like for a lot of these applications like especially things that have to do with public goods things like governance things like incentivizing internet content like all of these things it just seems so hard to create mechanisms that can avoid bribe attacks when it seems relatively not that difficult to create mechanisms even for things like blockchain consensus right like in creating mekin safe and secure mechanisms for incentivizing public good seems to be an order of magnitude harder than creating proof of snake mechanisms now why right like what's so weird and and difficult that's happening over here so cooperative game theory is hard right so now people talk a lot about economics and making unrealistic assumptions and often like people talk about things like perfect information and perfect rationality and how certain kinds of mechanisms break down if those things aren't perfectly met but there is one way in which one big assumption that economics and game theory often make about the world which is actually like even more horribly broken and false that people just seem to still continue to take seriously and that assumption is basically non coordination it's that the world is split up into discrete agents each of which are exclusively thinking about their own incentives now you might think right that well that's just a worst-case scenario of people can cooperate then is it that good luck that will give you even better outcomes than you get if people were selfish it turns out though that even though I know everyone in the world perfectly coordinating with each other would be great partial coordination situations where some groups of people can coordinate better than others and you have these mechanisms that people can coordinate to exploit mechanisms actually gives you worse results than if only sometimes then if communication between people was completely impossible and this is definitely this weird counterintuitive thing but the math basically says it right so there's this branch of cooperative game theory that has to do with taking seriously the possibility that subgroups likes groups within the group of purchase are allowed to communicate and coordinate and advance their own interests together so in standard game theory where we have a bunch of agents and every agent makes decision separately every game has an equilibrium and it's possible to engineer games that have equilibria the target a very wide variety of outcomes right so there's things like second price auctions generalized Vickery Co are gross auctions there's Meggy mechanisms for incentivizing a contribution to public goods all of these things bubble apply and the like if you look at the math and if you take all of the assumptions then they work well in cooperative game theory so in this version of game theory where groups of people are allowed to collude and advance their interests together it turns out that much more instability as the norm right so on the bottom right I might have this example which is this majority game that basically says if you could get together a majority then you can grab the entire reward and you can distribute it among yourselves like as you want right so you can think of it this as being a kind of very crude representation of say many kinds of political processes so at the beginning we'll start with a fear of division we have three players and each one of them gets a division of one third one so you have one third one third one third in the next round a and B get together and they're gonna say hey how about we exclude C and then we're gonna go up from a third to a half so they do that and then then round two they have they both have a half this outcome is better for a and B so a and B cooperate to make it happen and see us lost with nothing now in round three a gets even more greedy and a goes to C and says hey have you been feeling oppressed lately well how about is you enjoyed and even you were cartel with me I'm gonna get two-thirds and you are gonna get one-third which is still better than zero and we'll cooperate to make this happen a and C are two people and they get together they make this happen a has two thirds C has one-third B is lost with nothing in round four um B comes along and says hey see how about you know how is cooperating with you well I can I can also help you feel not feel not oppressed and I'm like that nasty evil a I'm not gonna take two-thirds only want 1/3 so your word goes up so how about you cooperate with me instead so now B gets 1/3 C gets 2/3 and is often nothing does anyone here want to guess what round 5 is gonna look like hint it involves a feel like oppressed hmm so basic so basically like collude in these game theoretic environments we are Corp cooperation and kind of partial coordination are possible like you do get more instability right and this fact kind of manifests itself in many ways so collusion in public goods funding right so let's suppose that there's some public good so this public good could be Eve just writing technical documentation writing some piece of software it could be cleaning up the environments could be anything now suppose that there is a community of 10,000 people and suppose that will kind of make a mathematical model where for every $1 that gets spent on the public good each one of these tiles and don't ten thousand people would get a benefit that they value at one over a thousand dollars so ten dollars of total benefit right now who here thinks that it's better for everyone so if this public go gets funded okay so still need to explain better right so who here is ideologically opposed to public goods okay so they're basically right you have these like let's suppose that each of these 10,000 people puts in $1 right so each of these 10,000 people is gonna put in $1 so there is a total of $10,000 that gets spent right so each of these 10,000 people would benefit 0.001 per $1 so we're gonna multiply 0.001 by 10,000 and so each of these ten people get $10 of total benefit for where they each spend $1 right so who here thinks that this is a good deal okay yeah so here's the problem right in reality like we don't have a list of public goods that get handed that get handed down to us from the gods of Satoshi that we had that we know we have to we have to find right we don't even know what the public goods are often so let's say there's something that's X and we don't know is it a real public good or is it a fake thing pretending to be about to be a public good so suppose that we have a game an economic mechanism and you could think of this as being like markets voting like anything in this category where each individual can influence how much money gets put toward X and individuals have the ability to make two signals one of their signals causes X to get one more dollar and the other signal causes X to not get one more dollar right so we can say that the let's say the cost of making a signal that causes the spending to go up by one you know it needs to query if there is a cost right there it could be it could be cost less so it could just be a voting mechanism but if there is a cost the cost can't be more than 0.
001 because 0.001 is the amount that each individual gets from one more dollar being spent on the public good great so if for example the game that we're talking about is just giving individuals the ability to donate money then the cost of giving of giving X $1 to an individual is $1 so nobody's gonna do it but if we have one of these games that we talked that we talked about things like for things like incentivizing contents then maybe we can set one up so that the expected cost is 0.0001 and then people would do it but then here's the problem right if we have this kind of game then a fake public good producer someone who's producing something that's not a real public good could just bribe people 0.002 dollars to support them right so basically in order for these mecha that determined whether or not a public good gets funded it gets funded or how much to work there needs to be and people need to have the ability to kind of contribute at really high leverage but if you give people the ability to contribute at really high leverage then someone can bribe them people following so far great so plutocracy is also really hard to build or it's a beat right so let's say you do not have identities so all you care about is money and how much money people have then a wealthy individual with 10,000 accounts or with just a lot of money that so I think of him as a lot of money split up between 10,000 accounts could submit a fake public good and this big public good would just give money to themselves they would pay whatever the fee is the kind of signal that this thing is a public good and if it's less than 0.001 per unit so what's than ten dollars in total they could just give themselves ten thousand dollars right so in any situation where a legitimate public good would get funded in any situation where the leverage is kind of high enough to overcome people selfish this if they're if the thing is actually legitimately a public good that's that serve the distributed community then a single wealthy individual can just pretends to be an entire community and exploit the thing to hell people following so far okay so basically if a system is secured against either bribing or blue talk receive then it seems like the system just can't funds genuine public goods and if it can find genuine public goods then the same kind of leverage that allows it to actually fund public goods also allows it to be horribly exploited so this is hard right so two ways to resolve this one of them is corrosion-resistant games and there is that even though making games that are collusion resistance is harder than making games that are not coercion resistance it is still possible right even if the REM is proof of stake is a fairly corrosion resistant game like there is no way for people to kind of collude together to just give themselves more money right it's and it's also a game that's I that just listens to how many coins you have it doesn't try to kind of measure identities so prediction markets or coercion resistance security deposits or collision resistant shelling games so things like auger things things like these some decentralized Oracle's are fairly are corrosion resistant up to the 50% level so there definitely are some mechanisms where they do not require any notion of identities they can be purely coin based and where they don't run into the same collusion issue is because they don't can operate in the same way right so here's an example governance mechanism so this is like a sort of future keylight way of building a tower that I haven't seen I haven't seen tried yet but the idea is basically they take a voting system and just augment it with a little bit of a prediction market so that you try to make it more secure against bribes so here's how it works so if so if you have decisions for every decision you can vote in favor of the decision you can vote against the decision if you vote with n coins in favor of a decision that vote also has to come with an offer backed by collateral if blah blah blah to buy n more coins at a price equal to 99 percent of this over the price of the of the doubt okay at the start of the vote if the coin wins right so basically if you vote for a decision and that decision wins your and the price falls you're responsible for bailing everyone else out and if a terrible vote wins and if someone tries really hard to bribe to make a terrible vote win then the winners are basically required to buy everyone else out right so the idea here basically is that the reason why this is not vulnerable to bribe attacks is that if you try to bribe someone to vote for something that's really bad for the tau then they're not just responsible for any of the tiny impacts that they have that they have on the decision themselves they're responsible for basically their XI their share of this big drop this big drop in price of the doubt token that the decision would cause and whatever that price is the people that whatever that price decreases the people that voted for it have to cover it so you can do things like this right I mean you can also do security deposit mechanisms so for example if you want to have a doubt for verifying humans then one mechanism you could have is one that says so first of all for a new human to be added to a list of known verified humans some number of any of existing members and this who've been verified have to vote for them and there exists a challenge mechanism right so there exists some game where you can claim this account actually isn't a human or that these two accounts are actually the same human and you can resolve them with an augur Oracle you can resolve them with Queiroz which I think though doesn't get enough love decentralized Court mechanism with a kind of multiple layers of voting just like probably plug in to Quiros for this and the voting isn't it kind of just dumb vote and forget about it right if you voted for a human that gets rejected you personally get penalized and so if someone tries to bribe you to vote for them instead of just having to bribe you a really tiny amount they have to bribe you pretty much pretty much to cover the entire penalty that you would pay so much more secure in this way right so [Music] basic so that's one way to one path to try to solve these issues right basically you rely on prediction markets you rely on security deposits and you try to make it so that voting for bad things actually is costly for you personally so this is one strategy sometimes though you can't do this right if we're talking about rewarding online content creation then there's no way in which like if you vote for a post and it turns out that post is bad like there's no feedback mechanism in with with which the facts that that post is bad like really can get detected by the system and used to penalize you so here's another approach ad coercion resistance so basically we can try to prevent bribing by coming up with infrastructure that allows these Mac study run in such a way that you cannot prove how you participated even if you wants to right so be it's not just making it anonymous it's not just making it hidden by default it's that even if you wanted to prove how you participated you can't so this is actually even harder than me than doing Ziggy snarks right and I actually made a post and feel free to kind of photo this to remember the link on kind of minimal anti-corrosion infrastructure if people want ideas for a hackathon project also highly recommends trying it just go and implement this basically the core idea here is that there is some operator and the operator could be centralized it could be a decentralized multi-party computation thing and the operator is trusted for the corrosion resistance property but not for any of the other properties right so if the operator is compromised then you can bribe people but you still have the guarantee that the vote has to proceed correctly nobody can cheat in any other way basically the idea is that the users broadcast their actions to the blockchain and they broadcast their actions encrypted with the operators public key and signed with their team now users also have the ability it's a send messages that changed their team and this is really important because if you have the ability to change the key that your future votes get verified against then if you look at any single vote you can't actually prove whether or not that vote is valid right because you could have changed the key before so it was this mechanism like basically users who lose the ability to prove how they participated but then the operator publishes does the C case nor can publishes the outcome at the end was a proof and so the operator still proves that the operator deep gave the answer that actually is the correct answer of applying all of these votes right so it's secured against operator maliciousness and the operator proves that the calculation is correct but individual participants don't have the ability to prove how they participated and so if you try to bribe them while they could take your money and then just vote the way they were going to vote anyway so this is the other way to ajay to solve these kinds of problems right so use cases for this regular voting quadratic voting get coin Co ours content curation content incentivization all of these things that people wants to make decentralized things for so thank you and enjoy [Applause]
Automatic transcript — names and jargon may be misspelled.