An introductory guide to Celo

cLabs conducting user research on the Celo Wallet in Colombia

Currently, the world’s financial system excludes roughly 1 in 3 adults. At the same time, 6 billion smartphones will be connected by 2020 as these devices spread throughout emerging markets. Cryptocurrencies accessible on mobile phones hold great promise in bringing financial inclusion to the world’s underbanked.

Despite this potential, cryptocurrencies have still not significantly impacted these populations over the last 10 years. Using cryptocurrencies is still much too complex for the average person and price volatility makes them undesirable for merchants to accept as payment. Additionally, blockchain networks are often inaccessible to unbanked and underbanked populations due to data constraints from their mobile providers.

Inspired by extensive research in emerging markets and developing countries — Tanzania, Colombia, Argentina, Mexico, the Philippines, and Kenya — Celo is building a mobile-first blockchain platform alongside a suite of financial tools accessible to anyone with a basic smartphone. On this platform, value can be transferred faster and cheaper than traditional bank wires using globally accessible technology. Since cryptocurrencies are completely programmable, a wide array of financial services can be created without costly intermediaries.

The Celo network features a stability protocol capable of hosting an ecology of stable value currencies like the Celo Dollar, regional currencies, commodity based stablecoins and more. The cLabs team has created the Celo Wallet, which makes sending stable currencies as easy as sending a text message. Since Celo is completely open-source, developers can collaborate to build financial applications and services to empower people around the world.

Whether you are a developer, designer, dreamer or doer, you can contribute to the mission to build a new kind of monetary system that creates the conditions of prosperity for all.

Celo’s mission captured in a video

This section explains the design of Celo’s Protocol and Wallet. Skip to “Celo in the Real World” for what this technology may enable.

A mobile first network & ultra-light client

cLabs, the company working on Celo, has compiled field research revealing that many smartphone users in target areas live in data constrained environments. These data constraints make connecting to networks like Bitcoin and Ethereum difficult. To overcome this barrier, and drawing from many contributors around the globe, Celo includes novel cryptographic techniques that enable anyone to connect to the Celo network with minimal data requirements through an “ultra-light” client.

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.

The Celo protocol methods enable a 17,000x reduction in the amount of data needed to sync with the network when compared with other popular blockchain networks.

Our “ultra-light client” is the result of Celo’s mobile-first, research driven approach for creating a network that works for people living across a range of environments (Marek discusses these methods in detail at the 24:43 mark on the Chorus One podcast).

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.

The Celo Dollar, Celo Native Asset & the Celo Reserve

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).

Celo’s stability mechanism in action

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.

Additional stability mechanisms

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:

  1. Lock up CELO, which is put up as collateral that can be revoked, or “slashed” if the validator misbehaviors
  2. 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)
  3. 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.

(More detail on Celo governance can be found here and here).

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.

Technical improvements

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.

So what will a decentralized network that creates stable currencies available to anyone with a mobile phone look like in practice? The non-profit GiveDirectly is running a pilot on Celo to distribute unconditional cash transfers to the extreme poor in West Africa.

GiveDirectly will provide inexpensive Android phones to individuals in select communities in West Africa. Through these devices and the Celo Protocol, beneficiaries will receive no-strings attached grants in Celo Dollars that they can use to save, send value to friends, and spend at participating merchants.

While this is just one pilot program, it underscores the promise of this technology. The barriers to enter the legacy financial system — the need for a government ID, the need for physical bank branches etc — can be replaced with a simple mobile phone. As developers build applications on these open source platforms, participants can access the same financial services the rest of the world takes for granted — loans, insurance, savings and investment vehicles.

The benefits of erasing barriers to financial inclusion through easy to use mobile apps that give access to stable value currencies are somewhat straightforward. But why not use existing methods for creating stable cryptocurrencies via 1:1 backing of fiat currency in a bank account? Why take Celo’s objectively more complicated programmatic approach?

The answer is tied to the belief that there is immense potential for cryptocurrencies to be more than simple proxies to government issued money. Just as the internet created an ecology of content — email, blogs, video streaming, podcasts, tweets — cryptocurrencies and blockchain technology can create ecologies of money.

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. There can be currencies tied to the value of a regionally produced bushel of wheat, leading to the resurgence of commodity monies that have been used throughout history.

Celo Co-Founder Sep Kamvar sharing possibilities of money once it’s programmable

With the Celo programmatic approach, these ecologies become possible. Just as Celo uses its reserve to peg the price of 1 Celo Dollar to $1 USD, the same mechanism can be used to peg a currency to a barrel of oil, a bushel of wheat, or anything with a measurable value. When money exists purely as programmable code, we can reimagine what money is and how we use it. Just as money evolved from shells, to pieces of paper, to taking a purely digital form, we believe this approach will help usher in its next evolution — new “ecologies of money.

Celo can be the foundation for a monetary system that enables everyone to prosper. We’ve created a framework for stable currencies that can evolve to support an ecology of stablecoins and re-imagine what money is and how we use it. We’ve created an inclusive governance framework that will allow stakeholders from all over the world, big or small, to decide how to best move this new monetary system forward.

With the framework built, the team building Celo is now inviting participants to join the The Great Celo Stake Off, starting December 4, 2019, to learn more about being a validator and full node.

The Great Celo Stake Off is an opportunity for potential validators to build operational experience and establish best security practices on the Celo test network, Baklava. Teams from all over the world will compete to earn rewards in preparation for the Celo Mainnet launch. Through this competition, participants will get the real world experience (and potentially even CELO) necessary to be a Celo validator at mainnet launch!

Want to learn more?

  • Ask them on the Celo Forum
  • Webinar #1: Mastering the Art of Validating (Tuesday November 26th at 1600 UTC)
  • Webinar #2: The Great Celo Stake Off Live Q&A (Thursday December 5th at 1600 UTC)
  • Or register to participate

Keep following Celo’s project: