On Thursday March 12, 2020, the price of Ether (ETH) dropped over 30% in about 24 hours. The result sent chain reaction rippling through DeFi in an event many will likely come to refer to as Black Thursday. DeFi users rushed to make transactions like trading on DEXes, paying off debts, bolstering collateral ratio, etc. The increased activity led to record-setting high gas prices at times exceeding 200 gwei.
If you’re unfamiliar with how gas prices work, think of it as an auction for the limited space in each block. Users desperate to get their transaction through start to outbid each other to get their transactions completed in a timely manner. And then, the ensuing “bidding wars” drive up gas prices and subsequently cause low-priced transactions to be stuck until things settle down. The bottom line is that the increased volume put a lot of stress on DeFi smart contracts along with the entire Ethereum network. So we’ve decided to put together this status update to provide context for those unaware who may panic at the sight of the charts lately.
Don’t panic. All is not lost and DeFi endured the test.
I think it’s worth taking a moment to say: there are safety measures in place for a reason. When you install fire alarms and safety systems you hope you never need to use them, but know that there could always come a day when you have to. And if your home catches on fire, you don’t abandon the concept of living in homes altogether. You rebuild your home and this time you build it bit safer and better overall. We, as a community, have been tested before and have only grown stronger for these trials. A decentralized financial market is a market worth fighting for and the truth is… DeFi remains one of the most exciting and innovative spaces on this planet and will only continue to grow and evolve despite the occasional bump in the road.
High levels of network congestion affected the entire Ethereum network so we’ll only be addressing some of the more notable ways DeFi projects were affected by recent events.
While the exact issue is still under investigation, the dramatic increase in gas prices caused Maker’s price feed oracle to remain stuck at ~$166 despite the market dipping almost 15% lower at times. High gas prices also affected Keeper bots, preventing many from liquidating undercollateralized loans. Unfortunately, some Keepers were able to bid on and purchase collateral ETH for 0 DAI. And, many Vault owners reported 100% of their collateral being liquidated.
A Maker community call was held to determine the best plan of action. Maker put out a blog post addressing the situation and proposed various parameters which could be adjusted to prevent further issues. MKR holders have since approved changes including lowering debt ceilings, lowering stability fees, changing auction parameters to allow keepers additional time and limit the total number of auctions.
Among the approved parameter changes was delaying the Debt Auction, designed to cover the +$4M in remaining system debt, in an attempt to give the community more time to prepare.
MKR Debt Auction
Maker is designed with a pool of DAI called the Maker Buffer reserved to cover debts in situations like this. However, the Maker Buffer was unable to cover the deficit caused by the tremendous amount of liquidations. As stated in its whitepaper, the Maker Protocol will now trigger a Debt Auction where MKR is minted and sold for DAI to re-collateralize the system.
Here are the details for the auction according to MakerDAO’s blog:
- Start time: March 19, 6:25 am ET (March 19, 10:25 am UTC)
- MKR will be auctioned off in lots for 50,000 Dai
- According to parameters of the Maker Protocol as determined by governance, the auction works as in the following example:
- The protocol offers a Keeper (bidder) a lot of 250 MKR for 50,000 Dai, which translates to a price of 200 Dai/MKR.
- A second keeper bids 50,000 Dai but only requires 230 MKR, which translates to a price of 217 Dai/MKR.
- The bid prices increase through the Keepers’ willingness to take slightly less MKR in exchange for 50,000 Dai.
- If no one bids on the first lot of 250 MKR, then the auction can be re-initialized after three days, offering 20% more MKR (300 MKR) for 50,000 Dai, which translates to a price of 166.66 Dai/MKR.
- Finally, if there is at least one bid, and no one outbids it within 6 hours, the auction ends.
Anyone is free to participate in the auction by running an Auction Keeper. Maker provides documentation on how to run an auction keeper bot but no official front-end UI. However, there are some in the community working on making these systems more accessible for the auction.
Dai Backstop Syndicate
We’re working with Dharma and many other community members to organize a community-led effort dubbed the DAI Backstop Syndicate to form a backstop in support of MKR and act as a buyer of last resort in the upcoming MKR auction.
The idea is to create pool contract that would give syndicate participants a way to participate in the auction process should MKR fall below a given price like 100 DAI / MKR. The intention is to be a backstop, not necessarily buy the MKR nor will it provide liquidity for liquidations during Dai Surplus Auctions (flaps).
The contract will be designed so anyone could trigger an auction using pooled funds at the given price once auctions begin. At which point, all participants would be able to redeem the tokens they minted by supplying Dai for the equiv. Dai / MKR blend held by the pool.
Nexus Mutual claims
As of writing this, 3 out of the 11 submitted claims related to the MakerDAO incident have been denied by Nexus Mutual. Those with Nexus Mutual cover on MakerDAO have been instructed to wait for more complete information before submitting new claims.
Compound placed in its timelock three precautionary changes to how its protocol handles DAI in the case it becomes unpegged and mass liquidations are required.
The high network congestion forced Synthetix to go down for short period of time as its rates provided by on-chain Chainlink oracles to go stale.
After some time, the system was brought back online and the Synthetix team released SCCP-16 which temporarily increased fee reclamation waiting period to an hour to accommodate extreme network congestion. This change was reverted after the congestion subsided.
Aave protocol also took measures to reduce the impact of MKR and DAI instability.
Combating high gas costs, dYdX progressively increased its minimum trade size throughout the day on March 12. The first step was up to 10 ETH or 2000 DAI, it was ultimately raised as high as 40 ETH or 5000 DAI. By the evening of March 13, the min. trade size was restored back to normal (0.1 ETH or 20 DAI).
DDEX incurred minor losses of $5373 which will be covered by its built-in insurance.
Green on the board
The silver lining of the day was that many smart contracts like Uniswap functioned performed as expected under the massive stress placed on the Ethereum network.
Examining our DeFi rankings during these events, it was clear DEXes like Uniswap, DeFi lenders [like dYdX, Nuo, Robo-Advisor for Yield (RAY), and Dharma], and payment networks like xDai and Connext fared the best. All of which are DeFi smart contracts generally less impacted by price fluctuations and high gas prices with more diverse collateral options and/or lower risk yields.
Stress tests like these help expose cracks in DeFi smart contracts that can be repaired and improved upon. They also serve as important reminders to do your own research and plan accordingly for potential smart contract risks. DeFi is still a very young market and bumps in the road are to be expected. And when things get rough, remember what brought us here together as a community: the exciting prospect of a decentralized financial system open to all.
Whether you just want to stay informed or get involved, we’re always there for community members with questions or looking to dig a little deeper. Reach out to us on Twitter or join the discussion in our Telegram or Discord.