Hi Celo community!
My name is Ying Chan, and along with Dr. John Fletcher, we were recent participants in Celo’s DeFi for the people hackathon, winning the 2nd place prize for the DeFi track with our Proof-of-Deposit project.
Since then, the support we have received from key people in the community has been amazing, and we really are thankful to all those who have taken the time to help us.
The key stepping stone we have been advised to take to get this project launched is to make this governance proposal. We are keen to get your feedback.
Executive Summary
cUSD going mainstream will unarguably require appealing to those with little appetite for risk. We observe that DeFi yield farming trends have mostly catered to investors/speculators, with many of these yields being unsustainable in the long-term.
Looking to wider finance industry for inspiration, we find there exists a well established strategy for attracting liquidity:
Simply offer regular monetary rewards with no strings attached
For proof-of-stake blockchains, we can leverage the variable but sustainable staking rewards to enable this perpetual monetary reward for stablecoin holders
This is fundamentally different from DeFi yield farming as earning the monetary rewards requires no additional risk
At the core, we are replicating in DeFi what a central bank does for the real economy
Proof-of-Deposit is our proposal to create this missing piece in DeFi - perpetually sharing a portion of Celo’s epoch rewards with cUSD depositors in such a way that incentives are enhanced for everyone.
Background
At the time of writing, the daily traded volume of the top stablecoins are as follows:
- Tether (USDT) $64B
- USD Coin (USDC) $4.1B
- Terra USD (UST) $0.57B
- Dai (DAI) $0.4B
As for Celo, our biggest stablecoin Celo Dollar (CUSD) is currently sitting at a relatively tiny $0.0012B daily traded volume, 53,000 times smaller than Tether.
It goes without saying that if cUSD is ever to be widely used by communities in their day to day transactions, we will need to take existing and new market share from Tether and other stablecoins. To do this, we must offer something that the market wants, and is also sufficiently differentiated from its competitors:
- USDT - has the network effect.
- USDC - is better regulated than Tether.
- UST - has Anchor, a DeFi lending protocol which pays 20% interest rate.
- DAI - is the first decentralised stablecoin and most widely used in DeFi.
The question we asked is… what should our unique selling point for cUSD be? The harsh reality of the world is that ideological vision must be aligned with monetary incentives.
Our Vision
Up until now, the established strategy for decentralised stablecoins has been to offer high rates of return from DeFi yield farming. But is this the sole strategy we want to rely on for cUSD?
We argue that this can lead to some adoption, but to a limited degree, as it specifically appeals to a small market segment of investors/speculators. After all, to anyone observing, DeFi yield farming is obviously requiring users to take on additional risk on top of the core product (the stablecoin), which is already riskier than their centralised counterparts.
Looking to wider finance industry for inspiration, we find there exists a well established strategy for attracting liquidity:
Simply offer regular monetary rewards with no strings attached
For proof-of-stake blockchains, we can leverage the variable but sustainable staking rewards to enable this perpetual monetary reward for stablecoin holders
This is fundamentally different from DeFi yield farming as earning the monetary rewards requires no additional risk
At the core, we are replicating in DeFi what a central bank does for the real economy
Herein lies our vision with Proof-of-Deposit and Celo:
(Foundational) We implement Proof-of-Deposit on Celo
-
This creates an entirely unique product in DeFi: a perpetual deposit rewards rate on cUSD that comes from epoch rewards, as opposed to relying upon a large treasury of reserves
-
Crucially, although Proof-of-Deposit will likely be described as “low risk / low yield” compared to most other DeFi, it is in no way incompatible with the high returns which many current DeFi investors are seeking.
On the contrary, by replicating the primitive that a central bank provides for the real economy, but has not existed in DeFi before now, we open the doors to the largest pools of capital in the world to be deployed on Celo. This of course will be massively beneficial to investors in our native token CELO and our ecosystem.
(Short term) We aggressively run liquidity initiatives to get cUSD adopted by crypto exchanges
-
Our value proposition is that crypto exchanges can benefit from the deposit rewards rate or pass it onto their existing/new customers
-
Our deposit rewards rate will be significantly more attractive than interest rates from DeFi lending, as financial institutions are quite sensitive to the fact that lending protocols are particularly at risk of a cascading liquidation event during market downturns. Proof-of-Deposit is not exposed to this risk, because the deposited stablecoin is not being lent out.
-
When crypto markets are dipping, people liquidate their volatile crypto assets for USD. By establishing cUSD as an attractive safe haven on exchanges, we can buffer the price of CELO. This is because during such times, people will have high demand for cUSD, leading to demand for CELO.
If we are successful enough, we may even see the price of CELO go up when everything else falls!
-
Perhaps most importantly, we are building momentum for adoption of CELO and cUSD by differentiating ourselves from the rest of crypto with an appreciable brand of credibility, reliability, and accessibility.
(Short to Medium term) we build a critical mass of users that will use cUSD for their day to day transactions
-
Currently, the greatest challenge is that DeFi is exclusively catering to investors/speculators that can afford to lose their money. DeFi can only become mainstream when people have an incentive to use it as payment rails without being exposed to undue risks.
-
Proof-of-Deposit can attract such users as we can offer them a deposit rewards rate; that is, we are saying:
“Use cUSD for your day to day transactions as any money sitting in your wallet can earn rewards!.”
(Medium to Long term) we get cUSD integrated into traditional financial products
-
Realistically, DeFi going mainstream will involve financial institutions to onboard the masses. This is because for most people, they will not be comfortable interacting directly with crypto themselves, and will want to offload that responsibility to trusted intermediaries.
-
Although there are many financial institutions which are already comfortable with holding stablecoins, they currently have little reason to integrate it into their products for customers. This is because any attractiveness of interest rates from DeFi is effectively offset by the high and/or complex to analyse risks.
-
Proof-of-Deposit can give such financial institutions a reason to integrate cUSD into their products as they can either benefit from, or pass onto their existing/new customers, the deposit rewards rate on cUSD. They are much more likely to do this over existing DeFi products, as the risks are substantially lower and more analysable in Proof-of-Deposit.
Technical proposal
Proof-of-Deposit is a proposal to extend Celo’s governance smart contracts to allow locking of and voting with ERC20 stablecoins.
Whilst this can ultimately allow all of Celo’s native stablecoins to earn block/epoch rewards alongside CELO, for this initial proposal, we are putting forward:
-
Currently, only CELO can be locked and voted with
a. We are proposing that both CELO and cUSD can be locked and voted with
-
Currently, a validator group’s share of the epoch rewards of is effectively equal to the percentage of CELO active votes they receive
a. We are proposing that a validator group’s share of the epoch rewards is the minimum of:
i. the percentage of CELO active votes they receive
ii. the percentage of cUSD active votes they receiveb. By taking the minimum, we incentivise validator groups to receive an equal percentage of CELO and cUSD active votes
-
Currently, ~13M CELO are distributed per year as epoch rewards amongst staked CELO
a. We are proposing that a proportion of epoch rewards per year (e.g. 50%), are distributed amongst deposited cUSD as a deposit reward, and the remaining amongst staked CELO.
b. We propose that the proportion can be chosen by validator groups on an individual basis, similar to their commission rates. This will allow the market to discover the appropriate proportion as a result of balancing incentives to maximise their APY, with the incentive to maximise the value of their CELO by sharing a higher proportion of epoch rewards with cUSD depositors.
Code Changes Required
As we demonstrated in our hackathon submission, Proof-of-Deposit can be realised on Celo with a small set of core changes:
-
LockedGold
is the governance smart contract that users interact with to stake and unstake their CELO. To generaliseLockedGold
toLockedToken
(works with any ERC20) we propose to modify 3 functions:a.
initialize
– add an extraaddress
parameter to allowLockedToken
to be associated with a specific ERC20 contractb.
lock
&unlock
– use ERC20 functions instead ofmsg.value
(the message’s non-ERC20 CELO) -
Election
is the governance smart contract that users interact with to vote for validator groups and receive epoch rewards in the form of active votes. We propose to modify:a.
initialize
- add an extraaddress[]
parameter to allowElection
to be associated with specific LockedToken contractsb. Add an extra
address
parameter to functions and maps. This will allow users to vote from a specificLockedToken
contractc. Add utility functions that:
-
Normalises votes from each
LockedToken
contract. Our proposed way to do this is to divide by total votes from aLockedToken
contract. -
Calculates share of epoch rewards for validator groups from normalised votes. We propose to implement the
min(a,b,…)
function to incentivise a balance of all tokens.
d.
distributeEpochRewards
– will be modified to distribute rewards as active votes amongst theLockedToken
contracts -
We propose to maintain backwards compatibility by implementing these modifications as overloaded functions.
Q&A
Q: How does Proof-of-Deposit compare to other DeFi?
A: The defining feature of Proof-of-Deposit is that we are enabling a deposit rewards rate, not an interest rate! The distinction is that the latter requires loaning out users’ money!
Q: How is the deposit rewards rate determined?
A: It will be market determined as the deposit rewards rate is free floating; that is, the rate will increase/decrease with less/more cUSD deposits and with higher/lower proportion of epoch rewards shared by validators. Users will simply deposit more cUSD if the rate is high enough, and withdraw cUSD if it’s too low.
We predict that the deposit rewards rate will fluctuate around an estimated mean of 5%. A rate of 5% implies that users will deposit 20x more cUSD than what Proof-of-Deposit pays out in rewards.
Q: Won’t this be taking part of the epoch rewards away from validators? How do you ensure validators’ incentive to stake CELO is not reduced?
A: Yes, it will take a proportion of the epoch rewards away. That being said, the exact proportion will be decided by validator groups on an individual basis.
We believe that validator groups will naturally balance their incentive to maximise their APY in dollar terms, with their incentive to maximise the value of their CELO by sharing a higher proportion of epoch rewards with cUSD depositors.
Q: Can you give an estimate of how much this will boost the marketcap of CELO?
A: Sure.
-
At time of writing:
- Price of CELO is $2.7
- Marketcap of CELO is ~$1.16B
- Marketcap of cUSD is ~$90M
-
Assuming that validator groups decide to share 50% of epoch rewards, 6.5M CELO, as deposit rewards on cUSD:
- USD value of these rewards at current prices is 6.5M x $2.7 = $17.55M
-
Proof-of-Deposit’s deposit rewards rate is free floating, and depends on the amount of cUSD that users deposit. Given a deposit rewards rate of 5%:
-
Marketcap of cUSD will rise to a minimum of:
- deposit rewards rate = amount of rewards / amount of deposit
- amount of deposit = amount of rewards / deposit rewards rate
- amount of deposit = $17.55M / 5% = $351M
-
Current marketcap of cUSD is boosted by $351M / $90M = 3.9 times
-
-
If marketcap of CELO and cUSD maintains their current ratio (which has been the case historically), then we can expect:
- Price of CELO to rise to $2.7 x 3.9 = $10.53
- Marketcap of CELO to rise to $1.16B x 3.9 = $4.52B
Note that this is already a conversative estimate! This is because the rise in the price of CELO will lead to a rise in the USD value of deposit rewards… leading to more cUSD being deposited, and so on.
Q: If this is built, will it displace other DeFi on Celo?
A: In short, no. As Proof-of-Deposit’s deposit rewards rate is free floating (increases/decreases with less/more cUSD deposits), users will naturally move cUSD between Proof-of-Deposit and the rest of DeFi whenever the risk/return opportunity means it makes sense to do so.
Furthermore, the buffering effect that Proof-of-Deposit will bring to the price of CELO will reduce volatility of the rest of DeFi on Celo, making it more accessible! This does mean that the APY on staked CELO will be lower, but will have much higher USD value.
Q: How did Proof-of-Deposit come about?
A: Dr. John Fletcher and myself have collaborated on blockchain research for many years. Our key research interest lies at the intersection of public blockchains and CBDCs: “can decentralisation be beneficial to Central Bank monetary policy?”
Specifically, the problem that exists today for countries such as Venezuela, Zimbabwe, etc is that their central banks, which don’t have a credible reputation, have full discretion over their monetary policy. For international creditors, this poses a huge risk of inflation, and as such, very high interest rates are demanded on loans to these nations (e.g. Zimbabwe’s is 60%). This stifles economic growth in those nations. Up until now, many of these nations have resorted to dollarisation but this is a brittle state of affairs which frequently implodes when these nations have domestic crises (e.g. Lebanon liquidity crisis).
As exemplified by Bitcoin’s 21 million BTC cap, public blockchains can be a means of committing to certain monetary policies such as inflation of base money supply. Proof-of-Deposit was the solution we arrived at to address the question of how public blockchains can help with the other major tool of monetary policy: setting the base rate.
If you want to learn more, here are some links to our ongoing research here and here.
What next?
We are posting this to ask for feedback with the aim of maturing the proposal with your questions and suggestions. We will also love to chat on discord and on future governance calls.
Last but not least, we are preparing to give a talk for Celo Connect and we hope to see you all there in person!
Thanks
Special thanks to @nraghuveera , Ezechiel Copic, @TomerBa, and @marek for your support and advice!