New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

Clearly, Funding Public Good Is Good - Auryn Mcmillan

Ethereum DenverSat, Oct 9, 2021, 12:00 AM

This talk is from ETHDenver & ColoradoJam , the world’s largest Web3 BUIDLathon and Community Gathering. ETHDenver’s content is crypto and blockchain focused. Learn more: ethdenver.com Subscribe to our channel to learn more + connect on Twitter: https://twitter.com/EthereumDenver. Speaker: Auryn Mcmillan, Clr.fund This talk was recorded Wednesday, February 10th, 2021. ETHDenver 2021’s content themes included DeFi & Money Legos, NFTs & the Creator Economy, ColoradoJam & the Next Frontier of Statehood, Protocols & Interoperability, Open Source & Public Goods, The Ownership Economy & Digital Orgs, Usability Design & Adoption and Legal, Privacy & Identity. Industry experts also weighed in on topics like decentralization, privacy, identity, non-fungible tokens, scaling, governance, diversity, and arts and culture in blockchain technology. The 2021 event was February 5-12 and hosted virtually in 2021 with 5000+ blockchain enthusiasts, developers and community members from 80 countries and 50 U.S. states. 🔴 SUBSCRIBE ETHDenver’s YouTube https://www.youtube.com/channel/UCgz9NU06t_FkT0Py1Vadczw 💡 LEARN ETHDenver’s Official Website https://www.ethdenver.com/ 👋 CONNECT ETHDenver Twitter https://twitter.com/EthereumDenver 📖 READ ETHDenver News on Medium https://medium.com/ethdenver 🛍️ SHOP ETHDenver Official Merchandise bufficorn.com 💬 CHAT Telegram https://t.me/Ethdenver Discord https://discord.gg/AxFmNdCVnU 📱 FOLLOW LinkedIn https://www.linkedin.com/company/ethdenver Instagram https://www.instagram.com/ethdenver/ Facebook https://www.facebook.com/ETHDenver/

Transcript

dude howdy howdy long time no talk yeah it's been what like four or five hours uh lauren are you ready i'm uh i'm good to go yeah all right take it away all right uh so i'm sharing my screen now i think um so yeah hey yeah denver how's it going hope you guys are all having a uh having a blast really excited to be here my name is oran mcmillan i'm a product manager at gnosis and a serial ethereum tinkerer uh big dao fanboy have been have been in space for a number of years uh mostly playing with dowels and uh and the associated technologies around them uh today i want to tell you about a project clear fund it's a project that i and a handful of other contributors have been working on in our spare time since denver last year uh we actually kicked it off at denver last year um as a hack we made it as uh as finalists um and yeah we've continued working on it and uh yeah really excited to kind of share where we're at with it and kind of why we're building it so in short clear fund is a permissionless quadratic funding protocol for the ethereum ecosystem but before we dive into what that actually means i guess i just quickly want to highlight the problem so clearly public goods are good and just to be clear when i talk about public goods i mean those things that benefit the community and are both non-excludable meaning that anyone can freely use them and no one can be meaningfully prohibited from using them and non-rivalrous meaning that uh the user does not the use does not deplete uh their availability for future use in the context of ethereum or the ethereum ecosystem that might be things like uh protocol research uh core client software guest open ethereum nevermind turbo geth languages like solidity and viper developer tooling like truffle hard hat type chain wallet connect some smart contracts like nursesafe tornado cash with some applications like bright id rocky true blocks and some media like eth hub and bankless and of course much much more the problem is even though most of these things are pretty universally recognized as good for the ecosystem they're often drastically underfunded either due to a lack of funding or to inefficiencies in how funding is allocated this is where quadratic funding shines uh one great example that's been actually boom for the ecosystem has been uh git coins quadratic funding rounds they've been uh absolutely amazing they've been really supportive of clear fund and they've been really supportive of the entire ethereum community they've done an amazing job kind of paving the way and one way actually is with this and so what the is quadratic funding uh the folks at git coin actually made up for really awesome websites wtf is qf.com with a quick explainer video and a cool interactive demo i'll let you go and explore that on your own time but the tlbr of that is qf is apparently the mathematically optimal way to allocate funding to public goods essentially anyone can vote on how to allocate the matching funds by contributing to projects that they value your vote weight towards a project is the square root of your contribution to it so this allows you to express not only your opinion but the strength of your preference by contributing more or less to different recipients it also then ensures diminishing returns on larger contributions if you want to dive deeper into the math of why check out that 2018 paper by budaran heath and weil titled liberal radicalism a flexible design for philanthropic matching funds why clearfund in short because we believe that protocol level funding should be allocated by a fund allocation protocol and because most existing fund allocation mechanisms used in the ethereum space grants communities dows etc are slow biased permissioned and susceptible to collusion and bribery so clear fund is a protocol for efficiently allocating funds to public goods it strives to be credibly neutral decentralized permissionless trustless and pseudonymous while also being resistant to collusion and bribery that combinations is a really really tough ask that combination of traits especially in the context of quadratic funding so how does clearfund work before we dive into it it's important to distinguish between the canonical instance of fund and then the the protocol of the technology that clear fund has built so when i talk about the canonical instance of clear fund i mean the incidence of clear fund that's been deployed with the explicit intent of funding ethereum's public goods and the lofty goal the lofty goals for it that we just talked about so for instance or for this instance we've made some really deliberate design choices intended to make the system less trustful and more permissionless but anyone can deploy an instance of clear funds and we absolutely hope people do we'd love to see an ecosystem of clear fund instances start to propagate um so yeah anyone can deploy an instance of clear fund to allocate funding to whoever they like for example many ethereum projects have community funds or grants programs that are intended to foster development of their own ecosystem so these projects could easily spin up a white label instance of clear funds to allow the community to decide how to allocate those funds uh we'll get into it later but this is actually what we've done for the f denver open track this year the prices will be distributed with quadratic funding vrnf denver branded instance of clear fun again we're really really excited to go kind of full circle from being a hackathon project um in last year's uh f denver to now being able to help actually facilitate uh price distribution and voting for this year's event um so there's a few kind of components a few core components that uh make up uh clear fund or make up an instance of clear fund uh first is the funding around factory which is responsible for holding the matching pool funds defining variables such as round length uh and native token which can be the erc20 token and then spinning off rounds macy which is a minimal anti-collision infrastructure it's a zero knowledge proof based system for collusion resistant voting and this is where the real magic happens essentially it allows users to contribute to the round then allocate their funds to recipients in such a way that they cannot prove how they voted to the outside world so in the case of bribery the optimal behavior for someone being bribed is actually to accept the bribe and then allocate the funds however they like allocate the funds as if they hadn't been bribed since the briber cannot know how they voted the the third piece is recipient curation essentially a registry of eligible recipients so clear fund is agnostic to how that list is curated or what it looks like it simply needs to be a contract that conforms to our recipient recipient registry interface so for the canonical instance of clear fund we use a clairos tcr so that eligible projects can be permissionlessly added however we've also built a more simple recipient registry where an owner address can add and remove recipients and the simple registry is what we're using for uh denver just for easier management um and because it's uh it's a little bit speedier and then the last piece is uh civil resistance so quadratic funding breaks without civil resistance if users can split their contribution over multiple accounts they can gain a disproportionate vote weight and disproportionate influence over the outcome of the round so as such strong simple resistance is really important again clear fund is agnostic to the method of civil resistance it simply needs a contract that conforms to our registry interface um for the canonical instance of clear fund we use bright id for civil resistance so any bright id verified user can contribute to the round and vote on how funds should be allocated however like the recipient registry we also have a simple user registry that lets an owner address add and remove users from the registry again for simplicity's sake this is the option we went for for f denver's instance of clear fund and it's worth again reiterating that clear fund is agnostic to how the recipient and user registries work adapters could easily be created for different tcr mechanisms or different curation mechanisms altogether for the recipient registry and for the user registry uh any of the ever growing lists of proof of uniqueness protocols or identity protocols could easily be adapted to uh conform to that registry uh or those registry contracts so let's quickly go through how a funding round works uh essentially the the owner spins up a calls a function on the funding round factory to deploy a new round the owner is just an address that's been assigned as a as an owner to the assigned to be the owner to the funding round factory in the canonical instance the owner is uh currently a multi-sig in future we have to control it with a more permissionless dow structure uh and in the fdn for instance the owner is currently in eoa just to make management simpler at the cost of it being a little more trustful i guess it's worth pointing out there that the owner still has kind of limited ability to actually uh manipulate most things essentially it can just kick off rounds and uh change some of the variables um number two uh funds are allocated to the matching pool so any address can add funds to the matching pool at any time by either sending the rounds native erc20 tokens to the funding around factory address or by approving the funding around factory address to transfer funds from itself three at any point during the round users on the registry can sign up to contribute to any projects they like they can also reallocate their funds at any time during the round in case they change their mind on how they want to their funds to be allocated say in the case of a bribe or simply a new project being added after the fact then once the round ends the quadratic funding results are calculated using zk snap magic which essentially means that most of the inputs are secret specifically the way that users allocate their funding but we can produce a proof that verifies the results we computed correctly and then finally once the proof has been produced it's published on chain and all of the recipients can come and claim their share of the matching pool along with their direct contributions um so if you want to learn more about clear fund or take it for a spin we just started an 8 000 or i guess 8 000 x die uh matching rounds over on x die so you can check it out by heading over to clr.fund and clear fund is built by an open collective of contributors funded by grants and via our own matching rounds so if you're interested in helping us build clear funds you want to use clear funds for your own project or just want to join the community you can find us on twitter at clearfund on our forum at forum.clearfund uh and on telegram t dot me clear fund um so with that we've got a few more minutes i believe uh if not someone just come and cut me off we've got a few more minutes so i'm going to jump in and try and do a uh a quick live demo and uh i'll i'll go and contribute to our latest funding round uh just so you guys can kind of see how it uh works uh let's just make sure that screen change is working perfect so yeah here we are at uh clear fund essentially we've got a list of projects here that have all been added via the clairos tcr that i talked about earlier a couple of projects that you probably know so what i'm going to do here is just scroll through pick a few projects and add them to my cart over on the right hand side i'll be fairly indiscriminate about projects for the time being so don't take it uh personally if i don't pick your project right now one thing to note here is that so i can allocate funding right now but this doesn't mean that i um this doesn't mean that i have to necessarily vote for these projects i talked earlier about being able to reallocate funding so even though you guys are kind of looking over my shoulder as i uh as i do this right now there's no way for me to actually prove that this ends up being the way that i vote by the time the uh by the time the round ends i can always reallocate my votes and i can even do it from a different address so that you can't kind of follow transactions on my address to make sure that i haven't resubmitted my vote so i'm going to drop let's try for 20 die into each of these projects um if i wanted to to allocate it unevenly i could looks like i don't have enough uh wrapped x die in there for right now so let's drop this down or let's add one more project and i'll just do 10 into each hard hat awesome so let's do that and that will make sure i actually have enough to allocate great so i've added all these products to my cart i'm going to contribute 60 uh xdi to the round [Music] this is uh a little bit of a painful process there's a couple of transactions uh in a row but it's nothing you probably haven't already interacted with somewhere else in the uh ethereum ecosystem luckily on xdi these transactions are cheap and they confirm really quickly so here we are just waiting on this uh second transaction um you'll notice that the matching pool right now says uh 79 we're still waiting to approve the 8k of uh additional contributions to the sorry additional funding for the uh the matching round and that was provided via an ethereum foundation grant so we're hoping to continue scaling up the size of the matching pool over the next few rounds uh with the eventual target of actually moving uh clear fund over to an optimistic roll-up uh and then scaling orders of magnitude on the matching pool uh so there we have it uh success i've contributed to the round um as i said i can come back at any time before the round ends we've got a little over two weeks before this round ends so at any point during that time i can come back uh add new projects and change how much i'm allocating to each project i cannot change how much i've i've actually contributed to the round at this point but i can uh come back and change how much i allocate to each project and say i want to bump that denver up and bump clear fun down a little bit i can as long as it still totals up to uh at 60 x die or less since that was my initial contribution i can kind of shuffle these allocations around as much as i want either between the projects already in my cart or i can remove all of those and add new projects and kind of reshuffled that's awesome thank you cheers so yeah thanks everyone for uh for tuning in we're so happy to have you thank you everyone found where they find you on discord so we'll have people follow with you shortly yeah cheers thanks guys

Automatic transcript — names and jargon may be misspelled.