Implement partial liquidations instead of liquidating all collateral at once to bring position above a Target Ratio. This will greatly enhance efficiencies in capital use in DeFi and protect users much better from losing everything
Context and Current Situation of Liquidations in TradFi and DeFi
When Collateral Ratio on Margin Positions goes below Minimum Ratio, a portion of the Collateral is liquidated to pay off enough debt to get back above the Min Ratio.
One single event cost you a portion of your collateral
When Collateral Ratio on Margin Positions goes below Minimum Ratio, ALL the Collateral is liquidated to pay off ALL the debt.
One single event wipes the position out (e.g. Oracle behaves erratically)
The DeFi approach is very efficient and secure for the protocols, but extremely dangerous and inefficient for the user. There is no margin for error in DeFi other than always monitoring your positions or staying way above Min Collateral Ratio.
This is relevant in general for any collateral, but very relevant for ~Stable Collateral (e.g. in Ethereum, for Yearn Pools that use Stable Coin Curve Pools), where it is expected that the collateral is stable and increasing.
In a big down movement this would probably not protect users as the price of collateral may continue to go down, but it may provide time to users to shore up positions.
Proposal to improve Liquidation Approach
The proposal is to implement partial liquidations instead of liquidating all collateral at once to bring positions above a Target Ratio.
It’s true that a full liquidation is safer for the protocol in a way because we no longer have to worry about a troublesome obligation being under-collateralized in the future. But full liquidations also have disadvantages to the protocol:
Flooding order books with too much volume affects exchange liquidity in a way that may make future liquidations more difficult.
In extreme circumstances, with sufficient market share, influencing prices could even trigger a chain reaction by causing additional obligations to become unhealthy.
Liquidations immediately reduce the utilization ratio, i.e. fewer borrowers and unfavorable interest for lenders. With no borrowers, the protocol is effectively dead.
Partial liquidations are a trade-off though:
Many liquidations may be needed for the same obligation which burdens the liquidators and they may have trouble keeping up with a major market downturn, which is a risk to protocol solvency.
If full liquidation is eventually necessary, doing this with many successive partial liquidations would mean the user loses more collateral than a single full liquidation.
The implementation is more complex.
I agree this is worth putting some more thought into. We definitely want to make Jet as painless as possible to use. Better UX means more users which benefits the protocol.
I don’t think we should liquidate the bare minimum to get an obligation healthy though, because there is a high probability of it becoming unhealthy immediately and requiring liquidation again. Maybe there is some compromise where we can get an obligation to be very healthy but not fully liquidated.
Partial liquidations are actually permitted, just not required. The liquidator (which can be anyone) chooses how much to liquidate. The way this would need to be implemented is by restricting the amount of collateral a liquidator is allowed to claim in a single liquidation instruction. We would also need to make sure that the liquidator doesn’t repay too much debt by accident, which is something we want regardless, but it becomes especially important to handle correctly with this additional complexity.
Note: Strictly speaking, the current implementation is actually already split into partial liquidations for obligations with multiple collaterals or multiple loans. Only a single asset pair can be liquidated at a time. Once that liquidation is completed, the obligation must be deemed unhealthy again before further liquidations can take place.
I def support partial liquidations, if it can be built easily enough. I have been liquidated on compound before, and I was def only partly liquidated. Makes sense to do this if possible, because if nothing else it helps retain users of the protocol.
Definitely support partial liquidation with the idea of creating a large enough buffer to prevent another immediate partial liquidation. haha. Perhaps it liquidates enough to give a “new” 15% buffer. Although I realize crypto assets can blow through 15% rather quickly this or 20% seem like reasonable numbers :).
Agree that partial liquidation is the way to go. Full liquidation is too harsh on the borrower.
Look at how Mango does liquidations, 120% collaterization is considered healthy and over 120%, you can borrow more. Under 120%, you are considered at risk and can’t borrow more, at 110% you are liquidateable and liquidated until you are back to 120%.
This keeps the protocol safe as long as their are liquidators and only selling enough collateral to bring a borrower back to 120% doesn’t harshly punish a borrower when it’s a quick market downturn.