@getty How much liquidity do you think there is? We ran the earlier sims with an assumption of 258mm volume and the results were still clear - WBTC poses a huge risk to the protocol. We can talk about exchanges all day but the question is - why do you think the protocol is safe? Sure, we can add more features to our model, but shouldn’t the protocol move forward with the best information it has? The question I have for people who oppose this is not “what features should we add?” but “how could you possibly think this is safe?”
Stepping back for everyone reading this thread, I want to explain the scenario where the protocol loses money. If any loan goes to liquidation and the collateral value (minus the liquidation incentive 8%) is below the value borrowed, the protocol will take on losses. An asset with 75% CF has ~17% of wiggle room. Although, once a loan goes to liquidation, it will likely be eating into a portion of the 17% cushion immediately.
For the protocol to lose money someone needs to have a loan reach the liquidation point, for there we either need a liquidator not to liquidate or we need the market to gap ~17%, and then the protocol starts taking on water. I am not going to say this is impossible, but it is very unlikely. Liquidators are highly incentivized to liquidate loans, and users are incentivized not to get liquidated. The primary concern that users/protocol can’t control is if the market does, in fact, gap ~17% in 10-30 minutes.
Having worked in crypto full-time for the last +3 years as a trader, I have seen significant volatility and understand the danger of cascading liquidations. I have also seen the market rapidly mature and develop liquidity.
Why do I think it is safe:
The available liquidity for WBTC onchain and offchain is unmatched by any coin on Compound other than ETH & the stables.
I have researched the primary WBTC accounts, and they are all far away from liquidation, and I know many of them will go to great lengths not to be liquidated.
I have minted and burned significant amounts of WBTC and am familiar with the significant OTC players.
I have researched and participated in many of the WBTC onchain and offchain exchange/pools to know what is and isn’t possible.
I deal in reality and function and less in theory. With the state of WBTC liquidity and the state of accounts using WBTC on Compound, I think it is safe. Are we taking a risk, yes. It is a risk worth taking, yes.
If I had more time I would love to write a more detailed post, maybe next time this goes to governance I’ll try to write something more formal.
My primary concern is that the oracle price does gap, which causes underwater loans and protocol debt. That is why I am pushing for oracle improvement because the current Coinbase and poster situation is not acceptable.
I’ll go as far as to say that hoping users top up collateral during a downturn is not a great way for the protocol to mitigate risk.
These anecdotes are helpful in understanding your experience, but to be clear, we at no time intended to question anyone’s expertise as a trader. What we are trying to do is build the best model possible, over time, and get community feedback while we do so. I think one piece of feedback that is clear is that we should include liquidity from Curve, and we’ll continue to look into that.
Now our model focuses on liquidation cascades, which are a real concern given the quantity of WBTC on Compound. While you present interesting feedback on our model, it’s not clear to me how you have taken into consideration these cascades or any of the other things we included, like gas price spikes, price correlations between borrowed and lent assets, etc. We know our model is no perfect - not model is - but it feels the counter argument is to throw the baby away with the bathwater in favor of finger-in-the-air reasoning.
I don’t take your comments personally, so no concern there. I know we all want what is best for the protocol. I kind of treat it like arguing with friends/family. We might get a bit dirty and harsh but generally, we all like one another.
I truly wish I had the time and resources to build my own risk model so it does seem like “finger-in-the-air reasoning” because I certainly don’t feel like that is what I am doing but I can understand if that is how it comes off. I care deeply about these parameters and understand that what we do with them can have big implications.
While I haven’t built a model to handle gas price spikes, looking at price correlations and user’s accounts is fairly easy to do. As complicated as this process might seem only a few things really matter: users’ accounts, liquidity, and liquidators.
We should focus on protocol growth and robustness instead of limiting it. I believe we can grow the protocol and make safer at the same time.
Actually, i would like to suggest different approach with WBTC situation. There’s one thing i don’t parlticulary like about WBTC on-chain liquidity, is that ever since Uniswap introduced WBTC-ETH pair to their liquidity mining program, that became main focus, and most incentives introduced later incentivese that particular pair.
And of course, everybody like it, btc and eth grow together, fees from trading accumulating and some incentives are on top. All great till it drops. And we know when it crashes it crashes all together. That pair isn’t really ideal for Compound liquidations, and since Compound WBTC market is so big, it actually create risk for all DeFi ecosystem. If Compound WBTC market could be pushed into liquidations deep enough, it can potentially send all DeFi on a quick ride to goblin town.
To create some sort of stability anchor for facilitation of liquidations Compound needs liquid enough WBTC-USDC pair on-chain. Like hundreds of millions size.
I would advocate for Compound to create liquidity incentive program. To decrease distribution of COMP from USDC and DAI markets, and forward that portion to staking LP Uniswap WBTC-USDC. I think that is in best interest of Compound, as well as DeFi ecosystem overall.
So I know there has been a lot of talk about liquidity assumptions, so we went and updated our data input pipelines to just assume much more liquidity for WBTC (350mm as opposed to 120mm):
If liquidity is actually much better than we assume, then the expected WBTC losses to Compound in a Black Thursday event are around $40mm instead of closer to $100mm. But this is still more than 10 times the risk across all other assets combined.
A couple of points, some may have been repeated in some form by others:
- Your model seems to be extremely sensitive to liquidity assumptions and your liquidity assumptions seem a bit off to me. Baseline you have COMP ($140MM) as having more liquidity than WBTC ($128MM) and UNI ($610MM) having 5x more liquidity than WBTC on chain. Checking 1-inch right now, WBTC has far lower slippage than either asset for large transactions (a $50MM trade to USDC incurs 14% slippage for WBTC, 40% for UNI, and 73% for COMP). This seems to be the biggest weakness in your simulations in my opinion. Going from $128MM to $350MM is a good step but arguably, WBTC should be rated at a liquidity level above UNI.
An additional consideration on the liquidity front: WBTC is a proxy asset off-chain because for most exchanges, people would prefer to trade BTC directly rather than WBTC. People only trade WBTC when they want to shift dollars or BTC onto the ETH chain. So WBTC has infinite ‘shadow’ liquidity because liquidators can hedge WBTC risk with BTC reasonably well, although during a stress event, that may be less true.
- Regarding your simulation mechanics, is it happening at the account level or the aggregate protocol level? I think the former approach would be a fair bit more accurate depending on the distribution of collateralization among top accounts.
Overall, I think you make a reasonable point that Compound is taking on some extra risk with WBTC but I don’t think it’s as drastic as you think it is. And as a common sense test, assigning WBTC a factor of .6 or .65 (equivalent to BAT or ZRX) seems off as WBTC is probably more liquid than either asset by an order of magnitude at least.
I think the real risk you’re highlighting is the size of the WBTC market, so you may want to consider managing risk by targeting that variable instead.
That’s not really good argument. You see, thing is in the event of liquidation, liquidator need to quickly sell WBTC, not BTC, as that’s what they get from collateral, and while technically it’s possible to directly redeem WBTC for BTC and vice-versa, even non-custodial, via RenVM, it takes some time, so liquidator need to have a lot of capital and willing to take bigger risks to be able to actually use that strategy. Usually it’s not the case, liquidators turn to go for “quick buck” by selling ASAP, getting their comission and be done with that. It’s not the most efficient, and likely not the most profitable way to do it, but it is how it is now. Thus they commonly sell literally at bottom and use huge gas fees also, sometimes far above any reasonable level (like customer pays, so who cares).
As for comparison with BAT and ZRX: size matters. WBTC dwarfs BAT and ZRX in size, even if you combine BAT and ZRX together and multiply it by 9, you still wouldn’t reach size of WBTC collateral. So it presents much more complicated task at liquidation.
Gauntlet simulation assumes there might be a need for market sell several hundreds of millions of WBTC, and trick here is it shouldn’t push price down that much, so 25% margin, collateral have, would be enough to cover liquidation and fee.
There is good reasoning behind Gauntlet concerns after all, even if we believe that their model isn’t quite accounting for on-chain liquidity.
And i think if they wouldn’t try to push it too much and too fast, it would get much more community support. We all can agree that after all, WBTC liquidity isn’t quite good as ETH. Just for a simple reason that very big chunk of on-chain WBTC is tied to ETH, rather than to stable coin. So there going to be another hop, through ETH to reach stable coins, and ETH would be falling too in simulated conditions.
I think it’s surely reasonable to decrease CF for WBTC from 75 to 70 just to get bigger margin in case of market crash. (actually it would probably be better there to begin with, and not going to 75 increase at all)
And maybe even from 70 to 65 as a followup, though i feel less certain about second decrease.
You see, in theory, after such a big runup, we should expect people taking more caution, and keeping less leveraged positions, but even if decrease to 60% CF creates about 30M of liquidations already it’s clearly not the case. 30M might not look big in comparison to overall market, but market sell even of that size would still create noticeble down price movement.
In my opinion it was a bit shortsighted from you to include the WBTC parameter update in the same vote as the ZRX and BAT adjustment, considering that the WBTC parameter was just recently adjusted and the ZRX and BAT adjustments failed.
It would not surprise me to see this vote fail because of exactly this reason. Please consider to split numerous adjustments in separate votes in the future, especially if they alter recently deployed changes or include recently failed votes, as this will reduce obscuration and give a clearer picture of sentiment of voters in the protocol.
Consider this also in regards to the health of the protocol, as your deployment of this vote will now delay future votes until this one has passed, and we will be starting again at square one, without a clearer picture of why exactly it failed (if it fails), other than to go by the forum sentiment.
One thing to note - we can only propose changes every five days. This is how compound governance works. There are over 50 parameters controlled across the 8 lending markets (9 incl. USDT) and you need to change these more than once or twice a year.
The community needs to be able to vote on what’s best for the protocol. If on principle, you only vote for changes that affect one parameter at a time, you will be most likely voting against the best interest of the protocol. It’s not a vote against the changes, which would be fine, it’s a vote for stasis
Even if that were true, there’s is also more than an order of magnitude more WBTC in the protocol. It’s the relative liquidity that matters, not total.
Would it be possible for you to post your graph trying out a range of WBTC CFs? Maybe 50%-80% on 5% increments?
Edit: I was trying to reply to message 25 in the thread.
Not sure what exactly you mean, or even if we can do that in the next few hours, but happy to try once we have clarity. Also we can definitely try to include this information next time!
Polychain will be voting in favor of (FOR) Prop. 039.
Prop 039 puts Compound in a less than ideal situation. Either 1) We liquidate some users and reverse prop. 036 that was voted on only a few weeks ago, or 2) we leave the WBTC collateral factor where it is & ignore data suggesting that the protocol could become underwater in volatile markets.
We see #1 as the lesser of two evils. Security of the protocol is our top priority. The data here sufficiently demonstrates the notable risk posed by a 75% collateral factor, and as such, we are in favor of a collateral factor reduction. While this may end up liquidating users who don’t adjust collateral in time, this is a tradeoff we should be willing to make to ensure protocol security. (Forced liquidations shouldn’t be taken lightly, but the reduction to 65% seems like a good middle ground.)
Setting collateral factors is about optimizing the tradeoff between safety & capital efficiency. There is an argument to make that, in light of certain risks, higher collateral factors may be justified to support growth/competitiveness. We’re open to more discussion on this to find the right balance. In this case, given the risks presented, we believe it is best to err on the side of caution.
This vote also brings up a number of issues worth further consideration (as have been discussed a bit in this thread): 1) Collateral factors shouldn’t see this much volatility; we need to iron out the process for setting these. 2) In extreme cases, when collateral factors need to be reduced, we need a more graceful method of deleveraging users who would otherwise be liquidated. 3) We need better pre-vote signaling to divide proposals into controversial issues that need to be separated & uncontroversial issues that can be bundled (we should start doing more of this through the forum).
At this point it really doesn’t feel that this proposal in current form should be pushed. Primary because of expected forced liquidations, not because of the direction of action.
If that proposal leave ZRX and BAT aside of that controversal topic and was only to decrease WBTC CF from 75 to 70 i’m sure it would have much more support than it currently have.
Maybe it makes more sense to let it fail, but instead use your massive voting power to create less radical proposal with WBTC CF going from 75 to 70, which majority could actually support.
Putting users into liquidation with the argument that there is a possibility that protocol potentially might become insolvent in certain market conditions doesn’t feels like a good practice after all.
I believe it would be much more productive if Compound governance utilised snapshot voting to actually shape details of proposal prior to proceeding with proposal.
The potential for liquidations is a concern, and we would prefer to see collateral factors change more slowly, but we agree that this is a significant risk for the protocol. We are voting in favor.
It would be great for a more transparent accounting of on-chain liquidity to allay concerns that the analysis is incomplete.
Thanks Gauntlet for rightly elevating this risk to a vote.
Here’s a report one of my colleagues on the MakerDAO risk team prepared recently. Digs into qualitative factors of WBTC liquidity and redemption cycle, and may offer some additional context for setting risk parameters.
Liquidating the users’ position via risk mitigation proposals is a horrible UX and will drive users away from the protocol. This is a competitive land scape and we as a community need to prioritize users.
The WHY matters – thanks John and the Gauntlet team for shedding light on your reasoning, though there are still lots to discuss, you guys are doing an admirable job presenting your case.
The HOW matters even more – we can’t dismiss users and liquidate their positions. We can’t present Compound as an unstable protocol that changes key metrics every few weeks and affect users in the process.
The risk should be mitigated but this is not the way. I’d like to call upon delegates who have yet to vote to step in and save the protocol’s face. We can mitigate this in a more methodical approach.
We can execute better than this.
Firstly, I want to highlight the growth in interest in community governance over the past few months—the number of substantive comments here is incredible to see. I believe that we all care about users and forcing a user into liquidation is terrible and should only be done as an absolute last case scenario. I hope that future proposals concerning protocol economic risk will have analysis to this extent and that we will be pushed to improve protocol infrastructure around risk management.
Something which comes to mind is supply caps—being able to monitor the rate of inflow into the protocol is essential at this stage. I’d be happy to implement it if there is community interest.
With a16z and Polychain support that looks like it’s a pass regardless.
I guess now it becomes important to higlight upcoming CF change after it pass as much visible as possible, so anybody potentially impacted could adjust their positions in time.
And i would like to specifically mention, that whoever is having a collateral with volatility like WBTC, and utilising it to such extend, that is put at liquidation at just 10% CF change is doing it wrong. Such risk isn’t worth a potential reward, and they really should take a deeper look at their position and either increase amount of collateral, or decrease amount of borrowing, even if that particular change not liquidate them immediately, but put them very close to it.
Governance can’t and shouldn’t babysit every user, and while we all try to minimise negative impact to users, but in general personal risk management is what users should do themselves. Compound is a tool, and like every tool, needs a skill to be used efficiently.