Note: This repo is out of date. To checkout Gitcoin's QF Protocol go to https://github.com/dcgtc/dgrants/
This is an open source implementation of quadratic funding or liberal radicalism, a design for philanthropic and publicly-funded seeding which allows for optimal provisioning of funds to an ecosystem of public goods.
This concept was adapted from a paper written by Vitalik Buterin, Zoë Hitzig and Glen Weyl of liberal radicalism fame.
The idea of a quadratic voting system was the starting point for Gitcoin's funding open source experiment.
The math behind liberal radicalism (LR) can be quite complex, but essentially, individuals make public goods contributions to projects of value to them. The amount received by the project is the amount donated, and an additional amount proportional to the square of the sum of the square roots of contributions received, minus the actual contributions themselves (the sum of the contributions itself, by project.
So basically, you can think of donating to a Gitcoin Grant as two steps:
-
Individuals crowdfund donations towards public goods (for example: commonly used repositories in open source software).
-
These individual contributions are "matched" by funds from a government, grants program, or private philanthropist.
How the match is calculated is essentially liberal radicalism (LR), which can be summarized as "crowdfunding, with a matching function." Gitcoin's first round was a capital constrained version of LR, since the match amount is limited by the pot of funds that we get from philantropists. Capital constrained liberal radicalism is what we call "CLR", which you'll find conveniently used throughout our site.
Why this, and not just 1:1 matching?
Using LR/CLR in open source ideally helps to prevent the "tragedy of the commons." In open souce, every individual that has an incentive to consume an OSS resource at the expense of every other individual has no way to exclude anyone else from consuming it, resulting in overconsumption, under investment, and ultimately, depletion of the resource.
LR puts an emphasis on the number of donations, rather than the size of the donation itself. This is the intended feature of the LR mechanism. Projects that can get more people to donate to them represent public goods that serve a larger public, so the tragedy of the commons problem is more severe, and hence, contributions to them should be multiplied more to compensate.
Sybil resistance: We know that grants which receive many small contributions result in a larger "top-off" value from the benefactor, incentivizing an attack vector to create multiple dummy accounts to try to confuse the system.
Collusion: An attacker of the system could split up $100 into 10 people's hands, and thus achieve a much higher CLR match than deserved.
Reliance on philanthropists: In practice, CLR still suffers from reliance on a benefactor or government, a part of the problem which it purports to solve. CLR still requires generous funding, either from corporate backing, direct government support, or private benefactors.
Prior knowledge: One of the drawbacks of the CLR experiment is the fact that once the mechanism is known, people will know how to game it.
Vitalik writes of the pairwise mechanism that would help alleviate some of the collusion issues that we noticed with non-pairwise CLR matching.
With pairwise matching, the same rules for CLR still apply. The number of contributions, not the contribution amount matters more in terms of obtaining a higher match. But now, we make the assumption that the amount of funds a specific pair puts toward the same grant is evidence of how coordinated they are, and so the more grants both of them donate to, the more constricted the CLR match for that pair, under that grant.
From Vitalik's blog, we can compare the effect of the pairwise mechanism with varying thresholds against our original QF mechanism. This graph shows us that regardless of mechanisms, the number of contributions matters more than the contribution amount, and dictates that it generally penalizes projects that dominated by large contribution amounts:
While collusion can still happen, it is much easier to find. Matching pairs gives us a signal to find colluders, which can subsequently be confirmed through timestamps, frequency of donations, geographical location, and github account age.
- Gitcoin Grants Round 3
- Gitcoin Grants Round 4
- Gitcoin Grants Round 5
- Gitcoin Grants Round 6
- Gitcoin Grants Round 7
Foundations:
Research Papers:
Liberalism Radicalism: A Flexible Design For Philanthropic Matching Funds
Pairwise Coordination - A New Quadratic Funding Design
Minimal Anti-Collusion Infrastructure
Blog Posts:
Gitcoin Grants: Q1 Match + 2020 Roadmap
Experiments with Liberal Radicalism Gitcoin Grants: CLR Matching
Radical Results: Gitcoin's $25K Match
Gitcoin Grants: $50K Open Source Fund
Gitcoin’s Q3 Match: $100K+ to OSS projects
Gitcoin's Q3 Match The Radical Results
Gitcoin Grants Round 4 Results Gitcoin Grants Round 5: Funding Our Future
Vitalik's Blog - Review of Gitcoin Quadratic Funding Round 3
Vitalik's Blog - Review of Gitcoin Quadratic Funding Round 4
Vitalik's Blog - Gitcoin Grants Round 5 Retrospective