As 2016 draws to a close, it is time to start planning and estimating our work for the coming year. We have created a product roadmap that will help us in that effort and bring visibility to our progress and priorities for our stakeholders. This roadmap does not cover all the work that Maker will undertake over the course of 2017, but rather only focuses on the work necessary to release the Dai stablecoin and realize the primary purpose of our DAO.
One of Maker's first public releases last year was Maker Market, our fully decentralized OTC token exchange. As we wrap up this year, we will be releasing extended token support, usability fixes, and new features that will make trading there a more pleasant experience.
Many different types of continuous auctions are needed in order for Maker to function properly. Liquidated positions need to auction off their collateral for Dai in order to be covered. The Dai stability fee that the system collects needs to be auctioned off for MKR in order to create an incentive to hold MKR. Lastly and most importantly for the short term, MKR from the development fund needs to be auctioned off for ETH in order to pay for the active development of the system. The smart contracts that power these auctions have been complete for some time now, but this work item will be finished once the proper off-chain bidding software and market integrations have been completed that will allow for stakeholders to automatically participate in the auctions of their choosing.
This is the core smart contract system that comprises the stability mechanism used to keep Dai stable. The CDP engine will allow users to create Dai with collateral and force positions that have reached their liquidation threshold to cover their outstanding Dai. This work item will cover the minimal set of what the Dai needs to exist properly. The rest of the work that takes place after the completion of the CDP engine is what's necessary to transition Maker from an actively developed project to a resilient and fully decentralized autonomous organization.
This is a high-level implementation of Maker's different components written in Python. It will allow us to simulate the Maker ecosystem and run scenario tests using a variety of economic conditions. This is an important step towards validating our assumptions about how we expect the system to work in production, and it will make the mechanics of the system more accessible to stakeholders that want to test it for themselves during the following public testing period.
CDP Engine Testbed
The CDP Engine Testbed is a translation layer between the scenario tests that we will use to validate Maker Model and the actual smart contracts that make up the CDP Engine. Once it is complete, any high-level tests that our stakeholders or developers write can be run against either a convenient simulation of the Maker ecosystem or the real code intended to back Dai. This will allow us to validate the basic mechanics of our system and create a very large public codebase of integration tests against our smart contracts with the same effort.
Initial Governance Solutions
This effort will be the first move away from our current administration system that relies on a multisig of our lead developers towards a truly decentralized stakevoting solution. The first governance release will be a hybrid of these two systems, with the multisig acting as the proposing agent for system upgrades and payouts from the development fund, and the community approving or rejecting those proposals via a user-friendly webapp. For a preview, check out our initial governance UI displaying multisig actions here.
Public Testing Period
This is the period during which Maker Model, the CDP Engine, and the CDP Engine Testbed will all be released for public validation and extensive testing. We will deploy a working system to the Ropsten test network and begin running our integration test suite against it. We will publish the results of our economic simulations and smart contract tests in an easily reviewable format for our stakeholders and the wider community.
Initial Oracle Ecosystem
The oracle ecosystem is one of the most important components that we need to get right, as it represents an exploitable potential weak point of the overall system. This work item will focus on developing a standard protocol for parties that wish to create price feeds for Maker, so that we can employ a diverse array of price feed providers to guard against collusion. Then we will create a centrally controlled price feed implementation compliant within that standard in anticipation of our first major release with the Restricted ETH CDP type.
Restricted ETH CDP Type
Our first release of the Dai stablecoin! In this initial beta release, only whitelisted actors will be allowed to create Dai using ETH and the price feeds and other system parameters will be controlled by the developer multisig. However, this release will make Dai available to the public for the first time, with some important disclaimers related to the fact that the supply-side is intentionally restricted for safety.
Decentralized Oracle Ecosystem
This will cover the infrastructure and governance integrations necessary to create a decentralized pool of price feed providers from which the system will be able to create an aggregate view of the market. This work item will be complete when we have a diverse oracle ecosystem that is sufficiently resilient from collusion and other attack vectors.
Fully Decentralized Stake Vote System
This represents the work necessary to implement the Sentinel stake voting system and hand ultimate authority over our smart contract system to the MKR community. When initially launched, this system will work alongside the initial governance solution that precedes it, with the MKR stakeholder community being granted the ability to override the multisig's actions or lack thereof. As we move on to the next governance work item detailed below, the multisig will be gradually phased out of the system. This work item will be complete when the MKR community has fully decentralized control over all aspects of the stablecoin system and ongoing development process.
Public ETH CDP Type
This is the next major Dai release where the supply-side will become unconstrained and anyone will be able to use the system to create Dai. At this point, the system will still be one hundred percent exposed to ETH and thus won't yet be ready for "prime time", but it will have reached an important stability milestone by allowing the market to fully dictate the size of Dai supply based on emergent conditions. Thanks to these dynamics, Dai will become much more usable and resilience will increase as we add diversity to the portfolio going forward.
Secondary Governance Solutions
We intend to utilize a broad array of governance solutions in pursuit of efficient MKR administration including prediction markets, less rigid voting schemes, and resilient communication channels. This work item encompasses that effort. Where the Sentinel is optimized for reactive consensus and defensive decisions, these solutions will be designed towards proactive consensus and routine operations. The boundaries of this and the following work item are less discrete than the previous ones, but progress will be marked by handovers of proactive decision making responsibilities from the developer multisig to the MKR community.
Public Non-ETH CDP Types
This represents the last major Dai release of 2017, and the first time that portfolio management will become a factor in evaluating the strength of the system. Here we will create an asset registry of accepted collateral types and all the governance interfaces necessary to onboard new types and set their parameters properly. This is also when we will begin work on integrating with off-chain collateral types in order to add the strengths of the traditional financial system to the Maker collateral portfolio. This will be the most continuous work item of all, since the maintenance and expansion of the collateral portfolio will be an ongoing task for the MKR stakeholder community.
We have a full product development schedule for the coming year! As we progress through this roadmap, we will update the community if items need to be rescheduled, added, or modified in scope. If you are interested in developing for MakerDAO or getting involved in any other capacity, please join our chat and say hello.