Hi folks, I’ve been involved in this forum for almost a year now, and am building Celo.Tax .
Summary
- I see a risk that Celo stables get undercollaterised in the case of a market crash.
- Adding an automated reserve liquidation mechanism would provide significantly increased security for cStables.
- I would like to consider proposing a CGP to direct efforts towards how such a mechanism might be implemented (or even better, propose a CGP to add automated reserve liquidation - it’s just I need technical help to come up with a concrete proposal).
Big Picture on Celo
My three biggest technical concerns with Celo are:
-
Rising gas fees if/as transaction volumes go up. [I’m assuming things will get clogged like Ethereum is now, although I know things like Narwhal are in the pipeline].
I don’t see this as a near-term (12-month) issue
-
Risk of a network attack as there are relatively few validators.
I think (although I don’t really know) that validators are generally community aligned right now, and so this is more of a medium/long term risk.
-
Celo stables lose their peg because the reserve gets undercollateralised.
This is my biggest short term risk because all it might take is a crypto market crash.
Background on Celo Reserve
- At the time of writing, the Celo Reserve has a collateral ratio of about 5-6 times the issued amount of cStables. (63% of this collateral is Celo, the rest is mostly Bitcoin and Ether).
- If crypto prices dropped to March 2020 levels (or worse, 2017 levels), it’s conceivable that stables would become undercollateralised.
- There are mechanisms that kick into play as the reserve drops (such as a Tobin tax on transactions to replenish the reserve). My view - and I understand others may disagree - is that there is no assurance these mechanisms would stop the slide of CELO price, which ultimately underpins the reserve’s collateral.
- As I understand, there is no automatic liquidation of the reserve as the value of reserve tokens drops below a safe threshold.
The value of a liquidation mechanism
- This is a technical area beyond my full understanding, but I know that MakerDAO (DAI) automatically liquidates collateral if the collateralisation ratio falls below a set threshold. [Maker does this on a vault by vault basis, so the analogy here is to think of the CELO reserve as a single Maker vault.]
- Provided the liquidation mechanism happens quickly enough (and provided there is not a strong step jump in the price of the collateral), then liquidations protect the peg of DAI.
- Today, Celo stables can get undercollateralised if the reserve value falls sufficiently and the Tobin Tax replenishes the reserve at a slower rate than prices fall. Once this happens, it may be difficult for the cStable pegs to recover. (It’s also possible the cStable pegs might survive even if the reserve is undercollateralised - perhaps somewhat like Tether. Not an example to aspire to imo!).
How a liquidation mechanism would improve the security of Celo
This requires more thought, but here is one way this could work.
- The CELO reserve maintains a reserve safety threshold level of collateralisation, whereby the non-CELO portion of the reserve should be at least 125% of the outstanding value of cStables.
- If the reserve falls below this level, then non-CELO reserve assets are auctioned for cStables (e.g. the reserve sells some of its Bitcoin in exchange for cUSD, which it then can burn).
This gives the reserve has a way (provided liquidations can be done quickly, and there are no large price jumps in reserve asset valuations) to get ahead of falling crypto prices and avoid becoming undercollateralised. If crypto prices are falling rapidly, the liquidiation mechanism would start to sell Bitcoin/Ether once the reserve safety threshold is crossed. By selling Bitcoin (and buying back cUSD) the value of outstanding stables reduces and the collateralisation of the reserve is improved (versus the level of collateralisation that would exist if Bitcoin price falls further).
In short, if the liquidation mechanism works (and there are no reserve asset price jumps greater than 20% [the difference between 125% and 100% collateralisation]) then there is no way for cStables to become undercollateralised. This significantly reduces reserve undercollateralisation risk and adds a big safety layer versus what we have now.
If the liquidation mechanism does fail (in which case we we just default back to the current design), then the holdings of CELO in the reserve are the last resort for the protocol. (Side note: This is analogous to MKR tokens being the last resort for MakerDAO).
Concluding thoughts
- Adding a liquidation mechanism is technical and would need to be done very carefully to avoid attack/arbitrage. Still, many protocols have these mechanisms and I think the CELO community has the expertise to be able to design something simple and effective.
- I am particularly a fan of CELO because of the wide range of cStables (and the low fees, at present). As a builder, adding a liquidation mechanism would greatly improve my confidence in using cStables and I think should be a high priority for the community.
Technical note: In the short term, Bitcoin and Ether could easily be sold by using cBTC or cETH forms (as a first step). In the long term it would be better to use more decentralised bridged forms of BTC and ETH.
Tagging random people I’ve had good discussions with on other topics: @sep @0xhuman @Patrick @thezviad @Yaz @maria @tim @Tobi @willkraft @marek