Active Collective Funding — Using Game Theory to Fund Public Goods

Axel Devara
5 min readJan 30, 2022

Quadratic voting-based crowdfunding might just be the crowdfunding norm of the future thanks to the developments of blockchain technology. Today, there are a couple of implementations that are very popular in the web3 space such as Liberal Radicalism(also known as Quadratic Funding or QF) and Retroactive Funding by projects such as Gitcoin and Optimism. Each with its own subjective pros and cons depending on which perspective you are looking at.

Today I would like to share about my algorithm that could provide a different perspective to implement quadratic voting. Active Collective Funding is an algorithm designed to implement quadratic voting for public goods crowdfunding without the risk of Sybil attacks. Unlike Liberal Radicalism, the algorithm is not governed by the number of contributors but rather, a game theory, more specifically the cooperative game theory.

Here is how it works

After a funding round ends, the algorithm takes in many factors and calculates the matching fund based on those factors. Those factors include:

  • The amount of fund a project requires/feels necessary(funding goal)
  • Total contribution amount
  • Total contribution amount across all projects in the round
  • Amount of matching fund in the pool

The calculation goes like this:

With A being the amount of contribution, B being the funding goal, and P being the amount of matching fund in the pool. A is designed to not exceed B because the goal here is to make sure the amount of funding is not excessive.

So far this might look like a normal quadratic voting mechanism where voters can pay more to express their degree of support. However, if you actually see the implementation(I suggest you play with it), the matched fund for each project will be relative to the behavior of the market. This is what I refer to game theory governed algorithm.

To better visualize this, let’s imagine there are 2 players both running for a funding round, Player A and Player B. For the sake of simplicity, both players have a $10 funding goal and the amount of funds in the pool is $10. Using the algorithm, we can create a matrix table to see what happens in different scenarios.

From here you can see the pattern of distribution in different scenarios. The numbers in green boxes represent how much contribution was given to that project while the numbers in the gray boxes represent the amount of contribution + matched fund for each project in the form of (Player B, Player A). You can see that there are different scenarios of how this funding could play out. In the first scenario, by dominating the round, you get all of the match funds. While in the second scenario where all players achieve their goals, the fund is distributed equally. The third scenario is when all players receive contributions but none achieve their goals, they get funding based on the factors mentioned above.

Although scenario #1 and #2 is possible, we can ignore that and focus on the most likely scenario #3 instead. If you try and calculate the total matched fund in scenario #3, you will find that there are still funds left to be used in the pool (about $1.8 left to be exact) and this is by design to incentivize voters to actively contribute to each player. By participating and making each player reach their goal, voters are unlocking more funds to be matched. While at the same time, by being closer to their goal, Player A is giving more share of the match fund to Player B in (2,3) and vice versa in (3,2). This mechanism controls the payment problem to prevent a player from dominating all the funds. Depending on the market behavior, the outcome could be equal or unequal.

We can apply an even more complex but realistic scenario where Player A and B have different goals, $12 and $18 respectively.

Here you can see that being closer to your goal matters significantly to respect that every project has different needs. Players can’t just abuse the goal parameter and set it to very high to get all the funds while having a higher goal makes a player able to get more funding, how successful you are in the round matters more.

In addition, if you look closely, this algorithm works just like the economy in the real world which also means that the game theory is working as intended. When everyone starts unequal, the outcome is more equal than the other way around (referring to equal opportunity & equal outcome study). In our crowdfunding context, by having more diverse goals, the outcome could realistically become more equal while also respecting that every project is different in size.

Perspective Difference VS LR Model

  • In the CLR model, the number of participants does not matter. The algorithm can be manipulated if the consensus is low. E.g. It doesn’t matter whether only 10% of users are participating, the whole fund will be distributed by the vote. Active Collective fixes this by locking the amount of distributed funds and unlocking them gradually based on the amount of contributions made.
  • Unlike the CLR model, active collective highly regards wealth as a currency of vote than the number of voters just like the original quadratic voting paper because wealth means risk. By using money to vote, voters are bonded to the idea they are voting for rather than just a mass number of small votes from less-genuine voters.
  • Identity is no longer a reliable source of truth. Nowadays, an individual could have more than one identity and manipulate the system. This problem is widely known as the Sybil attack problem. Compared to CLR, Active Collective is not vulnerable to this attack.

Conclusion

Unlike Liberal Radicalism(Quadratic Funding), this algorithm is not ideologically based and rather a more conservative approach. Active Collective is meant to be as economic and mathematical as possible towards enabling quadratic voting to crowdfund public goods. The idea itself is based on the original quadratic voting papers with game theory mechanics to govern the voting.

#Building on what works

Active Collective is only a vehicle and the driver will be the market itself. Since this algorithm is an experiment, it is subject to change if there are attack vectors in the future.

Personally, I see this as an alternative perspective and would love to have this article as a medium for discussion. The first implementation will be for Supaheroes project. I would like to thank you for your time and please don’t hesitate to comment!

--

--

Axel Devara

Blockchain Developer and Auditor looking to solve the world economic problems with the latest technologies