ZRX,BAT, and WBTC Parameter Update

We’d like to continue our efforts from last week to update parameters in the protocol. There was little on-chain opposition to our proposal but we failed to reach quorum and will be re-proposing along with our next change, to lower the WBTC collateral factor. We also got some great feedback from the community that they wanted to see more data from our stress tests and analysis, which we’ve included below. Obviously, higher capital efficiency for WBTC is something users really wanted (as we saw from the support for the proposal) but we believe this creates an untenable risk in the protocol.

In our next proposal, we plan to change the collateral requirements for ZRX, BAT, and WBTC.

Collateral Current collateralFactor Recommended collateralFactor
ZRX .60 .65
BAT .60 .65
WBTC .75 .60

As we mentioned on Twitter recently, an increase in volatility for WBTC and the overall market has increased risk substantially across many defi protocols.

Currently, outside of the circular borrowing with DAI and USDC, much of the collateral on Compound is ETH and WBTC being used to borrow stables:

While there are similar levels of usage for both ETH and WBTC, ETH has much better liquidity, and poses less risk. On our dashboard, we track a few relevant statistics to collateral safety:

One of these, which is admittedly a bit hard to grok, is the liquidity ratio. This is the ratio of the Real Daily Volume of the asset to the total amount of that asset used as collateral on Compound. Right now, that ratio is 1:5, which means that if markets were to take a tumble, Compound could attempt to sell 5x the current daily volume for WBTC in as little as a few hours. Now many people would say this sounds difficult, but the only way to understand if this could be done safely is to either 1) try it or 2) simulate it. Since option one is financially infeasible, we chose to try option two.

We have run thousands of simulations across a wide variety of price trajectories, but with updated data since our last post. The tail risk of WBTC continues to increase. We’ll focus on the main output of the simulations, which is “Net Insolvent Value” per collateral type. This is highly dependent on price volatility, which we vary across the x-axis below. A “Volatility Scalar” of 1 means that the stress tests used price paths that matched the historical volatility of each asset, a scalar of 7 corresponds to price paths that are 7 times as volatile as recent asset prices. For reference, the historically bad volatility of March 12/13, 2020 corresponds to a scalar of about a 7. In the graphs below, we show two sets of sample simulation price trajectories so you can all have a clear idea of what this looks like.

You’ll notice that in the prices move together - this is because price trajectories are parameterized to match historical correlations. The expected loss to the protocol in an extreme market event has more than doubled since we first raised concerns:

This is due to adverse liquidations in the WBTC market. In our sim, you can see that the majority of protocol liquidations happen in the ETH and WBTC markets, but since ETH has so much better liquidity than WBTC, these do not contribute strongly to the risk of insolvency:

@sirokko recently asked how we estimate slippage for liquidators, and while we briefly touched on it here, I wanted to elaborate on that. We use Coinbase data to determine the order book structure, which fits the curve we use for slippage. We then scale that by a factor Real Volume / Coinbase Volume to create a curve that represents the entire market. The volume on Uniswap is included in this, however assuming x*y=k style slippage in the market is a very conservative assumption. In fact, we’ve tried this, and then the simulation sees insolvencies in even pretty normal (but bad) market conditions, and we know that not to be the case, so we continued to develop our model that fits and scales real order book data. One thing that we do consider here are gas fees. We add gas price and transaction delay implications by building gas distribution curves on three month trailing data, and use random samples in our liquidator logic. In addition, we fit expected transaction delay times to liquidation calls.

We plan to create another proposal through the governance contract later this week, once people have had a chance to provide feedback on these proposed changes.

9 Likes

While i’m not opposing this proposal, there are several thinghs i wanted to higlight, hopefully for better picture.

For ZRX and BAT market this increase risk-taking ability for users, which i still think now isn’t a great time to allow in current market situation. However, taking in account the size of markets, and relatively small change introduced (proposed number of CF is still very conservative) i’m willing to take Gauntlet arguments, that it’s going to be fine.

For WBTC market though, since it’s involves decreasing collateral factor, i would like to see some sort of estimation of impact on current borrow positions before that’s put into vote. I believe no government decision should by itself put users underwater. So if decreasing CF put considerable amount of users into liquidation, or close to liquidation than it should not be executed. Or at least executed gradually, slowly taking CF down in several steps, rather than in one big cut of 15%.

In that particular case, while i don’t quite share Gauntlet concerns about how bad liquidity of WBTC is, in current market condition having more conservative CF would indeed reduce amount of potential risk for protocol, and for users as well. That’s why i do not feel strongly against decreasing CF here, though, i would probably suggest it higher than 60% still.

Now why i still not convinced by results presented by model. I would like to see model accounting for on-chain liquidity, rather than just looking at daily trading volume.

Here are just simple reference numbers.

WBTC supplied to Compound : $2186M

WBTC/ETH LP Sushiswap: $1007M
WBTC/ETH LP 1inch: $553M
WBTC/ETH LP Uniswap: $416M

There’s hardly a liquidity problem to liquidate like even 30% of Compound WBTC supply using exclusively this 3 DEXes and not touching CEX liquidity at all. And i, by the way, think that if we see like 30% BTC price drop within a day, liquidations will go in majority via DEXes, rather than CEXes, as in times of violent price movement (especially downside) we could easily observe how they either completely go down or “experience degraded perfomance” making it not so much suitable as a liquidation instrument.

6 Likes

If we dropped the CF of WBTC to 60% again, these 7 accounts would immediately be liquidatable, the top 5 hold about 26M in collateral right now:

[‘0x4815b52fee7a689b000958bec010720d210377c1’,
‘0x6513b81d8240cb94abc089f2cba60be6fda2f805’,
‘0x8877889ff4a0fa0415d7572cbc871ede200e2f78’,
‘0xc8ebbaaad5ff2e5683f8313fd4d056b7ff738bed’,
‘0xfa8c56fd100c7c55ef39e0af075c618b59714f91’,
‘0x90df02383e534ad007c27c673a4bfb92a1e6ba38’,
‘0x96cb9c8d4d180b024274748b51fc18336d327e21’ ]

We absolutely want to minimize impact on borrowers, and that’s one of the reasons we built this dashboard. Hopefully, borrowers who are pushing the limits of their collateral positions will be paying attention to governance at the least, but this dashboard should give people a further heads-up on changes. Changing parameters is essential to protocol safety and success over time, and while there are tradeoffs with the UX for users, we will continue to do what we can to make those tradeoffs as positive for Compound as possible.

Re liquidity assumptions, If you were to imagine liquidating a mere 50mm of BTC on Uniswap:

You’d see a >20% price impact. This would push many other positions through the liquidation threshold. It’s not that our model doesn’t incorporate on-chain liquidity, it’s that looking only at on-chain liquidity is not a good assumption on this scale.

1 Like

Yes, that’s quite what i mean when i said the model should account for onchain liquidity.

Your example with Uniswap follow that, but intentionally or not, you selected a place with lowest WBTC liquidity on chain for your example.

Let’s take a look at sushi:

But considering you want to deal with millions i seriously doubt anybody would use just a single pool of liquidity, so here is the same trade on 1inch, routed through several pools:

Of course, telling that on-chain liquidity is only thing we should care was never my intention. I very much encourage using as much data, as available. The only thing i want to say, it shouldn’t be ignored either, as it is not negligble anymore. And volume at DEX is not good enough as ONLY metric, as they hold much more liquidity, than their daily volume is. Especially if we talk about suchi, 1inch pools, where liquididy is incentivised. Daily volume is a small fraction of their liquidity, most of it just sit there without trading. (untill price spike happen)

To make my point really short and simple. If we say:

a) ETH have no problem with liquidations (as shown by your model)
b) WBTC have no problems in converting to ETH (as delivered from onchain liquidity)

Then if A and B is true, than

c) WBTC should have little problems with liquidations also.

Of course, there is additional step and transactional expenses, so it might not be as good as ETH, but certanly not 10 or 20 times worse in liquidity.

That’s not said to say that decreasing CF for WBTC is bad idea. It might be not. I believe after so many X in price some tokens done, lowering risk might be appropriate, even if it’s somewhat enforced on users. I just want you to maybe take a look at your model from outside perspective. Maybe DEXes, should not be just a single daily volume metric, and dex liquidity is not exactly quite same as cex orderbook either.

1 Like

@jmo Is this the correct takeaway from your simulation results?

If we do nothing, and the markets are only as volatile than they have been in the last twelve months, then:

  • We should expect an event in which about 7% of the 2 billion dollars of WETH in compound is liquidated.
  • Since a portion of profit for liquidators can come from the compound pool itself, this could negatively affect the solvency of one or more compound pools?
  • This liquidation event would have a very large, rapid, and self-reenforcing negative effect on the price of BTC worldwide.

Is this in the ballpark of what you were intending to convey?

2 Likes

Given “black thursday” levels of volatility, we expect the WBTC market on average to become underwater by 7%, much more than that would be liquidated. We’ll probably post some stats on the current liquidations once we get a chance as well.

2 Likes

I support raising the CF for ZRX & BAT. I do not support decreasing the CF for WBTC.

WBTC is the most liquid coin on the Ethereum ecosystem that is not a stablecoin or ETH, and the CF should reflect that. Like one of @Sirokko’s points, I think Gauntlet’s models are not fairly taking into account the onchain liquidity available.

The top 10 cWBTC holders account for 60% of cWBTC. The top 100 cWBTC holders account for 91% of cWBTC. The top 10 users are highly incentivized to keep their wallets far away from liquidation, and many are high-sophisticated users. If I had more free time, I would love to analyze each of these user’s accounts because their activity and usage are likely valuable in our decision-making.

I also think the CF should only move in one direction except for emergencies/significant changes to the underlying asset. It will be hard to build a community and user base if governance changes CFs up and down often.

Perhaps we should advertise/support DeFi Saver and other services that protect users’ loans and better provide alert systems.

2 Likes

I don’t think that not reaching quorum should be taken lightly. It is unlikely that many voters did not see the proposal/forgot to vote.

Additionally, I don’t believe that it is ideal to bundle the previous changes along with a change to the collateral factor for WBTC. Just decreasing the CF for WBTC is quite controversial and warrants its own proposal in my opinion.

We should acknowledge that Gaunlet specializes in simulation and their models are likely very complex—far more complex than any anecdotal evidence which is generally offered. I don’t think it fair to say that based on limited research, their models are inaccurate. We should strive to generate parameters based on data attained from stress simulations and algorithmic optimization rather than finger in the air.

Collateral factors do not affect risk of liquidation to the user whatsoever. If there is concern that mass liquidation could cause a system wide shortfall, then the collateral factor is definitely too high. Relying on borrowers to payback in time takes away from the trustlessness of the system.

3 Likes

I love the work that Gauntlet is doing and acknowledge they are highly skilled. Their simulations are certainly helpful for monitoring the risks the protocol has. That being said, I have read their risk reports, medium articles and discussed with them their methodology. In my opinion, as a long-time participant in Compound and generally DeFi, their methodology could better account for the liquidity available onchain. Currently, they focus on traded volume as the best indication for liquidity. Before Uniswap/Sushiswap and other AMMs had significant liquidity, I would have used the same trading volume stat they are using to measure liquidity; however, a significant amount of onchain liquidity has built up in recent months, and purely measuring trading volume is no longer sufficient.

2 Likes

To stay focused on proposal itself, i think it’s worth to mention that despite of discussion going towards Gauntlet model, that isn’t main point of this discussion. I believe concerns, raised by Gauntlet certanly is enough as a reason to discuss lowering CF for WBTC, even if I might not share the scale of that concerns.

I certanly hope that last couple days of market volatility allowed to gather more data, which might reinforce either position.

Than surely WBTC liquidity isn’t quite equal to ETH liquidity, and in light of concerns from the model, governance can and should consider decreasing CF.

The scale of proposed changes should be conservative enough to not put users immediately into liquidation, regardless of “they should know better” arguments.

So, if putting CF from 75 to 60 puts users into liquidation, than change should be more conservative, to prevent it as much, as possible. If 65 doesn’t improve situation either, than we should go with 75 to 70. Which is probably most conservative approach possible. If decreasing CF by mere 5% cause liquidations, i don’t think governance could do anything about that.

Considering market volatility in last couple days, i’d say executing most careful and conservative approach in lowering CF might be appropriate. And certanly likely to get more support among voters rather than big 15% cut. Especially if we remember that increase to 75% was introduced just couple weeks ago, and even if we exclude Gauntlet voting “for” by mistake, still gathered quite a significant support.

And yet, in current market conditions, having somewhat more conservative CF for WBTC than 75% might be appropriate.

4 Likes

I understand Gauntlet is a company and can’t give up the “secret sauce” to their analytical methods. But I’d love to see more specifics on model inputs (+ maybe outputs). Eg for the liquidity and volatility data, which specific sources are used and what is the method of computation for aggregate final numbers. Or any probability distributions of expected losses (net insolvent) so people can understand the nature of the risk to the protocol (eg thin or fat tail).

It’s tough for me to get fully behind the proposal when I can’t inspect the underlying model assumptions.

3 Likes

Hey - we’re looking into the recent liquidations but in the spirit of sharing data, we published some quick numbers to Google Data Studio and made the link public for people who are interested:

We saw some liquidations, but just as a reminder, our stress tests are focused on worst-case volatility, like we saw last March. It was a tumultuous couple of days, but nowhere near as bad as we saw last March. I grabbed this quick chart from BitMex to help visualize:

Definitely let me know if you see anything interesting in the liquidations data!

2 Likes

@jmo

I respect and appreciate your suggestions, which are always backed up by numbers.

This proposal is a big part of Liquidation
I think we should take all possible measures to prevent users from liquidating, including publicizing it on social networking sites and displaying it on the website!

2 Likes

We’re going to move forward with a proposal here. We realize that lowering collateralFactors can cause liquidations and should not be done lightly, however the risk posed to the protocol due to WBTC insolvency is too great not to take action. We’ve re-run the simulations with updated results:

These results show that risk in the protocol continues to increase as volatility continues to stay high and WBTC liquidity actually appears lower than it was last week - our last stress tests assumed 250mm daily volume for WBTC and these most recent results assume ~120mm:

We’ve included all of the liquidity assumptions above as @monet-supply requested. We also have updated our suggest parameters to avoid liquidations, as more people have been taking advantage of the higher collateralFactor.

Collateral Current collateralFactor Recommended collateralFactor
ZRX .60 .65
BAT .60 .65
WBTC .75 .65

By lowering the CF for WBTC to .65 instead of all the way to .6, we can limit the immediate effect on borrowers. Some quick numbers here on liquidations for different values of WBTC:

70: [‘0xfa8c56fd100c7c55ef39e0af075c618b59714f91’, ‘0x1702f2d0df7c99011a690461c34e51bd81cbab48’, ‘0xd762205476ea5649c689a8a703488572c8b3007d’]
Total collateral: 4,729,790.58 USD
NOTE: FIRST ONE IS LARGEST (4.7MM) AND IS RECURSIVE WBTC

65: [‘0x15200b08325069ea4edd0cec4baf75853b200b5c’, ‘0x3f9a8d828ebc441eb1ad6942118586f331454743’, ‘0x51a33a5bba82f8ebd0fe2192a25ca2e60b9dc32f’, ‘0x59149937397a77368a3a37ee359d1ff61d9df011’, ‘0x61f5d50cdf7813190d125c0e32b195c6fc0f6ffd’, ‘0x8877889ff4a0fa0415d7572cbc871ede200e2f78’, ‘0x8fd1fa7ba628a0a170ae53139552dbd1aec9c22b’, ‘0xd749940ac368792ffb33745653cb1e7b7d0b7a17’, ‘0xddef74bd1ef4915546ee9371928123475eb2a354’, ‘0xf14662b6b7edfebe645d783afef03a6ce615dfe0’]
Total collateral: 9,821,799.23 USD

60: [‘0x071341196d71b14f04b84463f9b9b56f3b5ed333’, ‘0x2898e036dcaa7a94ea96761193cbe6c54d587bc5’, ‘0x29664e652ca8f8f2d95de3b33cc0ae7247fc0aa9’, ‘0x39f230c044c2a9a67ae95caac639e67145e533a7’, ‘0x3d624933c49df28059d07f950254abb92aa4dc8b’, ‘0x44428c4cfbe9e319ca00a5d955a417f4b6e080e9’, ‘0x444e01dcb3a1ec1b1aa1344505ed7c8690d53281’, ‘0x505008a654c321d93b7d2ebdf6389aaa876b16ab’, ‘0x5140c2e3be04d48e9b7c5fdf016bbea6a88b2b65’, ‘0x57d1e246d2e32f6f9d10ec55fc41e8b2e2988308’, ‘0x59f075a6a9a11b4437d33c0cddb6f5226a4bea87’, ‘0x63dcafd6b547e7cfb2e67386db3d06d67aa71c49’, ‘0x78b58e4197c04d320a33c582ecc3e7e885f26a58’, ‘0x7cd982fdbeaa7a3d13de73d50e2030fde2aba3e1’, ‘0x815afec2721dc50ca75c633906147a46c439e52e’, ‘0x8626e72944f62aad5d85e60b8d34471f7d5ef980’, ‘0x8b349d17392f266d87d518bf71426b2921cc35ee’, ‘0xb145ed57fdf5b6f4fc7d8ec9a2f03026a218f000’, ‘0xbececc0d46b3f06b0096c6b2bbc6e429fe7bd911’, ‘0xc8ebbaaad5ff2e5683f8313fd4d056b7ff738bed’, ‘0xcc60721776b70023ae3196b3a9994e911aa66854’, ‘0xd28bfaea8c886ff6424141278a928f3cde2741f1’, ‘0xe24286adfc053f76888aa51d9a94f6c1519b4cba’, ‘0xfd4bb054392dcd5acb07be4d9e287c7684c87606’]
Total collateral: 33,722,887.95 USD

Obviously, we could lower the parameter in smaller increments, but as proposals take 5 days, this is too slow as the current risk level is so high.

5 Likes

Proposal is live: CP039!

2 Likes

Just a quick question. Since I don’t see adresses duplicate at 65 and 70 CF, i assume assets for liquidation at 65 CF do not include assets going for liquidation at 70 CF? So basically if CF is set to 65, then we going to put 4 729 790 + 9 821 799 for liquidation?

I still believe decreasing CF in steps is more responsible action: lowering it to 70 first with second followup proposal lowering it to 65 going next would be a better approach.

If timing is critical, than second proposal could be put to vote before first one finish, giving it 24 to 48 hours delay after first proposal put, to give time for borrowers to adjust their positions after execution of first part to avoid being put for liquidations.

As for everything in general i think it should already be put to vote, as not much remained to discuss here really. I think all main arguments are already being presented. I still not really convinced about liquidity assumptions your model gives. As i look at that massive onchain liquidity for wbtc-eth (Uni 355M + Sushi 729M + 1inch 535M= over 1.5B) and it’s hard to believe that even 100M trading volume = low liquidity. Besides for last 24 hours only uni and sushi created 37M+38M = 75M of WBTC trading volume, so 125M doesn’t look accurate at all. Could all CEX combined generate less trading volume for WBTC than only 2 DEXes alone.

Yet, i believe, lowering CF is still good idea, as WBTC market is huge on Compound, and after all the bull run it would be smart to stay on safe side, and decrease amount of risk users could take on WBTC. So i’m for your proposal, just not quite convinced by the arguments of low liqudity.

However, I’d say better be safe than sorry, so if your model say that we should derisk WBTC market, than we should. Maybe your model is somewhat right, who knows.

3 Likes

I’m very happy to see this proposal go live. I think switch to 65% for this was a good compromise on reducing the impact of this change.

1 Like

Can you share what exchange/markets you are using to get the ~120mm daily volume?

Binance
Uniswap
Sushiswap
etc.

The only market with any real volume not included is Curve , which accounts for 10-30mm in volume. So best case, the current collateral would blow through the collective order book 4 times instead of 5 times, which is still, very very bad

Looks like it is missing the below:

  • 1inch

  • Curve

  • Bancor

  • Balancer

  • Dodo

  • FTX

  • Bitgo mint/burn

  • Coinlist