Gitcoin Grants Stack - tools for communities to fund their shared needs / Atris

EthPrague 2023 · June 2023 · 19:29

Atris presents Grants Stack, the set of tools Gitcoin is developing so that any community can fund its shared needs. Building on more than 16 successful Gitcoin Grants rounds, the talk at ETHPrague 2023 explains how quadratic funding and quadratic voting help communities decide what matters and direct money to public goods.

Speakers

Topics

From EthPrague 2023, hosted by ETHPrague.

Transcript

thank you thank you so I hope you've been enjoying if Prague as much as I have um for me it was awesome so far I'm gonna be talking about the grand stack um but first who am I so I'm a developer a Bitcoin I do the full stack so everything from the web through to the contracts testing everything at receive on Twitter if you want to follow me and if you have any questions after the talk feel free to add me on telegram I'll be happy to answer all of those so for those of you who aren't familiar with Bitcoin a brief history so in 2017 Bitcoin is born and it was founded with the main reason for its funding was to support open source so I think the

tagline for Bitcoin originally was grow open source um and we did that through something called bounties which was basically a way to attach a financial incentive to complete some kind of Open Source issues so projects could develop and say like hey here's 50 if you fix this back in my open source project um in 2018 the seminal quadratic funding paper was published by vitalik and his co-authors which introduced a novel mechanism of democratically allocating funds to public goods and so then git coin adopted the the mechanisms described in this paper and then a year later in 2019 the Bitcoin grants program was launched

and here we are in 2023 and we've distributed over 50 million dollars of value to all sorts of different projects including bankless Dao uniswell poab optimism was funding through Bitcoin grants um tornado cash also eff and a bunch of others so this is a slide from a site that we have the impact report I highly recommend that after the talk you go and check it out because it's at least to me it's really inspiring to see kind of what can be achieved when the community comes together and and funds open source funds public goods and this is all great but what's next what's the the next thing

um how do we maximize bitcoin's impact so one of the issues of our grants program is that it's centralized because we do all the curation we do all the review so we are basically The Gatekeepers of whether you get your Grant approved or not which is not ideal we also contribute or used to contribute most of the matching fans we do have sponsors of course and we are very thankful for the sponsors but still we are kind of the central point of funding and also of potential failure right we also handle most of the marketing and most of the operations like actually deploying the contracts um servers and everything and it's great because it makes it easy but it's not

great because it's not scalable right um and it's a central point of failure so if we get somehow attacked or if we get infiltrated by some government or something that that would be a really bad um so what we did was we decided to run partner rounds which is basically we partner with someone outside of Bitcoin maybe it is coinbase maybe it is a16z and they contribute the matching funds they curate the rounds so they get to decide which grants get into the round but we still handle the infrastructure and we still handle the marketing so it's a stepping stone but the Holy Grail the Holy Grail is the grand stack so what is the grand stack there are tools

for communities to fund their shared needs notice that we are no longer constraining ourselves to public goods here and we are kind of broadening the scope to any kind of shared need that a community might have online or offline so what's the vision with Grant stack so our vision with Grant stack is basically take our vast experience of running the Bitcoin grants round for you know 17 18 Seasons now and create something decentralized create something that is truly decentralized because you know a Dao is great but as I said we still run all of the operations

um and something that can scale infinitely right so we aren't the bottleneck here and anybody can adopt those tools run their own round and therefore we are no longer the bottleneck and anybody can scale this um this Vision this software on their own um and we also made it to be modular so um I'll gonna tell you like a secret the original Bitcoin grants this one huge monolithic Django application and over the years it's been worked on by many many teams and it's kind of grown to be a real pain to like deploy and maintain and uh our vision with uh Grand stack is to be the exact opposite so every part

of Grant stack is almost an independent application it's very modular so you can take the contracts but you can use your own front-end or vice versa you can take our front end but you can swap out the contracts for something that you developed or you adopted from somewhere else and this is not just great because of decentralization but it's also great because it allows new ideas to come into the space right so if you wanted to do a slightly different version of quadratic funding and running around it wasn't possible you know because it would come to us and we'd be like well it's just too hard for us to make this adaptation to this existing system right now because it's all modular and kind of built from the ground up to be modular

and easily editable and adaptable you can come in you can Fork our contracts and you can say I'm gonna you know um I'm gonna edit a few of these files so I'm gonna kind of tailor it to what I need or what my community needs and I'm going to run that and it's really easy before it was impossible now we'll make it easy let's see um okay so what is it really uh it's a software suit with everything communities need to run a successful grants program um when I say software suit I mean a bunch of things um mostly it's the the contracts which we call Allo protocol which are contracts that kind of underpin this

whole system so previously project applications weren't on chain it was just a database project approvals and rejections managing your project it was just like a Django application backed by a database right now all of that is on chain the data is not stored Unchained stored on ipfs but all the project applications managing your projects managing your project description all the history of your previous rounds all the history of votes that's all Unchained so it's available for anyone to inspect you can build you can build new dashboards on top of it you can you know mine the data it's freely available to to anyone it's inspectable it's also auditable so you know if someone

feels that maybe we're doing something wrong maybe we made some mistake they can check the chain as we say and prove to us make an audience and prove to us that maybe we did something wrong and yeah it's all open and then we have a bunch of front-end applications they're front and only so there's no kind of server backing them which is cool because we can deploy them on ipfs and we already do first of those is manager which is used by round operators to manage rounds so we can create around there and basically it takes you from creating the round all the way to finalizing the round and funding the grantees then we have the Builder which is used by grantees to build their project so create the

project create a description basically make their project attractive to donors and then we have the Explorer which is for donors to go explore the current rounds and see whether they want to donate to some projects and check out and everything and I changed the symbol for passport and then Europe here because passport is also a Bitcoin product but it's not really like part of the grand stack but we use it also passport just a brief introduction is a civil defense service let's say it's also open source so you can also 4K run it on your own self-hosted basically but most people opt to use our instance and it allows you to it allows users to collect stamps

which are basically little bits of civil resistance proofs let's say so I can collect the stamp saying I have some pull-ups or I have an ens or even like we even support centralized providers so I have a Google account and it builds up your score your passport score and passed a certain threshold that you can choose you're basically taking the person that's not being a civil and so we use that so it's kind of like part of the Quran stack and then Europe here so the great thing is I've mentioned about grants like that's it's fully open source it's fully modular anybody can come in and and Fork it and edit it and make it their own basically and we want people to do that one of the reasons why

we made this wasn't just to remove us as the single point of failure as the bottleneck and truly decentralized the Bitcoin grants but we want people to to build um to remix our apps you know to like take a take a bit here take a bit here and adapt it to their own grants program why not you know we actually want people to do that so that's why I specifically mentioned like Europe here we want you to build we would love you to build on Grand stack um so what are the common traits of all the parts of the protocol that we have developed uh they're they're all open source and not just open source because open source can mean I'm showing you the source but I'm not allowing you to use it um but it's also Libre uh it's a feral GPL I hope I'm pronouncing it correctly

but it's like the new GPL basically so it's uh it's a copyleft license um all that can be Unchained is on chain so most of the actions are on chain like applying to around getting approved getting rejected editing your profile however it would of course be costly to store text on chain so we store that on ipfs and then we store a commitment to the ipfs file in the contracts so you can go and From the Block Explorer from the contracts you can go to ipfs and check out what the data actually is and we try to use the latest tools and Technologies so that we appeal to

developers so things like Foundry things like yeah things like Foundry things like VM wag me and we really try to like be on the bleeding edge and make the software attractive not just to users not just around operators but also to developers so that they are they want to build on it um but we want you to build on Grand stack as I said previously um so please do and now it's kind of hone in and I'll see some details about the parts so our protocol which is the current contracts it's based on a battle test that opens at plane base it has been audited by Sherlock there have been no high

severity vulnerabilities found only one I think one medium it's a very vulnerability which wouldn't even have resulted in a loss of funds it was just like a DDOS so you could DDOS round creation so we could kind of prevent some creating a round but it will cost you money of course and the voting and power strategies are modular so we are not locked into quadratic funding it was made with quadratic funding in in mind and it's what it does best currently but the voting strategy is completely separate from the rest of the contracts so you can you can reuse the kind of round contracts the project registry and then completely digital quadratic funding and

say I just want direct brand so I just want people to directly donate the project with no matching at all um you can do that really easily and uh there will be some Foundry tests in effect I I think the pr is already merged and gas optimizations also will be coming very soon manager this is the first of the front ends so it's geared towards round operators so you can create rounds you can review approve reject applications including bulk view bulk reviews approvals you can monitor in progress rounds so you have detailed statistics about a running around how many people have donated what's the

estimated matching that we'll be taking out of the matching pool and all sorts of stats that you might want to check out during the round you can also finalize the round of course after it ends so you can check out the results download we provide the results in a CSV so you can plug in into any data analysis software you want and run some kind of you know anomaly detection or anything and basically get the data that that you need and then finalize the round with that so usually what people do is simple hunting right and then you can also pair grantees Builder as I mentioned it's an application to for projects to create a profile

um so just as you had a profile on the old platform you have a profile on the new platform but this time it's fully unchanged so again other applications don't have to use our API or we don't have to give them a read-only a database credential they can just go to the chain and get all the projects then you know kind of Follow that link to ipss ipfs get all the data we are no longer Gatekeepers of this data you can apply it around and you can also see your stats for current ongoing and past rounds so you can maybe showcase to your donors like hey we've already got a lot of um we've already got a lot of donations from previous rounds and here's how we used it

Explorer is the last piece of the puzzle because now we have a round running now we have a project and now we want people to donate of course so this application allows people to explore active rounds I believe this is the yeah this this is not the home page this is a concrete round from our latest grants round that we run the climate Solutions you can see all the info you need like the matching size and then all the projects there are some interesting ways that we for example display the projects because we don't want to for example do it alphabetically because that would favor projects that have a and b in their name or the start and we know that the projects that you see first a lot of people kind of donate just to those uh so we do some shuffling and stuff like

that and once you pick a project to support or ideally more projects you can actually donate you can send the money the good thing or the interesting thing rather is that in this version of the protocol when you donate to a project your donation goes directly to the payout address so it doesn't go to us basically to then be dished out to um to the projects it goes directly to the wallet that the project specify that they want to be paid out to and then at the end of the round after the round is finalized the matching goes from us again to the wallets so it reduces kind of centralization risk because the funds if we get hacked the only thing or the round manager that gets hacked the only thing that they lose are the matching

funds and not the funds of the users who donated um and passport I can't fail to mention passport again it's a very useful tool to defend your rounds against the Civil attacks we offer it as an API so we can create an API key and basically you pass in an address and they give you back a score it's like the main endpoint of the API of course we have more stuff in there but this is what people are most using it for like give me give me the chance that this user is or is not possible basically is what you what you mostly want but it's also open source I can't remember if it's MIT or a new GPL but it's open source and labor software so you can self-host if you don't trust

us if you want to run your own password instance you are free to do so there's no restriction on licensing or anything like that so you can just go to GitHub download the code or Fork the code and make it your own deploy it and we'll be in fact we'll be happy for you to do so because it again decentralizes the protocol and this is it that's the wrap um this has been grand stacked by gitcoin thank you so much and I hope you're as excited as I am for the future of public goods funding um we have a little bit of time I believe two minutes for Q a so um if you yeah if we can do a quick q a and if I can't answer your question in time feel free to again catch me on any

of the social networks or in person I'll be around thank you thank you very much I'll just give me a round of applause lovely to hear out get coin we have got two minutes so stick your hand up if you have a question about the grant stack yes hey I'm Maddie we actually distributed some like half million bounties and I would like ask if you have like the multi currency suffered in the stack so multi-currency as in you can donate in different tokens yes yes so we do support that um it's up to the brand operator to to choose what tokens they want to enable um I think by default we enable if and die but you can it supports any erc20 okay thank you thank you any other questions yeah

uh you mentioned that this could be used to support uh any Community not just public goods funding could you give an example which is not public goods funding sure so this is a hypothetical example but it's an example that I want to do uh and this is a very real world example so I went to high school here in tribute public and there is like a student council thing right and they have some some budget for things like events for things like art installations and currently the way it works is that each class has like a delegate which is one person and then I think four times a year or something they like come in and vote which is like great but it would be I think even more awesome if every student could get their own like vote and it wouldn't be quadratic funding it

would just be quadratic voting because that is also supported you can plug that in and every student could kind of vote on you know the art they want to to purchase for the school halls or maybe they want to do some kind of events some kind of concerts in the school or something like that so yeah that's uh that's the use case that I will personally try to do um yeah please do it that sounds brilliant and I love quadratic voting is getting in there as well I'm glad Bitcoins getting there right Final Round of Applause everyone for artists wonderful thank you next talk will be in five minutes [Music] foreign