I’d think that having a fixed cover fee would make it even more difficult for market forces to balance things out. You’ll essentially have a “take it or leave it” situation where the outcome will be very binary. There will either be an oversupply of insurers (when the cover_fee is too high), or an excess demand from insurees (when the cover_fee is too low). Either situation will result in an impasse as “price discovery” (in this case price being the cost of insurance) is hindered.
The flexibility is particularly important for a new insurance like Ozone as nobody really knows how to price the risk it is insuring due to a lack of “track record”. As @roger is pointing out, a 50% yield cut is absurdly high, but I could argue that giving up 10% of your anchor yield is perfectly fair if we start to realize that there is a real risk that you could lose 30% of your capital every 3 weeks (of course this is purely hypothetical).
That being said, I actually agree with you that cover_fee = min(cover_fee_max, 1 / u(CV)) doesn’t really make sense. In my head I’ve always read it as cover_fee = min(cover_fee_max, u(CV)).
For example, if a CV is “over collateralized” [val(UST deposit in the CV) = 1 and val(oUST in CV) = 3]
- u(CV) = 1/3 and 1/u(CV) = 3
- The fee would be min(0.5, 3) = 0.5
However, if the CV is “under collateralized” [val(UST deposit in the CV) = 3 and val(oUST in CV) = 1]
- u(CV) = 3/1 and 1/u(CV) = 0.33
- The fee would be min(0.5, 0.33) = 0.33
It seems odd that when a CV is under collateralized it gives a lower yield. The protocol should be working to attract more people into that CV.
If you read it as cover_fee = min(cover_fee_max, u(CV)), the best outcome for insurers occurs when u(CV) = max_cover_fee = 0.5. that’s when val(UST deposit in the CV) = 1 and val(oUST in CV) = 2.
This would mean that as a pool gets over-collateralized, the cover_fee will drop accordingly (e.g. 10x overcollateralization = fees of 0.1). Of course, all this is based on my previous assumption and I might be totally wrong about the mechanics.
To your last comment,
I believe the 1 year lock-up will mitigate this problem at the start, but we’ll probably need another mechanism to keep rewards sufficiently high to ensure that insurers do not pull money out immediately after 1 year. For now, $OZ incentives will likely do the job for the first 4 years.
Beyond that, the underlying price of risk will determine whether this is a feasible model and I believe there is a market clearing price for this (different risk tolerance of insurers/insurees). We just need to be sure that the structure put in place is flexible enough to facilitate this risk transfer, and build trust and confidence that the protocol is able to do this efficiently.