Staking part 1 - staking to onboard Vault collateral
With the launch of multi collateral Dai, the focus is turning towards onboarding collateral types that can be used for Vaults. In order for the Maker ecosystem to grow there will be an increasing need to onboard more and more collateral types in order to increase the supply of DAI.
Let me be painfully clear about the goal here: DAI is not meant to be a small niche plaything for defi enthusiasts, DAI is to be the leading stablecoin project with global reach, eventually enabling every person on the whole planet access to financial stability equal to that of the US dollar.
In order to achieve this enormous amounts of Dai will need to be issued - and since the system is always over-collateralized - an even larger amount of collateral types in all shapes and forms will need to be approved as collateral material.
The process design outlined so far is using MKR holders as voters in a gatekeeping role that will discuss and then use their MKR to vote in order to approve or reject collateral types. While crypto in general aims to be permissionless, Vault collateral onboarded using such a process will be permissioned, although only by the MKR voters.
No matter how the process is shaped, as long as MKR holders can only use their MKR in this gatekeeping role, the onboarding process will act as a bottleneck to the growth of the Maker ecosystem.
This is however not the only way to onboard collateral, and in this article arguments will be put forward for using MKR in a staking role.
Onboarding collateral using voting
Let us start with a macro level overview of how the process is outlined to work with MKR holders voting in a gatekeeping role, which is more or less the current function of the token.
A collateral type (typically an ERC20 token) will start as a proposed candidate. It is then subjected to initial screening, placed on a prioritised list, subject to further analysis, given collateral parameters, and finally approved or not by MKR holders. The above steps are just the briefest of overviews, the process could easily take three rounds of community discussion and four rounds of community voting for every single collateral type.
With the system set up using MKR to vote, this is the state of things. Maker internal or external risk teams will analyze and give parameters to each asset. These teams will be compensated per hour or per job but with regards to incentives their focus will be on being as restrictive as possible. If things go well, the Maker ecosystem thrives but the risk team does not directly benefit. If things go wrong, the risk team in question will get blamed. Perhaps most importanly, the sheer number of community decisions and votes necessary for collateral onboarding will serve to limit the number of collateral types that can be onboarded as well as the speed of onboarding itself.
Onboarding collateral using staking
When explaining Dai the ultimate argument is “Dai is always over-collateralized” - that is the base on which everything is built - the rest is system mechanics. When explaining staking the final argument is “The staker stands to lose more than he or she can gain”. That is the principle behind staking - again the rest is system mechanics.
When explaining the staking model it is necessary to go all the way back to the beginning and mentally scrap the idea of MKR holders as gatekeeping voters with regards to the collateral onboarding process. There are in most cases simply no vote. Instead MKR or DAI is staked in smart contracts to enable collateral types to be Vault material.
With regards to staking material MKR is mostly used throughout this article but due to the volatility of crypto tokens, it would in many cases be better to stake using DAI, especially for tokens linked to real world assets. Some might argue that this opens the door to using any coin for staking, but the Maker community can ultimately only guarantee the integrity of two coins - DAI and MKR.
Below is a walk-through of using staking to onboard a collateral type:
- An investor finds a collateral type worth staking.
- The investor starts up the appropriate smart contract and sets collateral parameters. All parameters set by the staker.
- Smart contract requests collateral in response to parameters.
- Collateral is staked.
- The collateral type is now ready for use in Maker Vaults after a mandatory waiting period.
Worked out example:
An MKR holder wants to onboard the generic ERC20 token XYZ and set the initial debt ceiling to a million DAI.
Fire up the collateral onboarding smart contract.
Collateral token address: 0xaaa…
Staking address: 0xbbb…
Payout address: 0xccc…
Amount: 1 000 000 DAI
Collateral onboarding fee: 1% (1% on top of the general DAI Stability Fee).
Years valid: 5
Staking using MKR example:
The smart contract responds to the equation
nMKRstaked > debt_ceiling(MKR) * collateral_onboarding_fee * years_valid.
Staking using DAI example:
The smart contract responds to the equation (staking DAI example)
nDAIstaked > debt_ceiling(DAI) * collateral_onboarding_fee * years_valid.
Solving for the above example gives an approximate answer of 50000 DAI or about 120 MKR (December 2019 values) in order to onboard token XYZ with a debt ceiling of 1 million DAI. Other more advanced formulas are of course possible, including safety factors. Note that in both cases the collateral staked is higher compared to what can possibly be gained from the staking.
Other MKR holders might of course issue identical or slightly different versions of the same contract, allowing both a much higher total debt ceiling for this collateral type as well as multiple levels of collateral specific stability fees. System total collateral debt ceilings are off course subject to community votes as normal. Possibilities include setting the debt level for new collateral low if many new types of collateral have been onboarded over the last month or so, making it hard for MKR holders to keep track. Also - if the collateral type is well known (typically just another million DAI worth of ETH collateral) the waiting period could be cut shorter by some system formula.
Providing everything goes right: at the end of the five year period the staked 120 MKR and the accumulated fee of possibly up to (1 000 000 DAI *1% * 5 years) 50 000 DAI are returned to the investor. In other words the staker gets his MKR back as well as the accumulated fees which are the rightful reward for onboarding valuable collateral. The contract is then closed, the XYZ debt ceiling is lowered by 1 million DAI and if the above staking contract was the only one for token XYZ, the token is removed from the collateral type pool.
In case something goes wrong: in case the collateral declines in value slowly this is simply handled though existing Vault processes with no repercussions to the staker. In case the collateral declines so fast in value that the Maker system is not able to sell the collateral fast enough to cover outstanding debt, the staked MKR and accumulated DAI is sold first to reduce debt before any other system response. A staker therefore could lose his or her MKR in two ways - by trying to onboard collateral the community immediately rejects or by onboarding collateral the community approves of but which later becomes worthless. To compensate for this considerable risk the profit margin is potentially 99% of the staked amount - highly profitable even by crypto standards.
To sum it up - requiring more collateral in the staking contract compared to what can be gained from the staking contract itself eliminates the possibility of a rational actor willfully onboarding worthless collateral. Next the staking system needs to protect against scamming - actors purposely onboarding worthless collateral. This is the function of the waiting period where MKR holders might challenge the onboarding. This will be explained in the next part of this series.