Gitcoin logo

WTF is Cluster-Matching QF?

Modern mechanism design often assumes that agents are independent and self-interested with no prior ties for cooperation. This can make mechanisms susceptible to unintentional over-coordination or deliberate collusion. As a result, public funding models like Quadratic Funding (QF) face challenges in scaling. With the introduction of Cluster-Matching QF during GG18, we have started to address the issue of power imbalances in QF models arising from pre-existing participant relationships. In this article, we will discuss the following:

  • Recap how QF works
  • Understand QF's vulnerability to over-coordinated actions
  • Understand the need for Cluster-Matching QF
  • Contrast results between QF and Cluster-Matching QF

Quadratic Funding: A Recap

Quadratic Funding (QF) is a crowd-funding mechanism that amplifies available resources by inviting community members to make donations (big or small) that act as votes on where to allocate funds. QF encourages coordination by offering diminishing rewards to the concentrated action of the few but increasing rewards to the collective action of the many. QF pools together small donations from many people and matches them with a larger amount of funding from a central fund. The broader the support, the bigger the match! 

Let's consider an example that we will refer to throughout the article. The following demonstrates a scenario in which nine donors have contributed to 4 projects in different amounts for a QF round.

A visual representation for calculating each project's share of the matching pool is as follows. 

The donations for projects #2 and #3 demonstrate the highest level of collective action, resulting in these projects receiving the largest share from the matching pool. Project #4 follows closely behind. On the other hand, Project #1 exemplifies concentrated action from a single, generous donor, and as a result, it receives the smallest share from the matching pool. You can utilize the tool on WTFISQF to experiment with various scenarios for QF.

QF is attractive because it incentivizes projects favored by different individuals while also allowing room for people to convey the intensity of their preferences. In this way, the mechanism strikes a balance between rewarding projects with many donors and rewarding projects with small numbers of high-contributing donors.  In the given example, projects #2 and #3, each backed by four donors with small contributions, receive four times as much funding as project #1, which has only one major donor. On the other hand, the lone donor for project #1 could generate more funding for that project if they donated more money. Therefore, QF captures the voters' desires and requirements while also motivating smaller contributors.

Unique But Not Independent: QF's Dilemma

Let's look at the following scenario to illustrate a limitation that arises from the premium QF places on the number of unique contributors. Imagine that donors f, g,h, and i , who exclusively contributed to Project #3, were discovered to be employees of the same company. The company instructed these employees to contribute to Project #3, which directly benefited the company. This situation feels collusive, but relying solely on Sybil resistance wouldn't be sufficient to prevent it, since the employees are all different people.

In this situation, even limited collaboration (such as donating $1 to a cause) among large groups (such as contributors of a specific DAO) would have a significant impact on the system and drain it of matching funds. The main issue here is that QF does not account for coordination among related, specific interests that may overwhelm a QF round – in fact, it encourages it.

An attack like this should be enough to make us pause, take a step back, and ask what’s really going on here. Why does QF fail in this case? The answer is that the mechanism operates on a built-in assumption that all agents are completely independent. In other words, when  QF awards funding to a project, it’s trying to reward agreement among independent agents. But in the real world, donors might not be independent. Sybil agents, for example, are about as far from independent as you could get (they’re all controlled by the same entity), so there’s nothing to reward. What about our example with donors from the same company, then? They’re clearly not Sybil agents, but we might say they’re only “partially” independent since they all share one crucial similarity - they are all members of the company. So, although we don't want to treat these four employees as Sybil agents, we might want to give them less funding than we would have given if they hadn't been cooperating with the company. 

Cluster-Match QF: A New Approach to Address Collusion

The problems with collusion cannot be solved by banning certain subjective actions considered flawed. Moreover, the line between “bad” collusion and “healthy” cooperation is fuzzy and pointless since they have the same effect. So, we don’t want to “stop” collusion or cooperation: to us, it seems perfectly reasonable that similar groups might care about similar things. Instead of seeing cooperation as a problem to eliminate, we want to find a way to make quadratic mechanisms work together with existing cooperation networks, correcting biases and removing excessive benefits to coordination.

Cluster-Match QF is one attempt at such a correction. The mechanism considers the projects you vote for as signals of the communities you belong to. It then calculates corresponding matching amounts for each unique community combination. This method ensures that projects supported by a broader range of communities receive more significant matching funding. The outcome is clear: individuals who engage in collusion receive reduced matching funds, while grants that benefit a diverse range of communities receive the most funding.

Let's proceed with the same example to observe the variations in matching pool allocations using Cluster-Matching QF. The approach consolidates donations into distinct group contribution amounts and subsequently applies QF to these group contributions. You will find the following groups or clusters in our example based on the donation profiles.

Project #2 has the highest diversity in donations from two clusters, β and γ. All other projects receive donations from only one cluster. 

As a result of running QF on the clusters, we put two donors with the same donation profile “under the same square root” in the quadratic formula to offset their tendency to already coordinate. Visually, this can be represented as follows.

Projects #1, #3, and #4, which received contributions from only one cluster, will receive an equal share of the matching funds. Project #2, on the other hand, will receive the largest share of the matching pool because it received donations from various clusters. This simplified example demonstrates that grants that benefit a wide range of communities are eligible for the highest funding. In a real-life situation, each project would have multiple clusters, and those with the most diverse clusters would receive the highest level of support.

What’s next?

Concretely, there are many ways to expand on the idea of Cluster Match we’ve presented above. One could use other signals to cluster donors – eg, a DAO running an internal quadratic vote could cluster based on roles within the DAO. One could also introduce pairwise discounting between the pairs of clustered donations – for a primer on the idea of pairwise discounting, see Vitalik’s blog post on the subject.

Quadratic funding discounted by correlation scores rewards trust and cooperation while protecting networks from capture, extraction, and domination. We will continue to explore ways to make allocations closer to optimal by calibrating the mechanism to give greater rewards for convergence when donors are more different while respecting the fact that different donors may lie at different points in a spectrum of social connectedness. Click here to find and participate in the latest discussion on this topic on the governance forum.


Featured Posts

Announcing: Gitcoin Grants 20

Announcing: Zuzalu QF Grants Program on Grants Stack

Announcing: The Village Infra on Polygon#1 Round on Grants Stack