MetaCoin v0
Of all the stablecoins on Ethereum, the only one that isn’t backed by banked fiat is MakerDAO’s DAI. Instead, DAI is backed by ETH, and the peg to $1 is maintained by the governance of the MKR token holders. The smart contract system has several components, including:
- minting new DAI by depositing ETH as collateral
- price oracles for ETH
- liquidation of ETH collateral if price crashes
- variable interest rates charged to DAI minters to target 1 DAI = $1
- governance mechanisms to select price oracles and update interest rates
This system is quite complex, leading some critics to be flabbergasted.
The complexity also hides centralized points of failure, some of which are exceptionally severe and can result in a catastrophic and instant loss of all ETH in the system. Case in point, MakerDAO currently has at least four custodians , each of whom can, at will, steal 100% of the ETH collateral deposited in MakerDAO, also print a gajillion DAI, and then use that DAI to steal 100% of the ETH liquidity offered for the ETH/DAI pair across all decentralized exchanges (e.g. Uniswap) and lending protocols (e.g. Compound). The custodians, the Maker Foundation, a16z, PolyChain, and Dragonfly, could execute this entire heist in a single atomic Ethereum transaction, before anyone has a chance to respond.
In light of MakerDAO’s recent upgrade to Multi-Collateral DAI (MCD) and decision to abandon ETH as the sole form of collateral (thereby introducing counter-party risk for offchain assets), it’s worth considering what a governance minimized, ETH-only system might look like. The goal of such a system isn’t be to usurp DAI’s position as the de facto decentralized stablecoin, but rather to create a safe alternative for those who have different risk preferences.
One potential design for such a system (MetaCoin) has the following components:
- a governance & rewards token called META
- a stablecoin called COIN
- minting new COIN when ETH is deposited
- a token curated registry (TCR) of fiat-backed stablecoins (i.e. USDC, USDT, TUSD)
- the volume-weighted average price of the stablecoin basket on Uniswap as the price oracle
- liquidation of ETH collateral if the price crashes
- variable interest rates charged to COIN minters to target 1 COIN = $1
- an algorithmic controller (PID) that autonomously updates interest rates
The most important differences between MakerDAO and MetaCoin are the price oracles and the role of governance in setting the interest rate. The general idea of depositing ETH collateral to mint new stablecoins (DAI or COIN), and actively liquidating those minters if their collateral value drops, is preserved.
Price Oracles
In MakerDAO, the price oracles are selected by the governance and submit updated prices every 6 hours. The median of all reported prices for the duration is used to determine the reference price for ETHUSD.
In MetaCoin, the governance system does not select price oracles directly. Instead, the governance selects several fiat-backed stablecoins (i.e. USDC, USDT, TUSD), and then uses the volume-weighted average price of that basket on Uniswap to determine the reference price of ETHUSD.
This introduces some trust into the system, as it ultimately relies on the centralized operators of those stablecoins not to collude and manipulate their trading activity at the same time.
This shortcut wasn’t available to the original version of MakerDAO because at the time of their launch, DAI was the only stablecoin on Ethereum, and Uniswap didn’t exist. It was likewise impractical to use this for the MCD upgrade because a major goal of MCD is to include offchain assets (e.g. real estate) as collateral, and those won’t be trading on Uniswap.
Uniswap v2 is also set to launch with moving-average calculations built-in, making it easier to use it as a price oracle.
Governance & Interest Rates
In MakerDAO, besides selecting price oracles, the governance also votes on the “stability fee”, the variable interest rate charged to DAI minters in order to target 1 DAI = $1. The general idea is that if 1 DAI < $1, then the stability fee must be increased, making it more expensive for DAI minters, and incentivizing them to redeem their DAI (buying it back if they must) and withdrawing their ETH collateral. Likewise if 1 DAI > $1, the stability fee is decreased to incentivize additional minting. The general cadence of these governance-initiated interest rate updates is roughly once per week.
In MetaCoin, manual intervention in the stability fee adjustment is replaced by an algorithmic PID controller.
From Wikipedia: A proportional–integral–derivative controller (PID) is a control loop mechanism employing feedback that is widely used in industrial control systems and a variety of other applications requiring continuously modulated control.
The PID controller is be implemented as a smart contract that takes the current price of COIN, compares it to the volume-weighted average price of the stablecoin basket (used as a reference point for $1), and automatically updates the interest rate based on the difference. The parameters for a PID controller must be carefully selected for the controller to operate properly. Interestingly the success of MakerDAO over the past several years in maintaining the DAI peg by manually changing the interest rate in response to market dynamics provides the best available data to determine the controller parameters.
To minimize governance, the controller is dumb and parameters is not be able to be updated once launched. This introduces the risk of runaway feedback loops (think Takoma Narrows) which motivates the need for a way to safely shutdown and exit the system if it is improperly parameterized or externally manipulated.
The controller also requires an onchain price feed for COIN in order to operate. This is different from MakerDAO because the governance uses offchain price inputs (e.g. centralized exchanges) in order to decide on the interest rate updates. As a result, MetaCoin also needs to intrinsically incentivize liquidity of COIN on Uniswap to be the price feed for the controller.
One interesting feature MakerDAO introduced in their MCD upgrade is the “DAI Savings Rate” or DSR, which is also set by their governance. Complimentary to the stability fee, the DSR rewards DAI holders interest simply for holding DAI, and can be adjusted, similar to the stability fee, to incentivize buying and holding DAI. Likewise MetaCoin’s interest rate will operate on both COIN minters and COIN holders symmetrically. If for example a 10% interest rate is being charged to COIN minters to incentivize them to redeem their COIN and withdraw their ETH collateral, the COIN holders earns 10% to incentivize the buying and holding of COIN. Both effects work together to bring the price of COIN back into equilibrium with the $1 reference point and stabilize the peg.
META Rewards
In MakerDAO, the interest rate charged to DAI minters is used to buy and burn MKR, resulting in value appreciation for MKR holders. More specifically, the DAI earned from the accumulated interest payments is sold for MKR via a smart contract mediated public auction, after which the MKR is burned.
MetaCoin copies this model, but with a few tweaks. As mentioned above, MetaCoin will have symmetric interest rates charged to COIN minters and offered to COIN holders. However, a 10% spread will be charged as a fee. To update the example above, if COIN minters were being charged a 10% interest rate, then COIN holders only receive 9% interest on their COIN, with the other 1% being taken as a fee.
The other tweak is that instead of a public auction, the fee earnings are simply be used to buy META on Uniswap, after which it is still be burned.
Liquidity Incentives
In order to incentivize COIN/ETH liquidity on Uniswap (so the PID controller can operate properly) MetaCoin could offer:
- Splitting fees between META holders and COIN/ETH liquidity providers instead of all fees going to META holders
- Adding inflation to META and directing it to COIN/ETH liquidity providers
- Accepting shares of the COIN/ETH liquidity pool, alongside ETH, as collateral for minting new COIN
Splitting fees - As a simple example, the META holders and COIN/ETH liquidity providers could split the interest rate fees 50/50.
META inflation - The Synthetix (SNX) community has seen great success in incentivizing Uniswap liquidity with token inflation rewards, as their sETH/ETH pair is now the most liquid pair on Uniswap. That said, their approach is centralized. For MetaCoin, in order to minimize governance, the META inflation schedule is fixed at launch. A simple example inflation schedule that highly favors early liquidity providers is:
Year | Inflation |
---|---|
0 | 40% |
1 | 20% |
2 | 10% |
3 | 10% (in perpetuity) |
Directing fees and META inflation rewards to liquidity providers could be implemented by having MetaCoin wrap the Uniswap addLiquidity function and forcing liquidity providers who want to earn rewards to provide liquidity on Uniswap through MetaCoin, so it’s easier to track.
Accepting COIN/ETH LP shares as collateral - While this doesn’t directly incentivize COIN/ETH liquidity, it enhances the utility of providing COIN/ETH liquidity as a liquidity provider can leverage their liquidity to mint more COIN. Fortunately this likely doesn’t add too much complexity to the system as the same price feeds and liquidation policies work for the COIN/ETH liquidity shares.
The above factors are, in my view, currently the weakest parts of this system. In its early days MakerDAO provided most of their own liquidity for the ETH/DAI pair through Oasis Direct (a simple DEX), earning money from the spread. For any stablecoin liquidity is critical, and far more so for MetaCoin where the Uniswap liquidity is the input used to determine the interest rate. Feedback is appreciated!
Voting Rights
In MakerDAO, 1 MKR = 1 vote. This voting distribution favors those profiting from the system over those using it (e.g. DAI minters and DAI holders), but also might be optimal for MakerDAO given the risks their governance can pose if it ends up in the wrong hands.
In MetaCoin, the only things subject to a vote are adding/removing stablecoins from the basket, and shutting down the system. As a result, the voting distribution can be more inclusive of the system’s users. Several parties have voting power:
- COIN minters
- COIN holders
- COIN/ETH liquidity providers
- META holders
These parties have voting power proportional to the value of their exposure to the system. So 1 COIN = 1 vote, and likewise collateralized ETH, liquidity shares, and META each have voting power equal to their value in COIN (where it is assumed 1 COIN = $1). By way of example:
- User A deposits $100 worth of ETH to mint 50 COIN, they have 100 votes
- User A transfers 50 coin to User B, now User A has 50 votes (from their ETH collateral) and User B also has 50 votes (from their COIN)
- User B puts their 50 COIN along with $50 worth of ETH into Uniswap to provide ETH/COIN liquidity, they now have 100 votes (50 more for the $50 of ETH they are exposing to the system)
- User C has $100 worth of META, they have 100 votes
Happy Endings
The MakerDAO governance can vote to initiate an Emergency Shutdown (also called “Global Settlement”). During an emergency shutdown, DAI holders can be made whole by withdrawing the equivalent value of ETH directly, coming from the DAI minters ETH collateral. The DAI minters can still withdraw their remaining ETH.
MetaCoin does the same. If at any point >33% of the MetaCoin voting power signals to shut down the system, it triggers a “Happy Ending”, and just like in MakerDAO, COIN holders are then able to directly redeem the equivalent value of ETH, with the COIN minters able to withdraw the rest.
All credit to Peter Pan for coming up with the “Happy Ending” terminology
Initial META Distribution
The initial distribution of META tokens will be split 50/50 between Blood and Sweat. Members of MolochDAO and MetaCartel DAO who have bled together in sacrifice to fund ETH-aligned grants will receive 50% of the initial META, based on their share of the total ETH spent on grants. This favors those who have bled the most, instead of basing the distribution on current shares which could have been recently purchased. The rationale for this is my belief that having a strong initial community of ETH-aligned members is be critical for the success of MetaCoin, and in my view there is no stronger metric for alignment than those willing to bleed for a cause.
The other 50% of the initial META will be distributed based on Sweat. The founding team will summon a SweatDAO (a MolochDAO clone), which we will use to assign ourselves shares based on the relative value of our contributions. If fundraising is required, investors will be permitted to offer tribute to SweatDAO to earn shares.
The 50/50 breakdown assumes that the value of Blood and Sweat are roughly equal. MolochDAO and MetaCartel DAO combined have bled roughly $400K in grants, so the assumption is that MetaCoin will take roughly $400K in Sweat to launch. If MetaCoin takes more than $400K to launch, we can adjust the initial META distribution accordingly. For example, if $1.2M of Sweat is required to launch, Blood would receive 25% and Sweat would receive 75% of the initial META distribution.
Conclusion
MakerDAO has been the most successful project built on Ethereum in its history, and has given rise to the entire $1B+ #DeFi ecosystem. While we should applaud their success and the value it has created for the Ethereum ecosystem, we should keep in mind that decentralization is why we prefer it to those other stablecoins backed by banked fiat. When MakerDAO demonstrates a wavering commitment to decentralization, we should explore other, potentially more robust alternatives.
The goal of MetaCoin is not only to create a new stablecoin, but to create a new template from which communities can launch their own stablecoins with minimal overhead. There is no guarantee that the initial conditions of MetaCoin—the PID controller parameters, the inflation schedule, the selected basket of stablecoins, or the initial META distribution—will result in a widely adopted and long-lived stablecoin. But it seems likely that a darwinian exploration of the parameterization space, along with other experiments that this one may inspire, together have a decent chance.
Let a thousand MetaCoins bloom!
The key bet for MetaCoin is that social scalability comes from trust-minimization, which in turn comes from eliminating the role of governance in maintaining the system. A future where MetaCoin succeeds is one in which money is considered too important to be left up to human intervention.
If you are interested helping place this bet and build this future, please get in touch. If you have thoughts on this proposed design, please feel free to provide feedback here!
MetaCoin telegram: https://t.me/joinchat/Dp-hCVfCrf1zfCP5q2VI9w