Introducing Celo’s Technology
Celo is a blockchain ecosystem focused on increasing cryptocurrency adoption among smartphone users. By using phone numbers as public keys, Celo hopes to introduce the world’s billions of smartphone owners, including those without banking access, to transacting in cryptocurrency. A light client is a piece of software that allows people to use blockchain networks by connecting their device with a “full node” — the computers that collectively maintain the network’s transaction history. To connect, light clients download bits of data from a full node.
Intuitive user experience
Sending cryptocurrencies typically involves directing funds to lengthy cryptographic addresses. The Celo Wallet simplifies this process through a technique called “address-based encryption.” A simple verification process lets Celo users map their phone numbers to a cryptographic address. This allows users to transact with anyone in their phone’s contact list, creating a user experience similar to centralized payment apps like Venmo and MPESA.
The Celo Wallet also lets users send payments to people in their contact list who have not yet onboarded to the network. When funds are sent to an unregistered user, the Celo Protocol holds the funds in a type of escrow until the recipient maps their phone number to the corresponding cryptographic address.
During field interviews, research shows that people could be confused by the concept of paying transaction fees in a currency different from the one they were transacting in. For example, sending a Dai stablecoin payment on Ethereum involves paying transaction fees in Ether. To address and alleviate this confusion, Celo lets users pay transactions fees in the same currency they are transacting in for a more intuitive experience.
Celo lets one’s mobile number serve as a first step to digital identity. Through this mobile identity, users can build reputation within the system based on the number of people in the network they’ve transacted with. This reputation system can enable people to establish credit histories and enable the creation of a range of future financial services like peer-to-peer loans and insurance.
Celo Native Asset
Enabling anyone with a mobile phone to send cryptocurrency as simply as sending a text is the first part of the equation. Just as critical, the currencies need to be free from the daily fluctuations associated with most popular cryptocurrencies. To achieve this, Celo features stable cryptocurrencies programmatically supported by a reserve backing of other cryptocurrencies.
The initial Celo “stablecoin” will be Celo Dollars (cUSD), pegged to track 1 US dollar. The initial overcollateralized reserve backing will consist of Celo’s native asset (CELO), as well as other liquid cryptocurrencies like Bitcoin and Ether.
Facilitating movement between Celo Dollars and CELO is how the programmatic Celo Protocol algorithm is designed. Celo Dollars can be sold for an equivalent market value of CELO. And conversely, CELO can be sold for an equivalent value of Celo Dollars. This process can occur through a decentralized exchange built into the protocol (modeled after a technology called Uniswap).
The decentralized Celo Protocol directs the reserve to constantly adjust the supply of Celo Dollars to match market demand, supporting the peg to $1 USD. A sharp increase in demand for Celo Dollars could send the free market price for cUSD over $1. Too many Celo Dollars on the market could send its price under $1 USD. In both scenarios, the Celo stability mechanism directed by the protocol goes to work.
If the market value of 1 cUSD falls under a dollar, the Celo Protocol sells CELO from the reserve to buy cUSD in the open market to reduce supply and thus supporting the peg. When the price is over a dollar, the Celo Protocol mints new cUSD which is then sold for CELO, again supporting the peg. These regular contractions and expansions based on supply and demand support the peg, which is the goal of a stablecoin.
In both supply expansions and contractions, arbitrageurs will play a key role by taking the other side of the trade in order to profit off minor price fluctuations. cUSD is selling for $1.02 USD at an exchange? Send $1 worth of CELO to the Celo reserve for a newly minted cUSD and then sell it for $1.02 at this exchange. cUSD is selling for $0.98 USD? Buy it for $0.98 at the exchange and then send that cUSD to the reserve for $1 USD worth of CELO. So long as arbitrageurs take advantage of these opportunities until they no longer exist, the market price is back to $1 USD.
Handling supply expansions when there is increased demand for Celo stablecoins is simple — the protocol mints new stablecoins and sells them for CELO. The Celo reserve gets stronger in the process since the proceeds from the sale go to bolster the reserve.
Conversely, when there is a drop in demand for Celo Dollars, users (or arbitragers of the protocol) can sell cUSD for CELO, contracting the overall supply of Celo Dollars. In this scenario, the reserve may appear weaker since CELO is being used to buy Celo Dollars. A risk to maintaining the peg comes when there is a large enough drop in demand, where the reserve has insufficient value to buy stablecoins off the open market.
This means that it is critical for the reserve to maintain adequate value to handle sharp contractions in demand for stablecoins. In order to ensure the reserve has adequate value, the protocol maintains a ratio for the value of the reserve relative to the value of stablecoins in circulation.
If the value of the reserve drops below a certain ratio, the protocol can levee a transfer fee on all CELO transactions. These fees go directly toward bolstering the reserve. Similarly, when the reserve drops, a portion of block rewards typically paid to participants who maintain the network goes to bolster reserves.
CELO & Proof-of-stake governance
In addition to playing a critical role in Celo’s stability protocol, CELO aligns incentives of stakeholders through a proof-of-stake consensus and governance model. In this model resembling a representative democracy, 100 validators are elected to maintain the network and earn Celo Dollars as a reward for doing so (the contributors to Celo put forward a proposal to scale the system to a higher number of validators).
CELO holders vote for validator groups that are composed of individual validators, which are essentially nodes (or machines) on the network. Using the d’Hondt method, which is a method used to assign seats to political parties, the Celo Protocol assigns “validator slots” to validator groups based on how many votes they have received. Since there are only 100 validator slots available, it’s possible that a validator group gets assigned less “slots” than validators in its group.
Validators get rewarded in Celo Dollars once per epoch (roughly each day, initially). Validator group owners can take a piece of these rewards. To be eligible for rewards a validator needs to:
- Lock up CELO, which is put up as collateral that can be revoked, or “slashed” if the validator misbehaviors
- Be admitted into an existing validator group or create their own validator group and join it (note: creating a validator group also requires locking up CELO)
- Get elected by their group receiving votes from CELO holders (remember there are only 100 validator slots available, so it can happen that not all validator groups get assigned “slots” for participating in the protocol (i.e .the consensus mechanism)
Once elected, validator nodes are relied on to verify and process transactions, run smart contract computation and run an attestation service that enables mapping of phone numbers to public addresses.
Where validators get paid in Celo Dollars so they can more easily monitor their costs, CELO holders who lock up CELO and vote for validators earn CELO “block rewards” for doing so. This incentivizes participation in governance. As Celo Dollars are awarded to validators, an equivalent amount of CELO is added to the reserve. “Block reward” CELO is also allocated to an infrastructure fund and a Carbon offsetting fund.
Incentive alignment and protocol improvement
CELO holders are also indirectly incentivized to participate in on-chain governance and to make decisions that keep the long term health of the network in focus. In this process, stakeholders can propose ways to improve the network. Once changes are proposed, CELO holders vote on whether or not to implement the proposal.
Two key areas of focus are:
- Introducing new useful stable currencies
- Expanding the Celo reserve by adding new crypto-assets that will diversify the overall volatility of the reserve
Recall that when the Celo reserve ratio dips, transfer fees are levied on CELO transfers and epoch rewards that would normally go to CELO holders go to bolster the reserve. This provision is designed to make CELO holders think carefully about which crypto-assets it introduces to the reserve, since extreme volatility can cause a dip in its overall value.
Similarly, if a new stable currency is introduced that there is no demand for, the reserve will have to sell assets to contract its supply. Again, CELO holders have the incentive to vote to ensure that only introduce new stable currencies that there will be actual demand for.
Just as CELO holders have the incentive to make governance decisions that ensure the longevity of the network, innovative stakeholders can also help improve it.
By locking up a small amount of CELO, which can be purchased on an exchange or traded for Celo Dollars on Celo’s decentralized exchange, anyone can propose a new stable currency. Perhaps a stablecoin pegged to the Euro or a regional currency like the Tanzanian shilling. They can also propose a new crypto-asset that can improve the stability of the reserve. If approved by the CELO Holders via Celo’s on-chain governance process, the ecology of stablecoins in the network or the diversity of the reserve expands.
Similarly, by locking up small amount of Celo GELO, developers can propose a technical improvement. If CELO holders vote to move forward with the implementation, the proposal will get rolled out.
There can be currencies specifically designed to encourage spending (transactions can be incentivized by a holding fee, known as demurrage). There can be more currencies like CELO that are designed for long term holding and governance enablement. Celo has been really invoating in this space.