Hi All, here are some notes from a call I just had with Ying and John.
cc @sep @MarkusBerlin @roman @tim @marek @rene_celo @thezviad
Broadly, I think this is the single highest leverage thing Celo could do right now to gain awareness+adaption - and I’m leaning more strongly towards recommending we implement this soon, and across all cStables from the start so we best support our mission.
What this proposal doesn’t change = Celo locking and voting
- As a Celo holder, I’m still incentivised to lock my Celo with validators that have high uptime and that are honest. (Additionally, more on this later, there will be an incentive to lock with validators that pay the highest interest rate on Celo).
- Locked Celo rewards would still be subject to slashing and downtime penalties as is currently the case.
- In the new system, Celo is still the only token used for the election of validators. No change.
- Nothing changes about voting in of validators or about consensus.
What this proposal does change = how rewards are distributed
- Today, locked Celo rewards flow through validators (and are reduced by slashing or downtime penalties), but validators don’t earn any of these rewards. Validators just earn transaction fees and also the ~65k cUSD per validator.
- In the proof of deposit system, validators as a whole would directly earn i) validator rewards (the 65k cUSD X # of validators) + ii) transaction rewards + iii) the rewards that currently go to locked Celo (to be clear, validators would now earn this directly, they are no longer just passing these through to locked Celo holders).
- In the proof of deposit system, cStable holders can deposit (think of it like assigning) their cStables to validators in order to earn interest from validators. There will likely be no required locking period for these deposits (because they don’t contribute to security) so the cStables remain a currency and not a security. Depositors are incentivised to deposit with validators that pay the most interest on a given cStable. (Most likely, wallets will automatically assign deposits to validators paying the highest rates, and all validators will move to an equilibrium market interest rate for each token).
- Validators use their (now substantially increased) earnings (as per above) to pay interest on Celo and cStables, to pay for their costs and for profits.
This pool of rewards (i - iii above) would be distributed among validators proportional to their min (% of Celo , % of cUSD, % of cEUR …). Here:
- % Celo is how much locked Celo they have voting for them as a % of total locked;
- % cUSD is how much cUSD they have assigned to them as a % of total deposited;
- % cEUR is how much cEUR they have assigned to them as a % of total deposited.
- etc. for cREAL and other cStables.
This is what incentivises validators to pay interest on cStables. This also incentivises validators to have equal amounts of each token (as a percentage of total locked/deposited across the community) locked/deposited with them.
Why this could significantly increase cUSD and other cStables outstanding
Consider cUSD, of which there is about $100M outstanding today.
Now, consider epoch rewards today of about 13M CELO per year.
If even 3M of these epoch awards ended up going towards interest on cUSD, that would be 3M x $3 per Celo = $9M in annual interest on cUSD, which would be an interest rate of about 9%.
That rate - over time - would get competed down as volume comes in. Let’s say it got competed down to 2%. That implies the outstanding volume of cUSD deposited would be about $9M / 2% = $450M. So, cUSD outstanding would go up 4.5X .
However, as people buy in to cUSD, this requires CELO, so there should be upwards pressure on CELO. This increases the value of epoch rewards, which increases the rate of interest paid. So the increase in cUSD demand could be greater. Of course, this logic applies in reverse as well, so if CELO price drops, there is less money to pay interest - more on that later in the “Crypto Crash” section.
A thought on the efficiency of staking rewards
Lots of protocols pay staking rewards (Ethereum PoS, Cardano etc.). Rates are around 5-7% - like Celo. To a large degree, the rate doesn’t matter much though. You own Celo or Ethereum because you think it will 10X or 100X, not because of the 5% yield. So, one can argue that Celo spending lots of epoch rewards to incentivise locking is not very efficient. In other words, locking is - particularly for a smaller protocol - quite inelastic. People lock if the rate is positive but they don’t change behaviour much if the rate is 3% versus 8% on Celo.
Rather than direct all rewards towards locking of Celo, it’s interesting to think about having a portion directed towards establishing risk free interest rates on cStables (as this proposal does). If we think about financial inclusion and emerging markets, it seems a lot more practical to offer people a “risk-free” savings rate on cStables then to have them understand the complexities of owning Celo and locking that.
A key scenario to think about is what happens when there is a crypto market crash in which Celo price crashes too. Obviously this reduces the interest that can be paid (under this new system) to cStables.
However, we know that in a crypto market crash, money moves into stables. In TradFi, when stocks crash, the money moves to bonds. In crypto, when prices crash, money largely moves out into fiat (and some moves into Tether) - which is crushing for protocols. To the extent we can have solid cStables that offer some yield (even if that yield declines in a crypto crash), we can keep funds within the Celo ecosystem rather than have it leave during a crash.
I hope there can be some deep consideration and action on this during Celo Connect to either find a fatal flaw or to push this through a CGP.