Hello,
This is a proposal to remove the dust parameter from the borrowing module across all chains and for all collateral assets.
Context
The dust parameter for a collateral in the borrowing module corresponds to the minimum amount of debt each position with a borrowed amount should have.
On mainnet, this amount stands at 10,000 agEUR, which means that to borrow agEUR, you need to borrow at least 10,000 agEUR.
On Polygon, this amount is 20 agEUR, and on Optimism and Arbitrum, it is 200 agEUR.
The reason for having such a parameter is to avoid bad debt in all circumstances. The borrowing module relies on liquidations, and if positions are too small to incentivize liquidators to come, well they simply never be liquidated, and they risk creating bad debt for the protocol where the value of the collateral becomes inferior to the value of the stablecoin debt.
While theorically all lending protocols should have a dust parameter, setting a dust also makes the UX very bad for users. It creates frictions for users which want to borrow small amounts and makes the protocol not affordable at all or usable at all by a wide range of DeFi users.
Proposal
The proposal here is to set the dust parameter to 0 for all the collateral assets of the Borrowing module across all existing chains.
Implementation
Doing this upgrade implies upgrading the implementation used by the VaultManager
contracts across all chain, since dust parameter is an immutable variable in the code.
Value to the protocol
Removing dust should eliminate a lot of the barriers for borrowing agEUR. It should reduce the friction faced by users when dealing with the Borrowing module of the protocol. While the borrowing module relies on a tech that is supposed to be more advanced than Aave V3 or other lending protocols, it hasn’t been used to its full extent as it should, and these dust parameters are probably one of the reasons for this.
Risks
This proposal does not come without risk as it may lead to the creation of bad debt within the protocol.
This dashboard for instance shows what bad debt different lending protocols have.
Average bad debt for a position which has bad debt on Aave is $100, it’s $388 on Compound and $7.6k on Maker.
If bad debt was to be accrued across many positions, it would most likely be only small positions so that it does not really affect the overall health of the system. The protocol’s liquidation mechanism is coded such that liquidations can be batched. As such, if positions are not profitable to be liquidated individually, it may be profitable to liquidate them jointly in the same transaction. This means that if the protocol started to accrue many positions with a bad debt, some liquidator could simply batch-liquidate them all.
We’ve made a simulation of the costs/profits for liquidating, the cost of an attack that would consist in creating many small positions, the scale costs made by liquidating multiple positions in the same tx.
Conclusion is that attacks cannot be profitable and that risk of accruing too much bad debt with the protocol is really limited.
As always, please comment any input you might have!