This article describes the work carried out in the interest of designing resilient public goods funding infrastructure for the Gitcoin Grants program through a collaboration between Gitcoin & BlockScience, using the complex systems simulation & modelling tool cadCAD. Article by Michael Zargham, Danilo Bernardinelli & Jeff Emmett.
Quadratic Funding is #GR8
Quadratic Voting captured the hearts of the web3 space after being re-introduced by the Radical xChange movement. Gitcoin builds on the same principle by leveraging a powerful algorithmic policy called Quadratic Funding (QF) to allocate sponsor funds via matching community donations to grants submitted through the Gitcoin Grants program. The purpose of this form of grant matching is to allocate sponsor funding via a community preference signal by capturing not just the depth of donations ($ amount donated), but also the breadth of the donation base (# people who donated). The outcome is that grants that are supported by many people with small donations would receive relatively larger matching than grants supported by few donations of larger amounts. In effect, Quadratic Funding aims to boost the influence of people over plutocracy.
The Quadratic Funding mechanism is one example of a resource allocation strategy derived from convex optimization, with the aim to improve the community signal of which projects receive supporting funds by tuning the network sensitivity more towards human influence (# of people donating) over monetary influence ($ amounts donated). This work was based off of the research and writings of Glen Weyl, and later Vitalik Buterin picked up the flag.
But Quadratic Funding Still Faces Challenges
While QF is very powerful, like any real world system it has weaknesses as well as strengths. Specifically, Quadratic Funding is sensitive to sybil attacks and collusion strategies. Furthermore, like many social systems, it has been observed to exhibit the Matthew Effect, a runaway effect of ‘the rich get richer’ which needs careful consideration in sustainable systems design. For these reasons, platforms applying quadratic funding need to be governed carefully to protect against these attack vectors.
Gitcoin, to their credit, has taken these challenges seriously with the introduction of techniques to combat sybil attacks & rudimentary mechanisms to flag collusion. Given the growth & scale of Gitcoin Grants, we have an opportunity to advance our understanding of the impacts of Quadratic Funding using data-driven analysis. From that angle, Gitcoin Grants is actually the perfect testing ground for digitally native sybil resistance technologies.
What does it mean to ‘Govern’ Gitcoin Grants?
The Gitcoin Grants platform doesn’t control user decisions as to how funds are allocated, it simply serves as a signal for how to allocate matching funds (sponsored by the Ethereum Foundation, among others) towards projects as deemed important by the community. The Quadratic Funding algorithm is the main ‘resource allocation policy’ of the Gitcoin Grants program, but as it turns out, other algorithmic policies are at play as well.
Gitcoin Manages a Growing Array of Protections
To protect against the above challenges, Gitcoin manages a variety of protections already. For example, there are sub algorithms which assign sybil scores and rewards for external identity verifications to defend against sybil attacks; collusion effects are also reduced by the introduction of a “pairwise” algorithm which makes donations from highly correlated users eligible for less matching than donations from uncorrelated users.
With the aim to produce Quadratic Funding of public goods for the Web3 ecosystem, the Gitcoin team strives to operate a fair and open source platform, including the ongoing maintenance of its algorithms to protect against the above mentioned threats. However, that has to be done carefully — and here cadCAD can help. When dealing with large, complex networks of interaction like Gitcoin Grants, we should keep in mind Robert Merton and the Law of Unintended Consequences:
“An intervention in a complex system tends to create unanticipated and undesirable outcomes”
Diving Deeper: Let’s Get Empirical
Using applied complex systems engineering, Gitcoin and BlockScience are investigating the design of data-driven policy tools that can better sense and respond to the needs of the Gitcoin network. A cadCAD-based digital twin model could be used to provide decision support to the the Gitcoin community in a number of ways:
1 — Identifying specific instances of malicious activity
2 — Identifying malicious strategies which game the algorithms to undermine the community goals
3 — Identifying misaligned incentives, where honest behavior still results in undesirable system level outcomes
4 — Proposing alternative policies which address identified challenges
5 — Testing alternative policies to determine their most likely systemic impact
6 — Communicating proposed changes and gain community buy-in for proposed policy changes
Watch Gitcoin Grants round 7 unfold with donors on the left, proposals on the right and donations connecting them.
Guiding Complex Systems with Computer-Aided Governance
In order to better understand the interactions of the Gitcoin grants ecosystem, we can represent it with a simulated model. In this model, grants and donors form an interconnected network structure based on the donations flowing between them. This network changes in time with agent interactions, which can be represented by a dynamic network model.
The dynamic network model of Gitcoin is comprised of 3 main components:
1 — A mathematical representation of a ‘trajectory’ of the multi agent system that comprises a Gitcoin round, including all of its grants, participants, and contributions
2 — A computational model of that ‘dynamical system’ implemented in cadCAD
3 — Data from the real life Gitcoin system, representing specific historical actions taken by participants
Combining these three things, we have a model of Gitcoin that allows us to run counterfactual analysis to test sensitivity to various attacks, test out alternative policies, explore new metrics, or even do all three at the same time. While still early, this work provides the foundation for a future of Computer-Aided Governance of Gitcoin Grants.
An Open Approach to Complexity Science
Gitcoin has always been a champion of #OpenSource, and cadCAD is the leading #OpenModelling tool available in the Web3 space. In that ethos, all research and models that are being produced in this collaboration are available through open source repositories. We invite the community to fork and experiment with these models to continue to build on our growing framework of knowledge in public goods funding.
Much of this research is future work, and the models presented here will be continuously iterated, with updates about our discoveries forthcoming in future articles. Today we would like to share with you the first version of the Gitcoin cadCAD model and invite you to follow along as we continue to flesh out new experiments, analyze new data, and support the Gitcoin team in their quest for a fair and transparent way to distribute matching funds for open source public goods.
Check out the Gitcoin cadCAD Model Repo: https://github.com/gitcoinco/gitcoin_cadcad_model
Follow the involved organizations to stay in the loop on project updates:
Thanks for reading!