Why is Quadratic Funding so Hard?

Quadratic Funding is a promising mechanism for allocating funds among projects that serve a public good.

In particular, among the most promising domain of application for Quadratic Funding is retroactive funding for public goods, which tries to create the possibility that it could be profitable for companies to do good. You can read an excellent primer on that subject and about a project that seeks to implement it
The simple way that Quadratic Funding works is that if you donate $4 to a project that you like, you can receive $2 in bonus “matching funds” that come from a benevolent donor. If you donate $9 you’ll receive $3 in matching funds, and so on, where the total funding your project receives from your donation is
However, this creates a really big problem, which I’ve talked about at length in this article, called . In short, if you’re donating to a project, you’d always be better off splitting up your donation so that it comes from many different accounts, since that way you get better matching funds. The easiest way to do this is to bribe people to donate on your behalf. As shown in that article, it’s ridiculously profitable for donors to do this.

If it’s not intuitive why this is a good strategy, here’s an article that details ways in which qf can be by BlockScience.

However, as is often seen by these sorts of defenses, the recommendation leaves much to be desired. For example, here the authors suggest that the way to solve the problem is to punish players that “collude optimally”.
This is an insufficient answer for me personally, because it violates , specifically the principle of trustfulness: players should not be punished for acting in their own self-interest nor for playing the game perfectly.
Even if you don’t buy into my criteria for governance, there’s still something that should make you feel uncomfortable here: quadratic funding is exciting because it offers a way for communities to self-organize and indicate the things that are (or were) beneficial for them. But “self-organize” the good thing, looks much the same as “collude” the bad thing. Why are we ok with it in one case, but want to punish it in the other?

There are two projects that I find promising on the front of solving this problem.

Connection Oriented Cluster Match seeks to solve the problem of collusion using a variation on the Quadratic Funding algorithm. Instead of giving the square root of the donation as the matching funds, it sort of counts donations as coming from groups, and then each group that donated to a project gets the square root of the matching funds.

What’s promising about this approach is that 1) the authors claim it’s collusion proof, according to their definition of collusion, and 2) it retains the ability for groups to coordinate optimally without punishing them for being good at the game (it’s trustful).

However, from my perspective, it still has two(ish) large problems:
It requires inference on what groups exist and how to split users among them
It’s not bribery resistant (which means it’s also not Sybil resistant)

Figuring out what groups exist, and which groups to put a user in to, seems like an incredibly hard problem. I’m not optimistic I’d know how to do that. It seems like maybe there’s a way to prove that it’s as hard of a problem as just allocating funds in the first place. If you had a group defining system like this, I have no doubt that the equivalent to gerrymandering would almost immediately occur, and so you’d need a governance system for group partitioning, and the question would become: what is that governance system? It can’t be Quadratic Voting because this exists to solve the shortcomings of Quadratic Voting, so what should we reach for. It almost seems like we’re right back at the original governance problem again, having made little progress.

The next bummer about COCM is that it’s not bribery resistant. A nefarious donor could still pay a group to vote in the ways they would like and they’ll get additional matching funds. So, that’s a bummer. However, it does get us to our second mechanism, MACI, which I find promising and which I think could be used to supplement COCM.

It’s worth reading the original MACI proposal if you have not. What’s useful about this is that it solves our problem of “it’s really easy to reward people who donated to your grant because you can see all the donations on chain.” This makes it one step harder by making it difficult for would-be colluders to certify that a bribed funder did what they said they would do.

There are ways around this mechanism (e.g. bribed funders could take a screen-recording of their donation process and that could be used to verify that they did what they said they would do.)

However, what strikes me about the MACI proposal is it seems like an explicit attempt to discoordinate a group, and it seems like the group could take certain coordination measures to overcome those efforts. And that’s an interesting question. Do we know generally how robust coordination can be, even in the face of discoordinating mechanisms? Because if we had an answer for this I imagine it could be useful to help shape our future work. For example, if it turns out that coordination can always be achieved given sufficient incentive then maybe we should stop trying to build bribery resistant mechanisms.

MACI makes me feel like coordination is somehow intrinsically more powerful than efforts to discoordinate people. For preventing collusion, that’s not good news. But for all the other coordination problems we face I find it somehow heartening.

Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
) instead.