Modified: March 13, 2022
stablecoin
This page is from my personal notes, and has not been specifically reviewed for public consumption. It might be incomplete, wrong, outdated, or stupid. Caveat lector.A stablecoin is a dollar-denominated liability registered on a blockchain. It can be backed by USD reserves, as Tether allegedly isTether is not a US bank, and apparently holds mostly dollar-denominated commercial paper rather than 'real' dollars; there are also questions about whether it actually holds as much as it says it does., or by reserves of other currencies, as with algorithmic stablecoins such as Dai, which is backed by Ethereum reserves.
Non-dollar reserves must be overcollateralized: in order to guarantee solvency at all times, there must be enough of a buffer that the non-dollar reserves will continue to exceed the value of the dollar liabilities even if there is a large shift in the exchange rate. Note that this is true even off of the blockchain: dollar-denominated debt (e.g., eurodollars or commercial paper) issued by a company that holds no dollars must similarly be 'overcollaterized' in the sense that the issuing bank/company must have non-dollar assets (in the case of a foreign bank, these include its reserves, outstanding loans, and equity capital) significantly in excess of its dollar liabilities, though in practice most banks and companies reduce the need for overcollaterization by holding at least some USD reserves.
On-chain collateralization
How does Dai work? The smart contract 'creates dollars' just like a bank would, by issuing a dollar-denominated loan. New Dai is minted by depositing Eth with the smart contract, which creates Dai at the address of the depositor. The amount of Dai loaned out is determined by the current Eth/USD exchange rate (provided by ChainLink or a similar service) divided by a collaterization ratio: for example, you may need to deposit $150 of Eth to create $100 Dai. You can always get your collateral back by repaying the Dai plus a small stability fee, which must be paid using the governance token MKR.This ties the value of MKR tokens to the demand for stability.
The $1 target price for Dai is maintained by several mechanisms:
- Market expectations: if people trust that Dai will be worth $1 in the long run, then any deviation from that price creates an incentive to buy (if lower) or sell (if higher), driving the price back towards $1 without any work on the part of the smart contract.
- Stability fees: these control the supply of Dai. Higher stability fees make it less desirable to create or hold Dai, driving the price down, and vice versa.
- The Dai savings rate: the smart contract allows Dai to be deposited in interest-bearing accounts, whose interest rate controls demand for Dai: if higher than other dollar-denominated instruments, it tends to increase demand for and thus the price of Dai, and conversely a lower interest rate will tend to decrease both demand and price.
- In the final extremity, by the possibility of a 'global settlement', which unwinds the entire system and cashes out all Dai holders at $1/Dai, with any leftover collateral returned to the owners. This can be triggered by MKR holders.
If the value of the collateral falls below a threshold, it is automatically sold in exchange for Dai. For example, suppose all Dai is backed by Ether, but the value of 1 Eth falls from $150 to $120. The contract would start auctioning off Ether, getting a price still hopefully above $100. In the limit, all of the Dai in existence would be used to buy back Ether, at which point the contract is left with a small pool of remaining Ether. This would result in an infinitely large collaterization ratio (a nonzero quantity of Ether backing zero Dai); in practice, the contract will stop selling once it reaches its target collaterization ratio (e.g., 1.5:1).
I'm confused about the interaction between the savings rate and stability fees. Ultimately the contract needs to collect more in stability fees than it pays as interest. So if I create Dai and send it to a savings contract, the net effect is that I should lose money.