Compensation Proposal: Distribute COMP to Affected Users in the DAI Liquidations

I’d like to put on the record that the number of users affected was a non-negligible percentage of the userbase.

4 Likes

Would love to hear input from Coinbase’s trade surveillance head apart from their “short” comment here.

Would also appreciate it if Coinbase can shed more details on the said event.

@Elkins I was wondering if Coinbase can atleast provide anonymized data on said price event. Also, if possible, could Coinbase also divulge the volume of orders needed to move the CB’s Dai market by 30% . Thank you!

5 Likes

Potentatial risk when somebody need cheap Ethereum, manipulate the market with front-running and false-reporting, get my Ethereum for 1ETH:377$ (because global price of DAI in moment is 1$) with nice premium of 100-150$ per Ethereum.
And Pantera Capital said that I need to know risks in that “fairytale risk story”.
I didn’t know the risk of being robbed by protocol aggressive liquidation system powered by bots.
I didn’t know that the “borrowing function” should not be used.
I was used Compound before COMP token issuance because protocol had use case for my business and I didnt know that criminal activities are allowed.

I just used lending/borrowing service(product) when protocol was manipulated - i didnt farm COMP, I was used stablecoin for business liquidity - what is the point?
That Alex Mashinsky (Celsius) REPUTATION worth more than Compound protocol? I know that worth more than Pantera Capital for sure.
Your statement really raises the question: “Do we really need DeFi?”

3 Likes

Not sure, why you want to dig deeper into the events which happened at Coinbase. No matter which the exact reason for this market dislocation was, the root cause for the “liquidation event” is, that the open oracle uses Coinbase as a single price source. If you want to dig deeper, I think you should ask, why the open oracle ever is gone live with only one price source.

2 Likes

Because it was voted to go live with one oracle. here:

Because I want to see the volume/cost used to move the coinbase dai market, and why no arbitrages on that price spike happened. In short I want to get to the bottom of how that spike happened as reference on ideas on how to better harden the oracle system

3 Likes

Sure, that’s obvious. But why was this proposal ever created? A good source for this answer could be the author of the proposal.

Hardening the oracle is very simple: just use more price sources. Check here for a possible solution.

2 Likes

Im also in that discussion, I actually am for it but waiting for someone to submit code and start a CAP. Would also gladly delegate my measly vote to it.

2 Likes

Agree, Coinbase can provide some data and stats about the event, but problem is that Coinbase Price Feed Data is a centralized part of the “decentralized” Compound protocol.

1 Like

I am looking into getting something submitted. Will report back soon.

3 Likes

Can you explain to me please what you want to say with this statement?
This statement means that I use a platform with low returns but on the other side I want to be part of Compound community (because I additionally farm COMP)?
That makes me a high-quality COMP holder,
and not a farmer whose main goal is profit (sell / dump COMP).

The point is that in the case of “DAI liquidation” every user who used the “borrowing service” was in danger.

I was liquidated two times in the last 16 months in Compound protocol but that was my fault, this time users are manipulated with planned attack.
I don’t need charity from protocol, I just want to be refunded the part of the funds that were taken away from me by that attack and be a more active member of the healthy community.
I understand, your perspective on this situation is different but please can you tell me what is long-term impact on the protocol if real affected users will not be compensated?

2 Likes

Not sure if everybody saw this tweet from Synthetix Founder Kain Warwick regarding proposal 032, But I thought it was worth sharing here:

I voted yes on Compound proposal 032. This proposal would distribute COMP to offset losses incurred by liquidated DAI positions. I thought about this a lot over the weekend, and while I expect the proposal to fail here is my reasoning regardless. Factoring in all risk is probably the defi platform I trust most. Excluding SNX there have been times when 50% of my crypoassets have been on deposit there. I think it is one of the safest places in DeFi you can put your funds. However, there are risks, and liquidations due to anomalous prices are foremost among these. The reason I voted yes is that I want to ensure there is skin in the game for all COMP holders, so they are hyper aware that the funds on deposit are at risk, and they are responsible. Right now there is indirect alignment between COMP holders and depositors, while this proposal sets an aggressive precedent I think it is one which is unlikely to be repeated in the future if all Compound stakeholders are aligned. This is also a good initiative to restore trust. The final point I will make is that I would highly suggest the Compound community at least discuss with Chainlink, the possibility of using their oracles as a backstop. And I say this as someone who holds no LINK, but as an SNX I am holder extremely aligned with CL security.

I again want to applaud @kybx86 on the valiant effort on prop 032. While the proposal did not pass in current form, it helped to propel the conversation forward by giving us a reference point on which to base our discussions, offer alternative routes to compensation, discuss issue prioritization etc.

That said, that several notable entities who publicly shared their reasoning (i.e. Polychain, Pantera, Kain from Sythetix) all pointed at Compound’s oracle design as a key area that needs improvement, regardless of how they voted on this proposal. Obviously I am in agreement with the sentiment, and as stated before, I am looking into submitting a CAP along these lines. If anybody wants to work with me on this feel free to shoot me a message. Would love the support!

10 Likes

A valuable next step may be to summarize all the compensation proposals we have so far to make it easier to examine their merits.

4 Likes

Thank you for your input, @ekrenzke . It is great to have your involvement and I appreciate you keeping an open mind.

This I agree with completely.

The protocol worked as designed, but the design was clearly flawed. The Coinbase oracle printed an off-market price and Compound accepted it. Legitimate users were unnecessarily liquidated.

I am not sure why you make this statement. I was liquidated and all I had done was supplied ETH/WBTC and borrowed DAI to the 80% limit which was described as a “safe max”. I was not doing anything particularly unusual other than using the protocol to borrow DAI. How is that behavior not long term aligned? Is the protocol not meant to be used?

If your statement does not apply to the entire set of users that were liquidated, but rather only the subset of liquidated users that were doing loop-farming, then I do agree with you.

All that said, I personally do believe that we can come up with a better proposal. 8% across the board makes DAI-DAI famers completely whole, while leaving “legitimate” users with as little as ~25% reimbursement on their losses. Effort should be made to understand the losses in more detail.

7 Likes

It seems like if we modify the proposal, there is actually a chance that it would pass. and I do think if it passes it will be a very positive message overall and show that the community do have the power to protect users in events like this. If anyone is working on a revised proposal and need help, please let me know.

6 Likes

We can simply add okex to the list of the reporters. They post prices but aren’t included. We could also add more reporters, chainlink to me just isn’t the best option because it’s very prone to human error, and had a problem with aave not too long ago.

1 Like

Your comments about chainlink sound interesting. Would be great, if you could write some more details over in the chainlink thread.

3 Likes

the proposal was not accepted by the VC funds due to compensation in the COMP token (mostly) as far as I understood from their statements.
I understand them because the 2 biggest liquidated addresses would get big bags of governance power.
I think the fairest calculation for compensation is suggested by @jacobdecatur and @wario - weighted compensation - in DAI.
Argument against proposal by @blck makes sense

I think that every component of a decentralized system should be decentralized, so in this “oracle case” it is necessary to plug in more price discovery sources. The protocol must use global cryptocurrency prices.

I also wonder if anyone works on new proposal?

I agree with you

6 Likes

Im my view adding more reporters only nominally mitigates the situation, as simply taking the median across a select few exchanges still does not provide adequate market coverage (it also doesn’t take into account volume and liquidity differences across exchanges like data aggregators do).

As @cryptix said, would love to hear more detailed thought on this comment in the Chainlink thread so I can better understand.

2 Likes

Hi everyone, I’d like to first make an attempt at summarizing a couple of the concerns expressed by others in this thread, including @lay2000lbs @tonyotonio @ekrenzke @franklin-pantera that might have resulted in this proposal not gaining the required support:

  1. Some of the largest liquidated accounts were using the protocol in a way that is not intended, and displayed behavior not well aligned with the long-term interests of the protocol (aka Recursive farmers, wash lenders)
  2. COMP is a governance token, any compensation should come from the DAI reserves

With that in mind, I have been working on an idea for which I would like to solicit feedback from the community, on its soundness and on if it’s considered worth pursuing further.

I’ve done some work to discern the accounts that were engaging in farming and to what extent if they were. By using the following formula we can quantify this for any Compound user. Let’s call it recursive factor for lack of a better name

Screenshot from 2020-12-18 17-22-36

Where:
t = Tokens the user has borrowed or supplied as collateral
CFactor = Collateral factor for the token in question
Supply,Borrow = Self descriptive for the token in question and converted to Dollar value

A couple of examples might help to illustrate how this works out:

  1. Alice supplies 10M DAI, subsequently borrows 7.5M DAI, then recursively does this again and again, and ends up with a total supply of 40M DAI and total borrows of 30M DAI. The collateral factor for DAI is 0.75, so Alice would have a recursive factor of 1
  2. Bob deposits ETH for 10M worth of value, borrows 7.5M DAI, exchanges the borrowed DAI for ETH, which he again deposits to the protocol for another DAI loan, and so forth until his account ends up with 40M worth of ETH supplied and 30M worth of DAI borrowed. Bob is leveraged up on a long ETH and short USD position. His recursive factor is 0

What determines the recursive factor is not how leveraged up a position is, but what proportion of their supplies and borrows are in what we could call “wash loans” which serve no seeming purpose other than farming COMP. So for the purposes of this metric, all stable coins in the system are counted as a single asset. Another example might illustrate this point:

  1. Carol supplies 10M USDC, subsequently borrows 7.5M DAI, exchanges the borrowed DAI for USDC, then recursively does this again and again, and ends up with a total supply of 40M USDC and total borrows of 30M DAI. The collateral factor for both DAI and USDC is 0.75, so Carol would also have a recursive factor of 1

I analyzed all the liquidated accounts using this proposed metric, and have created a spreadsheet with the results. The columns in green are there just to demonstrate the formula described above. All the supplies and borrows are using coingecko USD prices for the day of the liquidation event, except for stable coin prices which I fixed at $1, and all account values are taken from a snapshot at block 11332733 which is 1 block before the first liquidation. I’d of course happy to share the code used so that it can be properly audited by the community.

A summary of the results is that out of 122 distinct liquidated accounts, 87 have recursive factors of basically 0, and only 29 have a recursive factor greater than 0.50.

I also added a column that computes one possible compensation scheme based on this recursive factor that results in a total compensation of 2.22M as opposed to the 6.8M originally proposed. There are other ways to use the recursive factor to compute possible compensation, and I don’t think this one is necessarily the ideal one, I added this one simply to get an idea of how much recursive farming could impact the proposed compensation.

It’s worth noting that both the supply and borrow columns for assets have been converted to USD value using the coingecko prices for that day, and the supply columns have been multiplied by each asset’s collateral factor

The spreadsheet in question can be accessed here

I’ve also made a simple web app that generates account history charts, as shared in my posts above, and also computes the recursive factor for any account, which can be accessed here (It requires a browser with Metamask).

In addition to sharing the code used for this, there is further possible work that has been suggested by different members of the community, which might also be relevant for deciding on possible compensation schemes.

  1. Calculate the prices of liquidations, as some accounts that had non-DAI collateral seized lost more than the 8% liquidation incentive.
  2. Calculate what accounts would have gotten liquidated on that day due to other collateral assets crashing in price, had DAI remained at parity with the global market price, and to what amount they would have gotten liquidated if that is the case
  3. Check if there are other accounts that might have gotten liquidated due to the DAI price, but for which the liquidator might have repaid a non-DAI loan. These would not have been included in the originally shared liquidations spreadsheet.

I appreciate any feedback here, and if there’s some form of soft approval from the community, and no important issues with what I’m proposing, I’m happy to continue work on next steps, including possibly creating a new formal compensation proposal.

Finally I’d like to sincerely thank @kybx86 for getting the ball rolling, not only on a proposed compensation, but I think more importantly on starting to address the issue of DAI market risk the protocol currently faces.

7 Likes

I’m a fan of all of these

  1. Calculate the prices of liquidations, as some accounts that had non-DAI collateral seized lost more than the 8% liquidation incentive.
  2. Calculate what accounts would have gotten liquidated on that day due to other collateral assets crashing in price, had DAI remained at parity with the global market price, and to what amount they would have gotten liquidated if that is the case
  3. Check if there are other accounts that might have gotten liquidated due to the DAI price, but for which the liquidator might have repaid a non-DAI loan. These would not have been included in the originally shared liquidations spreadsheet.

They should be trivially computable from the transactions, and seem fair.

3 Likes