Is there a better way to fund minimally extractive protocols?
This is the question that stuck in my mind after reading “Protocols as minimally extractive coordinators” by Chris Burniske. In this article, I propose using Augmented Bonding Curves as a solution that is worth exploring further.
But first, let’s recap Chris’ thesis.
Protocols are minimally extractive coordinators
Chris argues that protocols provide a structure in which businesses operate, but are not businesses in and of themselves. In other words; they are systems of logic (encoded in smart contracts) that coordinate exchange between suppliers (businesses), consumers and distributors of a service.
In a hypothetical “distributed Uber” protocol, the protocol sets the rules that connect drivers (the suppliers) with passengers (the consumers) through an app (the distributor). It acts as the grease for the wheels of exchange. As coordinators of exchange, protocols should reduce friction and must therefore be minimally extractive. Businesses, on the other hand, are incentivized to be maximally extractive. The more they extract the more profit they make. The more profit they make the higher they are valued.
From this angle, protocols can be seen as routers of economic activity. Just as the routers of the internet are as lean and efficient as possible, so too should crypto’s protocols trend.Chris Burniske
Ultimately the less extractive a protocol is in coordinating exchange, the more that form of exchange will happen.
If we accept the premise that protocols should be minimally extractive the next question becomes:
How minimal is minimal?
While protocols should extract the minimum value possible they still have costs associated with developing, maintaining and growing the protocol. This includes but is not limited to :
- Ongoing protocol development and maintenance
- Design and user experience
- Business development
- Supplier and consumer education
- Technical support
- Legal fees
For decentralized protocols to compete for talent with the likes of Facebook and Google they need to have the funds to offer competitive packages.
Current funding options
Before proposing an alternative funding model it makes sense to review some of the current methods protocols use to fund ongoing development.
Do an ICO, preallocate funds to a foundation, sell assets
This is the most common pattern. A good example is Ethereum, where a successful ICO allowed Ethereum to build a formidable war chest. The Ethereum Foundation uses these funds to do ongoing R&D, develop the ecosystem and give grants to worthy projects.
The problem here is that this model only works in an environment of ever increasing asset prices, and even then it isn’t sustainable in the long run. Continuously selling off assets to fund protocol development without a continuous funding model to replenish assets is not a good long term plan.
In this model, as tokens go up in value, you will have to sell some on the market to deploy that capital. This means you become less and less exposed as the market moves in your favor. On the other hand if the market turns against you the most prudent thing to do might be to sit on your tokens rather than try to sell them into an illiquid and unfavorable market. This means you maintain or gain exposure as the market moves against you. In the bond world this is called being short convexity, and that’s not a good thing!
Add in the problem of misaligned incentives between early funders and founders who’s tokens have vested vs. users and later investors and the limitations of this model are clear.
Dash, Decred, Horizen and ZCash follow this model. The token model introduces inflation that partly goes to funding core protocol development. While this produces an ongoing funding stream it also disincentivizes holding the asset over the long term. The longer you hold it, the more your position is diluted. Short term speculators (arguably the least valuable participants in the network) also get to ride the price swings without having to worry as much about dilution over the long term.
Donations, grants and volunteer contributions
Another option is to rely on funding from donations and grants from organisations. We have seen a number of experiments in this space most notably MolochDAO and TrojanDAO. The ethereum foundation has also funded a number of projects such as Uniswap. While admirable, these projects are at a decided disadvantage given the well known problems associated with the tragedy of the commons.
There are incentivisation issues with this model too. As new people donate and the funds are spent early contributors have a continuously decreasing stake over a shrinking pool of communal funds, disincentivizing future contributions.
Governments are making funds available for protocol development with programs such as the EU ledger project. While this is a good way to get initial funding the types of projects that will be funded are largely dependent on government agendas. Additionally there is likely to be way more demand for funding than the government is willing to supply.
What do we really want?
Now that we have some sense for the problems with the current models, let’s take a step back and define what properties we want from an ongoing funding model for minimally extractive protocols.
We want a token model that :
- Provides guaranteed liquidity.
- Is stable in the early stages.
- Incentivises good governance.
- Keeps coordination costs as low as possible.
- Is sustainable.
Guaranteeing liquidity with bonding curves
Bonding curves are a crypto economic primitive originally proposed by Simon de la Rouviere and implemented independently by Bancor. They are a mathematical curve that defines a relationship between token price and collateral.
Bonding curves allow you to deposit a token (eg Dai) into a smart contract, in return you receive a new token (eg #projectToken). The Dai is kept as collateral within the smart contract.
The price is a function of the current #projectToken collateral. Buying or selling a #projectToken un-bonds the collateral associated with that token thereby changing the price of the remaining #projectTokens. These price functions are hardcoded according to some algorithmic curve.
Bonding curves have a few interesting properties that are useful in our quest for a sustainable funding model:
- The shape of the curve can be changed to create different incentive structures. This allows us to control how we reward early adopters vs late adopters.
- A curve can be designed to always be liquid by ensuring there is collateral bonded in the curve to buy back the remaining supply of #projectToken.
- Everything remains on chain so there is no need for market makers.
Bonding curves act as automated market makers and take care of liquidity, but what about the rest of our requirements?
Introducing Augmented Bonding Curves
To meet our remaining goals (early stage stability, good governance, low coordination costs) we need to introduce some additional mechanisms. Enter the Augmented Bonding Curve (ABC).
The Augmented Bonding Curve as used for the Commons Stack is based off of Michael Zargham’s complex system research at BlockScience. It augments a traditional bonding curve by adding conservation principles and mechanisms that align incentives, generates returns and manages speculation (more on this later).
ABC’s were initially designed for the Commons Stack to help fund commons projects that suffer from the “free-rider problem”, also known as the tragedy of the commons. The free-rider problem is a type of market failure that occurs when those who benefit from resources, public goods, or services of a communal nature do not pay for them. The problem of protocol funding is an example of the free-rider problem. The people who benefit from these protocols (including speculators) have no direct incentive to fund protocol development.
For brevity I will only discuss the aspects of an Augmented Bonding Curve that pertain to our goal of sustainable funding for minimally extractive protocols. If you are interested in a more detailed explanation of Augmented Bonding Curves the article “Deep Dive : Augmented Bonding Curves” is the best place to start.
As an overview, an ABC is a typical bonding curve with the addition of :
- 2 phase life cycle
- funding pool
- token lock-up/vesting mechanism
- inter-system feedback loops
Let’s look at how these additions help us.
Providing early stage stability
Blockchain networks are especially vulnerable during the early phases of their lifecycle. Pump and dump schemes and the influx of non-aligned participants could severely derail a new blockchain protocol.
To help shepherd a project through these early stages, an ABC has 2 phases: a Hatch Phase and on Open Phase.
During the Hatch Phase, initial contributors participate in a Hatch Raise. Typically contributors in this phase are founding members, devoted contributors and initial investors. The point of this phase is to gather contributors and pool capital.
Unlike conventional bonding curves, ABC’s have both a reserve pool and a funding pool. During the Hatch Phase a percentage of funds paid into the curve is put into the Reserve Pool and “bonded” to the curve minting new #projectTokens. The amount of funds bonded in the Reserve Pool determines the initial spot price used during the Open Phase.
The remaining percentage is put into the Funding Pool. The capital in the Funding Pool remains un-bonded as a floating source of capital that can be distributed as real capital outside of the bonding curve.
In return for their contribution (time, resources, capital) hatchers receive newly minted #projectTokens. In a typical bonding curve system #projectTokens could then be burned at any point or after an arbitrary deadline. In an Augmented Bonding Curve system #projectTokens minted during the Hatch Phase are locked in a vesting process. They cannot be burnt until they are slowly unlocked in correlation to how much capital has been allocated. This combats any harmful early speculation/arbitrage that would affect the stability of the Reserve Pool.
Incentivising good governance
The Open phase starts after the goal for the Hatch Raise is met. The Hatch Phase is designed to align incentives and ensure good governance. Hatchers’ tokens are slowly unlocked in correlation to how much capital has been allocated to fund the project roadmap.
For hatchers’ tokens to vest, capital from the Funding Pool has to be allocated to fund projects that positively impact the protocol. This creates an economic incentive for hatchers to participate in the system’s governance process. If they don’t allocate funds, they cannot burn their tokens to reclaim their capital. This combats a known incentive misalignment observed in capital-allocating DAOs; capital allocations are rare because members are too selective or stingy with funds.
Incentives on their own are not enough to ensure good governance in a distributed protocol. We also need tools. There are a number of governance and accountability tools available with more experiments being done all the time. Some of the tools I think are especially promising in this area are Conviction Voting for making governance decisions, Quadratic funding for allocating existing capital to projects and the Giveth DApp for accountability. There are a lot of experiments and development work happening in this space.
Keeping coordination costs low
Now on to the tricky problem of extracting enough capital from the network to fund core protocol development, while still keeping costs for producers and consumers as low as possible. One way to achieve this is to take additional fees from actors that are currently not contributing to protocol funding.
As stated in the review of other funding models above; speculators largely get a free ride. They profit from buying the dip and selling the pump without directly contributing to protocol development. Is there a way to involve speculators in protocol funding?
In Augmented Bonding Curves an Exit Tribute is charged on exit from the bonding curve. When tokens are burned, a small percentage of their returns are sent back into the Funding Pool. This provides funding for the protocol while contributors are earning returns. The protocol always benefits, even if speculators are just looking to make returns.
Another way to think of this Exit Tribute is as volatility tax. We are no longer dependent on steadily rising assets prices to provide continuous funds. As long as there are participants entering and exiting the curve the protocol will receive funding. Since speculators are also taxed the overall tax rate can be lower reducing the costs for protocol participants.
The last piece of the puzzle is to bake ongoing volatility into the protocol design. The protocol itself should create buy and sell pressure for the #projectToken. There are many ways to do this. As a simple example a protocol could pay internal incentives in #projectToken. This creates buying pressure as the protocol itself is buying tokens from the curve. On the other hand it creates selling pressure as suppliers need to sell #projectTokens to cover costs. Since this mechanism is based on volatility and not purely on asset growth, this model is sustainable over the long run.
As long as there is economic activity on the protocol, there is a funding model. Weather this funding model is sufficient depends on a number of factors and needs to be considered on a case by case basis. The required volatility to cover costs depends on the underlying transaction costs involved and the costs involved in sustaining the protocol. The limits of this model and the kinds of protocols it is suited to is an open question and more research and modelling is required in this area.
By taking a step back and thinking of protocol funding as a common good that suffers from the free rider problem, we were able to apply solutions pioneered by the Commons Stack to solve the funding problems of minimally extractive protocols.
With this design we have a model that :
Provides guaranteed liquidity.
By using a well designed bonding curve that ensures there is always sufficient collateral bonded to the curve we get guaranteed liquidity and an automated market maker.
Is stable in the early stages.
To protect our protocol during the vulnerable early stages we use the hatch phase of an augmented bonding curve.
Incentivises good governance.
By vesting hatcher tokens over time we ensure that founders and early investors incentives are aligned with the long term success of the protocol.
Keeps coordination costs as low as possible.
By charging an exit tax when participants leave the curve we subsidise coordination costs.
By creating buy and sell pressure for #projectTokens in the protocol design we ensure a long term funding mechanism.
Thanks to Jeff Emmett, Griff Green, Colin Andrews and Simon de la Rouvier for their input on this article.