Multi-collateral Dai (MCD) is a modular system of inter-dependent smart contracts developed for the Ethereum blockchain. An off-chain system of oracles is used to supply price data on which the system relies. The core system of permissioned modules is maintained by MKR governance, with updates being executed via approval voting. Non-permissioned front-ends such as the CDP Manager and SCD-MCD Migrator provide convenience for CDP operators and Dai holders.
Many MCD modules will be formally verified using the K-Framework, providing confidence of function level and transaction level correctness for core modules. As such, we expect the system audit to take a higher level view, considering attack vectors not covered by the verification process such as denial of service attacks, replay attacks, front-running, other blockchain-level attacks and incentive reasoning. The system can essentially be treated as a higher-level DSL, a state machine, where function bodies are assumed to behave as per the K-dss specification.
Smart contracts: