Popular digital assets such as Bitcoin (BTC) and Ether (ETH) are too volatile to be used as everyday currency. The value of a bitcoin often experiences large fluctuations, rising or falling by as much as 25% in a single day and occasionally rising over 300% in a month 1.
The Dai Stablecoin is a collateral-backed cryptocurrency2 whose value is stable relative to the US Dollar. We believe that stable digital assets like Dai are essential to realizing the full potential of blockchain technology. Unlike other Stablecoins, Dai is completely decentralized3.
Users can obtain Dai by buying it from brokers or exchanges, and Dai holders can utilize a special mechanic known as the Dai Savings Rate to earn a steady, low-risk return on their holdings.
Maker is a smart contract platform on Ethereum that backs and stabilizes the value of Dai through a dynamic system of Collateralized Debt Positions (CDPs), autonomous feedback mechanisms, and appropriately incentivized external actors.
Maker enables anyone to leverage their Ethereum assets to generate Dai on the Maker Platform. Once generated, Dai can be used in the same manner as any other cryptocurrency: it can be freely sent to others, used as payments for goods and services, or held as long term savings. Importantly, the generation of Dai also creates the components needed for a robust decentralized lending platform.
Anyone who has collateral assets can leverage them to generate Dai on the Maker Platform through Maker’s unique smart contracts known as Collateralized Debt Positions. A Collateral Asset is a digital asset that the decentralized Maker Governance process has input into the system. 4
CDPs hold collateral assets deposited by a user and permit this user to generate Dai, but generating Dai also accrues debt. This debt effectively locks the deposited collateral assets inside the CDP until it is later covered by paying back an equivalent amount of Dai, at which point the owner can again withdraw their collateral. Active CDPs are always collateralized in excess, meaning that the value of the collateral is higher than the value of the debt.
Step 1: Creating the CDP and depositing collateral
The CDP user first sends a transaction to Maker to create the CDP, and then sends another transaction to fund it with the amount and type of collateral that will be used to generate Dai. At this point the CDP is considered collateralized.
Step 2: Generating Dai from the collateralized CDP
The CDP user then sends a transaction to retrieve the amount of Dai they want from the CDP, and in return the CDP accrues an equivalent amount of debt, locking them out of access to the collateral until the outstanding debt is paid.
Step 3: Paying down the debt and Stability Fee
When the user wants to retrieve their collateral, they have to pay down the debt in the CDP, plus the Stability fee that continuously accrue on the debt over time. The Stability Fee can only be paid in MKR (or DAI if using the CDP Portal UI). Once the user sends the requisite Dai and MKR to the CDP, paying down the debt and Stability Fee, the CDP becomes debt free.
Step 4: Withdrawing collateral and closing the CDP
With the Debt and Stability Fee paid down, the CDP user can freely retrieve all or some of their collateral back to their wallet by sending a transaction to Maker.
Dai currently supports only one type of collateral, Pooled Ether. We plan to upgrade Single-Collateral Dai to Multi-Collateral Dai. The primary difference is that it will support any number of CDP types.
At first, Pooled Ether (PETH) will be the only collateral type accepted on Maker. Users who wish to open a CDP and generate Dai during the first phase of the Maker Platform need to first obtain PETH. This is done instantly and easily on the blockchain by depositing ETH into a special smart contract that pools the ETH from all users, and gives them corresponding PETH in return.
If there is a sudden market crash in ETH, and a CDP ends up containing more debt than the value of its collateral, the Maker Platform automatically dilutes the PETH to recapitalize the system. This means that the proportional claim of each PETH token goes down relative to the total pooled ETH. After the Maker Platform is upgraded to support multiple collateral types, PETH will be removed and and instead regular ETH will be usable as collateral alongside other new collateral types.
The Dai Target Price is used to determine the value of collateral assets Dai holders receive in the case of an Emergency Shutdown. The Target Price for Dai is 1 USD, translating to a 1:1 USD soft peg.
Emergency Shutdown is a process that can be used as a last resort to directly enforce the Target Price to holders of Dai and CDPs, and protect Maker against attacks to its infrastructure. Emergency Shutdown stops and gracefully settles the Maker Platform while ensuring that all users, both Dai holders and CDP users, receive the net value of assets they are entitled to. Effectively, it allows Dai holders to directly redeem Dai for $1 of collateral at the point in time when the Emergency Shutdown is initiated. In Single-Collateral Dai the process is controlled by Emergency Oracles chosen by MKR voters.
In Multi-Collateral Dai the process is fully decentralized and controlled by MKR voters who can trigger it by depositing MKR into the emergency shutdown contract. A minority, but significant, quorum of MKR voters is necessary to instantly trigger an Emergency Shutdown. Initially this quorum will be 50,000 MKR. For additional security, MKR voters will also still be able to select Emergency Oracles that have the power to unilaterally trigger an Emergency Shutdown.
Examples of serious emergencies are long term market irrationality, hacking or security breaches. The Emergency Shutdown mechanic will also be used to facilitate system upgrades.
Step 1: Emergency Shutdown is triggered and CDP users withdraw assets
If enough MKR voters or Emergency Oracles selected by Maker Governance believe that the system is subject to a serious attack, or if an Emergency Shutdown is scheduled as part of a technical upgrade, they can trigger the Emergency Shutdown function. This stops CDP creation and manipulation, and freezes the Price Feeds at a fixed value that is then used to process proportional claims for all users. CDP users are able to immediately withdraw the net value of collateral in their CDPs from the moment Emergency Shutdown is triggered.
Step 2: Post-Emergency Shutdown auction processing
After Emergency Shutdown has been triggered, a period of time is needed to allow pre-existing Collateral Auctions to finish. The auction processing period is set by Maker Governance to be slightly longer than the longest Collateral Auction duration, which will guarantee that at the end of the auction processing period there are no more outstanding auctions.
Step 3: Dai holders claim the remaining collateral with their Dai
After the auction processing period is complete, Dai holders can use their Dai to claim collateral directly at a fixed rate that corresponds to the calculated value of their assets, based on the target price of Dai. E.g. If the Dai Target Price is 1 U.S. Dollar, the ETH/USD Price is 200 and a user holds 1000 Dai when Emergency Shutdown is activated, after the processing period they will be able to claim exactly 5 ETH from the Maker Platform. There is no time limit for when the final claim can be made. In Multi-Collateral Dai Dai holders will get a proportional claim to each of the collateral types that exist in the collateral portfolio.
When, due to changing market dynamics, the market price of Dai deviates from the Target Price in the short run, Maker Governance can mitigate this price instability by modifying the Dai Savings Rate. The Dai Savings Rate is a global system parameter that both affects how much Dai holders can earn in return on their holdings over time, as well as the base borrowing cost for generating Dai from CDPs.
If the market price of Dai is above 1 USD, the Dai Savings Rate will decrease. This stifles demand, which should reduce the market price of Dai down towards the 1 USD target price.
If the market price of Dai is below 1 USD, the Dai Savings Rate will increase. This boosts demand, which should increase the market price of Dai up towards the 1 USD target price.
Together these two forces ensure that any time the price of Dai deviates away from the Target Price, the adjustments will help guide the market price back to the Target Price.
The Dai Savings Rate Adjustment Process will initially be a weekly process where the Maker Governance community evaluates public market data and proprietary data provided by market participants, and process the data to determine whether an adjustment to the Dai Savings Rate is necessary, or will be necessary soon.
During Single-Collateral Dai, the Dai Savings Rate will not be available, and instead the Stability Fees on CDPs will be adjusted directly to balance supply and demand and protecting the stability of Dai in the marketplace.
The MKR token allows holders to vote to perform the following Risk Management actions:
Collateralized Debt Positions have multiple Risk Parameters that enforce how they can be used. Each CDP type has its own unique set of Risk Parameters, and these parameters are determined based on the risk profile of the collateral used by the CDP type. These parameters are directly controlled by MKR holders through voting, with one MKR giving its holder one vote.
The key Risk Parameters for CDPs are:
In addition to payment of the Stability Fee on active CDPs, the MKR token plays an important role in the governance of the Maker Platform.
Governance is done at the system level through election of an Active Proposal by MKR voters. The Active Proposal is the smart contract that has been empowered by MKR voting to gain administrative access to modify the internal governance variables of the Maker Platform.
Proposal Contracts are proposals that can only be executed once after gaining administrative access, and after execution immediately applies their changes to the internal governance variables of the Maker Platform. After the one-time execution, the Proposal Contract wipes its logic and cannot be re-used.
Any Ethereum account can deploy valid proposal smart contracts. MKR voters can then use their MKR tokens to cast approval votes for the proposal that they want to elect as the Active Proposal. The smart contract that has the highest total number of approval votes from MKR voters is elected as the Active Proposal. The modifications to the internal governance variables do not take effect immediately, but are delayed for 24 hours by the Governance Security Module. This ensures the system can protect itself by triggering an Emergency Shutdown in response to a malicious governance proposal that would harm the system.
In the long run more advanced forms of Proposal Contracts can also be used, including Proposal Contracts that aren’t single-use. The Maker Governance mechanism is designed to be as flexible and upgradeable as possible.
In practice the Maker Governance Process establishes a rough consensus in the governance community before any votes are cast, meaning that outcome of the voting should already be known, and the voting process itself is not when decision making happens, but rather is way to securely implement decisions that have already been made into the system.
After the upgrade to Multi-Collateral Dai, MKR will take on a more significant role in the Dai Stablecoin System by replacing PETH as the the recapitalization resource. When CDPs become undercollateralized due to market crashes, the MKR supply is automatically diluted and sold off in order to raise enough funds to recapitalize the system.
To ensure there is always enough collateral in the system to cover the value of all outstanding Debt (according to the Target Price), a CDP can be liquidated if it is deemed to be too risky. The Maker Platform determines when to liquidate a CDP by comparing the Liquidation Ratio with the current collateral-to-debt ratio of the CDP.
Each CDP type has its own unique Liquidation Ratio that is controlled by MKR voters and established based on the risk profile of the particular collateral asset of that CDP type.
Liquidation occurs when a CDP hits its Liquidation Ratio. The Maker Platform will automatically buy the collateral of the CDP and subsequently sell it off. There is a temporary mechanism in place for Single-Collateral Dai called a Liquidity Providing Contract. For Multi-Collateral Dai an auction mechanism will be used.
During Single-Collateral Dai, the mechanism for liquidation is a Liquidity Providing Contract: a smart contract that trades directly with Ethereum users and keepers according to the price feed of the system.
When a CDP is liquidated, it is immediately acquired by the system. The CDP owner receives the value of the leftover collateral minus the debt, Stability Fee and Liquidation Penalty.
The PETH collateral is set for sale in the Liquidity Providing Contract, and keepers can atomically purchase the PETH by paying Dai. All Dai paid this way are immediately removed from the Dai supply, until an amount equal to the CDP debt has been removed. If any Dai is paid in excess of the debt shortfall, the excess Dai is used to purchase PETH from the market and burn it, which positively changes the ETH to PETH ratio. This results in a net value gain for PETH holders.
If the PETH selloff initially does not raise enough Dai to cover the entire debt shortfall, more PETH is continuously created and sold off. New PETH created this way negatively changes the ETH to PETH ratio, causing PETH holders to lose value.
In Multi-Collateral Dai, during a liquidation, the Maker platform buys the collateral of a CDP and subsequently sells it in an automatic auction. This auction mechanism enables the system to settle CDPs even when price information is unavailable.
In order to take over the collateral of the CDP so that it can be sold, the system first needs to raise enough Dai to cover the CDP’s debt. This is called a Debt Auction, and works by diluting the supply of the MKR token and selling it to bidders in an auction format.
In parallel, the collateral of the CDP is sold in a Collateral Auction where all proceeds (also denominated in Dai) up to the CDP debt amount plus a Liquidation Penalty (A Risk Parameter determined by MKR voting) is used to buy MKR and remove it from the supply.
This directly counteracts the MKR dilution that happened during the Debt Auction. If enough Dai is bid to fully cover the CDP debt plus the Liquidation Penalty, the Collateral Auction switches to a reverse auction mechanism and tries to sell as little collateral as possible--any leftover collateral is returned to the original owner of the CDP.
In addition to its smart contract infrastructure, the Maker Platform relies on certain external actors to maintain operations. Keepers are external actors who take advantage of the economic incentives presented by the Maker platform. Oracles and Global Settlers are external actors with special permissions in the system assigned to them by MKR voters.
A keeper is an independent (usually automated) actor that is incentivized by profit opportunities to contribute to decentralized systems. In the context of the Dai Stablecoin System, keepers participate in the Debt Auctions and Collateral Auctions when CDPs are liquidated.
Keepers also trade Dai around the Target Price. Keepers sell Dai when the market price is higher than the Target Price and buy Dai when the market price is below the Target Price to profit from the expected long-term convergence towards the Target Price.
The Maker Platform requires real-time information about the market price of the assets used as collateral in CDPs in order to know when to trigger liquidations. MKR voters choose a set of trusted oracles to feed this information to the Maker Platform through Ethereum transactions.
To protect the system from an attacker who gains control of a majority of the Oracles, all Oracle inputs go through the Oracle Security Module, which imposes a 1 hour delay on the data, leaving enough time for the MKR governance community and the Emergency Oracles to analyze the data and react
Emergency Oracles are external actors similar to Price Oracles and together with MKR voters are the last line of defense for the Maker Platform in the event of an attack. The Emergency Oracles, selected by MKR voters, have the authority to unilaterally trigger an Emergency Shutdown. Aside from this authority, these actors do not have any additional special access or control within the system.
The Dai Stablecoin System can be used by anyone without any restrictions or sign-up process.
One of the primary use cases of CDPs is margin trading by CDP users.
Liquidations ensure that in the event of a price crash of the collateral backing a CDP type, the system will automatically be able to close CDPs that become too risky. This ensures that the outstanding Dai supply remains fully collateralized.
As mentioned in the introduction, a cryptocurrency with price stability is a basic requirement for the majority of decentralized applications. As such, the potential market for Dai is at least as large as that of the entire blockchain industry. The following is a short, non-exhaustive list of some of the immediate markets (in both the blockchain and the wider industry) for the Dai Stablecoin System in its capacity as a cryptocurrency with price stability and its use case as a decentralized margin trading platform:
There are many potential risks facing the successful development, deployment, and operation of the Maker Platform. It is vital that the Maker community takes all necessary steps to mitigate these risks. The following list spells out some of the risks identified and the accompanying plan for risk mitigation:
The greatest risk to the system during its early stages is a malicious programmer finding an exploit in the deployed smart contracts, and using it to break or steal from the system before the vulnerability can be fixed. In a worst case scenario, all decentralized digital assets that are held as collateral in the Maker Platform, such as Ether (ETH) or Augur Reputation (REP), could be stolen without any chance of recovery. The part of the collateral portfolio that is not decentralized, such as Digix Gold IOU’s, would not be stolen in such an event as they can be frozen and controlled through a centralized backdoor, and combined with a timely Emergency Shutdown of the platform this would allow Dai and CDP users to retrieve the remaining value they are entitled to.
Mitigation: Smart contract security and best security practices have been the absolute highest priority of Dai development effort since its inception. The codebase has already undergone three independent security audits by some of the best security researchers in the blockchain industry.
Beyond just good engineering and best practices, the strongest tool to defend against hacks is formal verification. Formal verification means creating mathematical specifications of the intended behaviour of the system, alongside mathematical proofs that the codebase implements behaviour that is identical to the intended behaviour, with no unintended side effects.
The Dai codebase is the first ever codebase of a decentralized application that has been formally verified. A short term goal is to also create a completeness proof, which is a mathematical proof that shows it is impossible to create any other behaviour than exactly the behaviour of the mathematical specification of the system.
Another high impact risk is a potential Black Swan event on collateral used for the Dai. This could either happen in the early stages of Dai Stablecoin System, before MKR is robust enough to support inflationary dilutions, or after the Dai Stablecoin System supports a diverse portfolio of collateral.
Mitigation: CDP collateral will be limited to ETH in the early stages, with the debt ceiling initially limited and growing gradually over time.
As mentioned previously, there is a large amount of money and brainpower working on cryptocurrency with price stability. By virtue of having "true decentralization", the Dai Stablecoin System is by far the most complex model being contemplated in the blockchain industry. A perceived risk is a movement among cryptocurrency users where the ideals of decentralization are exchanged for the simplicity and marketing of centralized digital assets. Mitigation: We expect that Dai will be very easy to use for a regular cryptocurrency user. Dai will be a standard Ethereum token adhering to the ERC-20 standard and will be readily available with high liquidity across the ecosystem. Dai has been designed in such a way that the average user need not understand the underlying mechanics of the system in order to use it.
The complexities of the Dai Stablecoin System will need to be understood primarily by Keepers and capital investment companies that use the Dai Stablecoin System for margin trading. These types of users have enough resources to onboard themselves as long as there is abundant and clear documentation of every aspect of the system's mechanics. The Maker community will ensure that this is the case.
A number of unforeseen events could potentially occur, such as a problem with the price feed from the Oracles, or irrational market dynamics that cause variation in the value of Dai for an extended period of time. If confidence is lost in the system, rate adjustments or even MKR dilution could reach extreme levels while still not bringing enough liquidity and stability to the market.
Mitigation: The Maker community will need to incentivize a sufficiently large capital pool to act as Keepers of the market in order to maximize rationality and market efficiency and allow the Dai supply to grow at a steady pace without major market shocks.
The Maker Foundation plays a major role in the development and governance of the Maker Platform in its early days: budgeting for expenses, hiring new developers, seeking partnerships and institutional users, and interfacing with regulators and other key external stakeholders. Should the Maker Foundation fail in some capacity — for legal reasons, or due to internal problems with management — the future of Maker could be at risk without a proper backup plan.
Mitigation: The Maker community is bootstrapped early to act as the decentralized counterparty to the Maker Foundation even during the early phases of the project. It is a loose collective of independent actors who are all aligned by holding the MKR token, giving them a strong incentive to see the Maker Platform succeed. During the early phases of MKR distribution, great care was taken to ensure that the most important core developers received a significant MKR stake. In the event that the Maker Foundation is no longer effectively able to lead the development of the Maker Platform, individual MKR holders will be incentivized to fund developers (or simply carry out development themselves) in an effort to protect their investment, and Maker Governance is also able to fund maintenance and development of the system.
The Dai Stablecoin System was designed to solve the crucial problem of stable exchange of value in the Ethereum ecosystem and the wider blockchain economy. We believe that the mechanism through which Dai is created, transacted, and retired, along with the direct Risk Management role of MKR holders, will allow for self-interested Keepers to maintain the price stability of Dai over time in an efficient manner. The founders of the Maker community have established a prudent governance roadmap that is appropriate for the needs of agile development in the short term, but also coherent with the ideals of decentralization over time. The development roadmap is aggressive and focused on widespread adoption of Dai in a responsible fashion.
David Ernst Hard Problems in Cryptocurrency.↩
A cryptocurrency is a digital asset that can be transferred without the assistance of an intermediary. Cryptocurrencies generally use blockchain technology to achieve this.↩
A decentralized cryptocurrency is a cryptocurrency which exists without the authority of a centralized entity. The primary feature of a decentralized cryptocurrency is censorship-resistance.↩