Funding ecosystem public goods
ETHCC 3 · March 2020 · 36:19
Vitalik Buterin examines funding public goods within an ecosystem.
Speakers
Topics
From ETHCC 3, hosted by Ethereum France.
Transcript
and if it's not produced then it's not available to anyone I'm client and web development so development of things are death and other names clients of these different Aryan wallets also open source software if you produce it then anyone can download it there too protocol development similar thing documentation any kind of written articles even just people and on Twitter sometimes a public good sometimes a public bad depends on that they yell education outreach smart contract are today so just because if you're Emma's part of cyber space and cyberspace is
fundamentally about information yet most informational things just tend to be public goods of someone or some form or another ecosystem and just has a lots and lots of public goods that public goods is possibly even larger than than the number of private goods in the ecosystem and say we needs to have some way of handling them now so far we have found is in securely insufficient sign of support for public goods right needs this tends to lead to different kinds of problems in our ecosystem right so for example there's a lot of people that come in and they just decide to say oh
I'm going to build somewhere to be or call some make a new kind of system that does something for privacy or whatever else and so they start off just and if I do LS degreaser and hey I'm doing it open-source package so you can just go ahead and download it but the problem is that in general there are many sufficient ways of kind of funding or incentivizing these things right sir people might open solution addresses and their generation addresses give them like pretty much nothing we're disagreeing with your has had grant programs in the grant program seven affixed a lot of that which is good but it's still kind of far
from sufficient for everything and then of course people would just kind of try to be nice and making public goods might get $500 is a bit you and I CL might make a billion dollars and this is very suboptimal right so this general needs to two scenarios right one some people who are just altruistic and Couty plan is working hard but then there's also people who just see other ecosystems we just have a big company they're just like some VC shade or salad or just said something or some sort of a pricier project that has a huge amount of money because it's a proprietary project and it's kind of more walks down
and so they have more ability to search for things and we don't really have as much of a community that they have the ability to pay people $500,000 so here out of a soup realignment seven people just hadn't really worked for them and just modify their project so that it contains a scam coin and generally kind of inserting a coin into your project and sometimes it's the right thing to do but in many cases it severely decreases the project's ability to do this in two years and do good things for the community of their people just if you have a need to do this because well they
have so it'd be nice if if we had a better funding for public goods now the first question is are donations sufficient road ends there's a simple genomic coordinates will fall by donations are generally not sufficient for public goods right so for private Goods the usual economic argument to us if people are willing to pay money for something themselves then they demonstrate that this is something which is valued in the first place and if people are not willing to cough up the money to pay for something then that implies how that thing is actually not even
enough in the answer and the cost is greater than so it doesn't deserve to be purchased now in advocates this are a lot of people to try to make the side units but this argument doesn't really work they'd and the reason is basically bed donations of projects is this kind of prisoner's dilemma game except it's an end party prisoner's dilemma they'd say the inclusion has seemed doesn't use the other chance before you get really good so basically the Challenger is right that if you donate then that's something which is good for you but it's also something which is good for every other participant but it's a cost for you
means the cost when the private cost of donating the usual often ends up exceeding your personal benefit reservation but it's a some public good project but as a personal benefit is only a very tiny portion of the social benefit the initial project because this is a project that does just inherently better solution number of people at the same time instead socially underrated but individually if you personally donate you am getting a small show us the benefit of your paying the full cost and so basically the issue just rely on donations then the incentives end up
breaking down and even though lots of people damage from the benefit from the project most of them dead doctor living and so you know and other associations like this so donations are unfortunately not sufficient so two challenges in the public goods fund anyway the first men is funding and the second man is if we have some funding which is dedicated to supporting public goods then how do you decide how to allocate it so first question is where to get funding in general the can be used for both public
goods and I'll concentrate specifically on abortion ecosystems because we just happen to be a blood-sugar system for some reasons so option limiting protocol they say most walk one specific good which is network situated in the reason why it's easy to have empirical funding to support network security is because contributions to network security are easy to measure right it's easy to determine that someone actually is mining a block it's easy to determine that someone has mined the block which is actually part of the longest chain it's easy to determine that someone in a burrow stake system has made an
attestation it's easy to determine if someone did something wrong and they should be penalized these are all things that are largely cryptographically verifiable and so in protocol funding for public goods already is something that exists specifically in the context of the public good that is the security of network can we apply this model to other public codes can we apply in protocol funding to development research outreach all of these other things that our ecosystem needs and depends on there's other ecosystems that are trying this right so Z cash had a developer fund right from the beginning right so
in Z cash right from the beginning there was 20% of the block reward that was allocated to pay for development and this was kind of directly piped into the addresses that were controlled by the Z cash foundation the electric wayne company and some other groups and originally this developer fund was intended to last for only four years but recently and they are going through this process and they're agreeing on extending the developer fund for another four years Bitcoin cash so this is really kind of interesting and fun basically about a month ago a group of miners released a blog post where they basically announced
that they want to make a soft fork to basically force all a 12.5% of all the mining revenue to go to instead be a kind of redirected to a developer fund now there are a lot of community reactions to this many of them negative you in some cases because people are kind of unhappy about the existence of this kind of day all profund are concerned about how the developer fund will be governed in some of these other issues but and these are things that I will get into a bit later in this presentation right governance is a big deal but in principle and if this option of just having money pumped into public good funding protocols inside the protocol is
something that exists option two this is the opposite extreme and if donations that have some kind of social pressure or some kind of default pressure to try to increase the chance that people actually donate right so donations as a kind of public good funding have it this is an idea that's come up again and again in many contexts so like for example I'm David Friedman about 40 years ago in his book machinery of freedom even ask the question like people are willing to voluntarily pay fifteen or twenty percent tips and restaurants and so why can't we kind of establish social defaults where people voluntarily pay fifteen to twenty percent tips that go to public good
funding r.e.m institutions and we instead kind of fund public goods in society in that way now in practice the amount of money that you can get from restaurant tip says I mean it's not super small but it's also not very huge it's somewhere I think on the order of like a low billions of dollars a year and so like many people like the National counter argument is that this might be insufficient but it's a start right so in the etherium context about half a year ago there were actually most of a year ago now I am I proposed this idea that we establish a social defaults that of wallets transaction real layers of clients software packages in general
are allowed and recently expected to charge a fee of about one basically one way a per unit of gas for transactions and I calculated back then that this would raise somewhere around two million dollars a year which is a not especially especially amazing but also not zero and two million a year is an amount on which the ecosystem could theoretically run on life-support mode right because in 2015 the etherium foundation's budget actually was only somewhere around three to four million a year now the challenge well so here is of course that whenever you have an open
source program the charge is a fear someone can make a fork that just doesn't charge the fee and so will this and if actually be a stable equilibrium will people actually kind of not go and download the the fork version that doesn't charge a fee just because they're nice I don't know this is something that's worth experimenting with but just because of people's ability to opt out from these kinds of schemes like there's a natural and kind of fairly low cap on how much money these things can are actually capable of raising option threes so this is something fairly new so this is some mev auctions and particularly mev auctions that lawyer to or theoretically can zyou mev
auctions at layer one so minor mev minor extractable value and so the idea here is basically that miners generally have a few types of ways to extract revenue and the to kind of code honest ones are like block rewards and transaction fees right but there's also a third kind of unintended way for miners to extract revenue which is basically they have the ability to front run a whole bunch of applications so if you take Yuna swab for example if you are a miner and suddenly the price of eath drops by whatever amount or rises by whatever amount or the price of any other a or C 20 that's on Yuna swap drops arises by whatever amounts then you as a miner
effectively have kind of first dibs on the ability to send the transaction to kind of arbitrage the market back to equilibrium and profit from that there's other decentralized exchanges that you can profit from you can kind of go and claim a bunch of orders in the 2017 there was our huge I love icos and these I cos had a first come first serve policy and so in these I cos theoretically miners had the ability to just themselves control who was able to get into the I cos first and so there were kind of millions of dollars of miner extracted by value within about two minutes that multiple times that got on claims so there's lots of revenue that miners can just grab by
fermenting different financial systems on chain in different contexts and so the question is can we kind of separate mev out for us can we separate the revenue from doing these kinds of operations out from the revenue from collecting transaction fees and kind of separately auction it off and it turns out that you can right so we made some proposals where basically you can and if separately auction off the right to reorder transactions and include your own transactions kind of pre pans at pans your own transactions and if arbitrarily and have changed the permutation of transactions maybe one or two blocks after the transaction is included and if you do this then
basically whoever has the the right to do this reordering basically has the ability to claim the mev but not the transaction fees and furthermore whoever has this reordering right that doesn't really like doesn't really have that much ability to abuse it right they have the ability to claim pretty much all of your barrage revenue but they cannot delay any transaction by more than two blocks and so they don't have censorship capabilities for example and so the proposal here that Carl made is basically you separately kind of auction off the MeV and generally taking advantage of any kind of winning mev figuring out how to optimally reorder
and insert transactions this is something that's very difficult and requires a lot of specialization and so this is something that realistically there is going to be a fairly centralized activity with only maybe a couple of organizations like really meaningfully participating but what this does is basically it kind of absorbs this MeV revenue VRE specialization a friendly and directs it into this separate set of actors that where you have the rights to participate or auctioned off and so it also arguably helps blockchain decentralization because proof-of-work miners and peru sneak validators now no longer get this this MeV revenue and so they just get and if block rewards and transaction fees and so it becomes more
difficult to earn higher rewards as a miner a validator by specializing which is arguably good for decentralization now this could be done at layer one or this could be done at layer two so for example inside of optimistic roll-up or zk roll-up protocols and this is actually look for example what the optimism team which Carla's part of wants to do right they wants to have an optimistic roll-up where they do basically separately auction off the right to be a kind of sequencer that decides transaction ordering and the revenue from this auction they actually do wants to kind of pump into some kind of public goods funding so that's a and of quick review of some techniques for
where we can potentially collect revenue right there's a bunch of these places to collect revenue inside of the protocol the next question is how do we allocate the funding so public goods funding the status quo right so the status quo of public goods funding in crypto is largely that you have a small number of bureaucracies handle it so in countries you know the bureaucracies are basically the government in the etherium ecosystem you have the etherion foundation you have consensus and then you have a couple of other groups that kind of varying sizes so it for example maker has done quite a lot of good work or in status has done some good work there's a bunch of other projects in the Z cash
ecosystem it's basically kind of these hard-coded recipients of the developer funds which are largely the Z cash foundation and the electric coin company and and then in the in the Bitcoin cash proposal in the original proposal the the entity there would be one hard coded and we're receiving the funds which is quote a Hongkong corporation so this was criticised by the community for being incredibly opaque and later proposals have added some and if more flexible options right so we have a bunch of bureaucracies and let's call them central capital coordinators for public goods we can call them ice we could call them CCC Peas
so yeah so the question is basically can we have mechanisms other than see CCP is for determining and of how revenue for public goods ends up getting allocated right you know we have free markets for private goods can we have the equivalent of free Mauri markets some kind of decentralized process that also works and a reasonably well for public goods so what are the alternatives so this um there's a bunch of different options so we'll start from an of the less controversial end of the scale so this is a proposal that I made I think this
time it actually is half a year ago where this a developer incentivization through in protocol contractor and if author fee rebates right so the idea here is basically there is one class of public good that we actually are know that you actually can measure which is writing smart contracts that go on the ethereum blockchain that other people actually use right if you write a smart contract and other people on the ethereum blockchain kind of call into that contractor use it then this is something that can be measured and so this is something that can be directly incentivized so the proposal here is basically to just have a portion of transaction fees that go into the contract or they go into paying for gas
that's used to act that's used to execute that contracts code just get automatically rebated to the contract author now the question is well isn't everyone going to just make a copy of the contracts within their own application to try to collect fees for themselves and as part of this proposal it's not part of the screen shot but I actually have a scheme choose a bit further down in here so if you search for these words on your favorite search engine you can define this post and you can scroll down then inside of scheme two there is the site list proposal where basically the rewards are kind of super linear so they start off being fairly low and then they go up the more the larger the fees are
and this was just my proposal for a kind of protection against people just copying the contract and trying to grab the fees for themselves now there's also the arguments well are people just going to write contracts that basically kind of pay back the the fee that they get as a kind of bet so the user has a bribe and the argument is like transaction fees are fee are way small and so the procedure for doing this would be fairly inefficient and so maybe in practice it what would happen I don't know right so this is one kind of theory of application limited and very simple option that doesn't run into a lot of the problems that other approaches have but it is something that might be worth
trying Koen voting not a great solution so coin voting is the kind of immediate go-to of people who and have just think about the decentralized governance problem for the first time but unfortunately coin voting is not very good right so the etherium eco system has actually used non-binding coin votes in a number of contexts to resolve some controversial and of hardwork proposals so it was used for the dal fork it was used for VIP 999 it was used in a couple of other situations for the issuance reduction and people are generally not too happy with coin
voting as results right and one of the reasons why is because coin votes are just incredibly plutocratic so this is I think an e TC person or some other like one of these Twitterers this is basically them criticizing the the coin voting procedure for the dal fork and they basically pointed out how like one guy controlled like literally 1/6 of the vote that led to the or like that contributed to it was definitely not the sole factor waiting to at the Delft work happening right so coin voting as a mechanism is just a sort of thing where and if very rich people and very rich institutions are going to participate because for them
it's still a click of a button and they have lots of coins but everyone with much less coins they often just don't really have much incentive to participate and so I'm gonna voter participation is low the thing is very plutocratic and it's just not results that people are happy with now I made this president this presentation yesterday and unfortunately I am it turns out I was too responsible I should have really made the presentation this morning because between yesterday and this morning a really fun event happens on the internet where the steam blockchain was basically and have taken over because apparently justin sun colluded with a couple of big exchanges and these exchanges used their custom
their depositors coins to basically vote and switch all of the dell on all of the delegates on steam to a new delegates to justin lights of course and so this set of shows another kind of pathway through which these kinds of enough coin voted systems get corrupted right and so i called this kind of exchange voting thing a kind of implicit bribe and the reason why i call i call it a bribe is because like people are putting their coins on exchanges itself because and if the exchange offers them convenience right and so the exchange is offering convenience to the users and this is a private good and in exchange what the what the exchange is getting is
basically the exchange is getting the decision making rights of that person's coins without actually getting the corresponding economic interest and so be if you you as an exchange and if get people to deposit money on you and therefore implicitly give you their voting rights in exchange for convenience then it's not a bribe denominated in money but it is ultimately a bribe denominated in another kind of consideration and so this is just another way in which basically centralized actors do have the ability to kind of de facto collect up a whole bunch of other people's votes and make coin voting systems do pretty much
whatever they want so coin voting not a great solution so other kinds of solutions so one of the things that myself and Glenn while and so he hits again some other people have been working on recently is this kind of quadratic voting mechanism and this particular flavor of quadratic voting that we call quadratic funding right so the idea here is basically that we have this mechanism for and if allocating revenue to public goods where each individual person has the ability to kind of donate money to any public good and what you do is you basically kind of take the square root of every
person's contributions you add up the square roots and then you take the square of that and the square of the square roots is going to be larger them or and often much larger than the sum of the contributions themselves and so the difference kind of the yellow squares over here right the green squares are the donations the yellow squares are kind of a subsidy that gets provided from a central pool now I wrote and I wrote an article on kind of why this is economically optimal so if you go to a Vitalik CA there is an article it's called a quadratic payments a primer and I talked about quadric voting and quadratic funding and if why it's the economically optimal way to compensate for the tragedy of the Commons problem
that I talked about earlier and but not enough time to get into these arguments in detail now but basically like if you have a central pool of money then you can use this kind of quadratic funding mechanism in order to allocate that funding right and we've actually used this for get coin grants and we had four rounds of get coin grants and the results have been kind of quite interesting and I kind of quite fun and I will and I think in many cases quite good so I'd also encourage people to follow gay coin grant stuff now automatic funding one of the challengers and if two challenges here right one of the challenges is that if we want if we
want any mechanism that gets away from both one centralization and to just being a coin voting mechanism then we need to have a mechanism that somehow kind of detects who individual people are right because as you might be able to see here if you have a contribution if you have the ability to kind of split your contribution among a huge number of fake people then the amount of money you need to donate to have the same impact on the kind of eventually melt the project gets becomes much smaller right and so you need to have some kind of identity system that's capable of actually distinguishing between
different people and distinguishing between one person with a thousand ether versus a thousand people each of which have one ether identity systems and especially not completely centralized identity systems are hard and this is arguably a very good reason not to do this sort of thing at layer one but this is something that could be potentially reasonable to do at layer two such as say as part of as something that distributes the revenues from in any the auction that happens inside of a rollup where if you think one of these systems starts to work incorrectly and gets corrupted then well you do have the ability to kind of opt-out and switch to a different roll-up right so you would
lose out on network effects if that happens but you know the ability to kind of collectively move away from a system if it breaks system as something that does exist another problem in addition to identity systems is a kind of coercion mitigation right so can you prevent people from kind of paying other people to vote in a particular way and it turns out that there are cryptographic techniques that can be used to try to limit many kinds of vote selling so there's this project called me see that's very white hat wage and some other people are doing a
lot of great work on which is basically using kind of techniques that are similar to the techniques that are used in and have proposed Elektra secure electronic voting systems except like the ones that are actually secure and not the ones that people are kind of tends to actually use in practice for some reason that actually do kind of ensure this property that an individual does not have the ability to prove who they voted for and so if you sell your vote like you can't prove whether or not you actually did vote for whatever the person who buys your vote wanted you to vote for and so this is one kind of coercion mitigation and I know good coin grants people are interested in
integrating this eventually a better identity system I mean potentially something like equal grounds could eventually be done as a smart contract system or as a dhow instead of all being controlled by a central actor so this is the sort of thing that still just needs more ongoing research more ongoing development and macey is not the only project in this kind of cohesion minimization area there's also some project I know about which is trying to like basically use kind of Bitcoin mining Asics as a way or improving that that a key is inside of a Bitcoin mining ASIC as a way of proving that it's not inside of an NPC or trust at Hardware one of these constructions that would
that would allow kind of trustless we selling your key there's also kind of techniques for proving a kind of personal or possession of a key in person there's a lot of research in this regard another thing is that we if we wants to have one of more public or it's funding then having more sources of revenue that can be directed into these public goods funding mechanisms is something that would be desirable right so and if doing she changing the etherium protocol itself to have revenue going to specific addresses is something that has historically been very controversial because basically whatever that mechanism is it would have to be
kind of be really airtight and it's not a very neutral mechanism that it would compromise and if the monetary neutrality of ether and that makes a lot of people upset and so it's not the sort of thing well it's a sort of thing that a lot of people don't want to go down but at layer two there are quite I see a few potential opportunities to do some value capture right so in general just to give you an idea feasibility the amount of aetherium transaction fees that happen about every year is somewhere between twenty and forty million dollars and so if everyone's or if a lot of people start living inside
of roll-ups then you can imagine transaction fees inside of roll-ups if we get more users also hitting the twenty to forty million dollar a year level and there's estimates that suggest that minor extractable value might actually be even higher than transaction fees so there's potentially quite a lot of revenue that could be claimed but I kind of captured by mev actions using if - as an opportunity to experiment with voluntary tips so this is something that I know if two client developers and some other people have been talking about basically kind of having a norm that if your client is new clients by default have a way of saying redirecting 10% of
your staking revenue to the client developers and this is something that I as a community should consider kind of accepting and should consider like basically I mean if just accepting is reasonable and not really trying to circumvent it if client developers try to do this or because ultimately client developers do it if we want to have a healthy ecosystem we do need a way of funding client developers that does not depend on them just permanently getting ongoing grants from the SEC CP that is the etherium foundation so continue research and experimentation into other funding and distribution mechanisms so
Molech tell medicare tell kind of other examples of people trying to do this sort of thing there's potentially other kinds of kind of public goods funding mechanisms also other kind of decentralized identity solutions that we could use to try to kind of distinguish between distinct people which seems like a really important building block for a lot of the public goods finding gadgets and and also just kind of continue watching the situation like how much public goods funding is actually necessary for the etherion ecosystem to kind of be running at peak performance right is is 40 million dollars a year sufficient is four million dollars a year sufficient would we eventually needs to go up to
two hundred million dollars a year because there's a lot of other projects that are that start pumping billions of dollars a year into their own ecosystems and if the area and and unlike the current iterations those projects are somehow successful and so like we need more developments to be able to say anniver mean competitive is like how would the situation look like five years from now ten years from now I don't know and hopefully as I have shown today with some of the different mechanisms the kinds of solutions that are optimal at different scales are different and the larger the scale of public arts funding that you need the and if the more the more neutrality and kind of the more
other things you might have to compromise on and so you know this is a challenging question right so basically and if keep watching how much is necessary keep watching and and if keep on building on different mechanisms and generally using layer 2 protocols and also execution environments and and other kinds of things that have Network effects but also are not layer 1 as a potential testing ground for this sort of stuff and you know hopefully the etherium ecosystem can become a place where a lot of kind of both just exciting experimentation but also good results in supporting public goods that
we need and depend on can happen thank you [Applause] [Music]