(2021-07-20) Retroactive Public Goods Funding

Retroactive Public Goods Funding. Note: The Optimism team has long been in search of a solution on how to sustainably fund public goods, and we now have the structure of our first experiment thanks to a brilliant design by Vitalik Buterin. This post is a collaboration with Vitalik as a guest author in section 2.

It’s insanely hard to build an ambitious project with no business model. It’s hard to get funding, to hire the best, and to persist through the hardships and obstacles of creating something great.

Given this, it’s not surprising that many of the best and brightest rockstar builders, even those who genuinely want to do maximum good, end up taking a for-profit path, even if it ends up compromising on the mission.

So… what would happen if suddenly, exits did exist for public goods projects? An exit determined by how much public good has been created by the project

We propose a mechanism to achieve these ends below. With protocol generated revenue, retroactive public goods funding, and a Results Oracle, we will create a startup-style funding cycle for public good projects. We, the Optimism team, commit to giving all our profits made from sequencing (prior to decentralizing the sequencer) to public goods funding experiments, including the first public goods exit.

While there aren’t any profits to grant yet

How the retroactive public goods funding DAO works

it’s easier to agree on what was useful than what will be useful.

you could still get reasonably good top-level judgements by using some existing voting mechanism (eg. quadratic voting or even regular voting).

A DAO, which we can call “the Results Oracle”, funds public good projects

The design of this oracle is a very complicated problem (see also: known long-time problems with naive approaches like coin voting), and is best approached iteratively. A simple early version might be ~20–50 hand-picked technically skilled long-time contributors from the ecosystem that is implementing this scheme.

The results oracle can send rewards to any address. Here are a few possible ideas for what kinds of addresses it can send rewards to:

  • A single individual or organization that was primarily responsible for making the project happen
  • A smart contract representing a fixed allocation table splitting funds between multiple individuals and/or organizations who had contributed time and/or funding to the project
  • A project token, whose supply is distributed among one or more individuals and/or organizations who contributed time and/or money to the project, but which can be traded

Project tokens are a more radical idea, essentially creating a prediction market for what the results oracle will fund.

By providing OSS projects an exit, we’ve actually incentivized a source of funding to arise as well. Working backwards from the exit, open source projects can now be profitable!"


Edited:    |       |    Search Twitter for discussion