Three problems that caused MakerDAO’s multi-million dollar loss:
- Performance Bottleneck of Underlying Network
- Effectiveness in Risky CDP Liquidation
- Efficiency of Keepers & Sufficiency of Liquidity
More sophisticated design mechanisms on a high-performance network can greatly mitigate these problems, and elevate risk tolerance of DeFi platforms.
The first decentralized stablecoin platform MakerDao just suffered a multi-million dollar loss in three hours on 12 March 2020. The DeFi community has learnt an expensive but valuable lesson, which will inspire more evolved decentralized stablecoin mechanism designs.
Performance Bottleneck of Underlying Network
Ethereum, the underlying ledger of MakerDAO, has a throughput of around 15 TPS. Network congestion and exceedingly high gas fees directly contributed to MakerDAO’s failure. When the price of ETH tanked, the number of transactions skyrocketed. CDP holders, arbitrageurs, DeX traders were all competing for limited computation resources. The congestion resulted in severely degraded system integrity, including oracle service, liquidation process, and DAI liquidity efficiency.
While MakerDAO’s governance body swiftly reacted to the incident by adjusting key parameters, however, the risk factors still exist, transaction throughput of an underlying ledger determines how much risk a DeFi protocol can handle .
A shard of the Polkadot network, a.k.a Parachain, can achieve a throughput of at least 200 TPS, while maintaining security under the shared security model. Acala network, aiming to become a parachain, will be able to handle much higher risks under volatile market conditions, since transactions can be confirmed almost instantaneously.
Transactions on Substrate networks (e.g. Acala Network) are classified as either Normal or Operational. Around 20% of space in each block is reserved for the Operational transactions as a priority lane for important system transactions (e.g. oracle price feeding, risk parameter adjustments, automatic liquidations). Similar to QoS on traditional networks, transaction classification plays a crucial role in ensuring system integrity when a blockchain network is under pressure.
Effectiveness of Risky CDP Liquidation
Under volatile market conditions, MakerDAO’s liquidation & auction process, purely relying on incentive, failed to function as designed. Several factors contributed to this failure, including volatile collateral price, gas price, and more. There was simply not enough incentive to maintain the liquidation process organically. One keeper ended up pocketing over 30,000 ETH collateral at a cost of almost zero, since there was no competitor.
An executive vote was approved after the incident, the vote approved changes to risk parameters around the liquidation process, including increased lot size and auction duration. While these adjustments provided some remedies to the lack of incentive issues, they are not solutions.
In Acala’s design, liquidating risky positions employs a hybrid mechanism of collateral auctions and built-in DeX . When liquidation is triggered, the protocol will first try to source liquidity from DeX to cover outstanding debt, before starting an auction. If an auction is advertised for collateral and won, the winning bid will be compared against DeX pricing upon ending, to ensure optimal liquidation price for collateral.
This design allows risky positions to be liquidated in a more efficient way, small positions can be directly liquidated on DeX, while large positions can be either split into smaller lots or liquidated via auctions.
Efficiency of Keepers & Sufficiency of Liquidity
It is believed that some keepers stopped operating due to running out of DAI to bid, during the crisis, DAI was in high demand and trading at a premium, keepers were competing with traders for DAI.
One of the MakerDAO community proposals is to operate a Keeper Pool to:
- Act as a reserve pool of liquidity for liquidation
- Act as a more reliable Keeper to participate in the liquidation process
While operating a Keeper Pool may sound like a good idea, there are a number of trade-offs in this design:
- The pool is non-custodial but centralized service
- The pool is competing for DAI with saving protocol, such as compound
Since Ethereum does not have an automatic scheduler built-in, relying on external transactions to trigger actions is inevitable.
In Acala’s design which is based on Substrate, it takes full advantage of the framework’s off-chain worker mechanism, where liquidation of all risky positions can be triggered automatically.
With the built-in DeX, anyone can simply provide liquidity to act as a passive Keeper, this drastically lowered the barrier to become a Keeper. All DeX providers earn straightforward & transparent profit, without needing to bid in an auction.
The DeFi space is in its early days, the MakerDAO experiment has been remarkable, and the knowledge gained through these incidents is undoubtedly invaluable. DeFi has brought promises to revolutionize traditional finance — from censorship-resistant stable-currency, to permissionless banking, transparency, fairness and more. Trust and hope in DeFi will be rebuilt through improvements of underlying blockchain networks, enhancement of mechanism design and continuously monitor and combat of system vulnerabilities. The best of DeFi is yet to come.