Formal Proposal: Distribute DAI to Users Affected by DAI Liquidations
OBJECTIVES
This post will outline an on-chain proposal that will compensate users affected by the liquidation events of November 26th, 2020 in the DAI market. After feedback and discussions, this proposal’s code will be published on-chain in collaboration with those that support this methodology.
Thank you to the Compound community and investors for the weeks of feedback, iteration and discussions that have helped craft this proposal.
BACKGROUND
On November 26th, 2020 an unexpected increase in the DAI price to $1.30 on Coinbase Pro led to 85.2 million in DAI being liquidated. An initial compensation proposal for that event did not pass an executive vote, with 680k COMP voting against and 212k COMP voting for.
Since the original proposal, there have been positive changes in Compound’s oracle system and improvements in the state of the DAI market’s reserves. The oracle fix and the increased DAI reserves address three key issues voiced by the community with the previous compensation proposal:
- Reimbursement to users before clarity on when/how the underlying issue would be fixed.
- Reimbursement denominated in COMP to affected users may not necessarily align with the objectives of COMP usage or COMP holders.
- Setting a precedent that tail-risk events should be subsidized with COMP.
Today, the 15.1 million DAI in reserves is sufficient to cover the November 26th losses as originally calculated in full. The total expected compensation amount is approximately 6.8 million DAI based on the protocol’s 8% liquidation penalty. Compensation is well within the capabilities of Compound governance today and will help give closure to a topic that’s still a point of ongoing discussion in the community and allow the protocol to move forward on stronger footing.
CODE MECHANICS
This proposal utilizes a slightly modified version of the merkle distributor used for the airdrop of Uniswap’s UNI token. The merkle tree contains the addresses of those affected by the liquidation event, and was reconciled and analyzed against on-chain data from around the time of the liquidation event. A relayer will claim the merkle drop for each wallet according to the distributor and distribute the DAI to user’s wallets. Users do not need to interact with any contract to claim this DAI.
The script to generate the affected addresses list (and distribute DAI to them) fetches the liquidation transactions which repaid DAI within the given block bounds (11332733 to 11335286). The repaid DAI is multiplied by 0.08 to attain the liquidation fee incurred by the affected address. If a wallet had 100 DAI repaid by a liquidator, then that wallet would receive 8 DAI as part of this compensation proposal.
Full coverage is ensured through unit testing, forking simulation and a testrun of the whole proposal process on testnet. @arr00 arr00 is the core contributor to the code.
DISTRIBUTION METHODOLOGY
Referencing the DAI liquidations spreadsheet published by @rleshner, a total of 85,220,406.43 DAI was repaid on 11/26/20. Applying the 8% liquidation penalty, this proposal would pay out a total of 6,817,632.51 DAI.
To preview the DAI distribution per address, see here.
Action Items
If you support this proposal, you can delegate COMP to this autonomous proposal (CAP), which will be deployed after allowing sufficient time for the community to review the code and proposal.
Again, thank you to the Compound community and investors for the weeks of feedback, iteration and discussions that have helped craft this proposal.
Disclosure
For full transparency, I was one of the Compound users affected in the DAI liquidation event and believe this governance owes it to the community to consider this proposal. For context, in 2020, I worked with the community to pass a reserve factor change to the DAI market and improve the overall risk positioning of the Compound protocol.
Resources