More than a cookie; Celo’s code is open source and the network is live for testing
Today, we’re excited to unveil Celo, and take a step toward an open, inclusive platform that makes financial tools accessible to anyone with a mobile phone. We’re open-sourcing and sharing our entire codebase and design, the result of two years of hard work. We’re also launching the first prototype of Celo’s platform, named Alfajores Testnet, as well as the Celo Wallet, an accompanying Android app for managing accounts and making and requesting payments on the Testnet.
Alfajores: The Cookie
Celo exists for people like Hugo. Hugo and his wife are entrepreneurs in rural Argentina who we met through our user research. To make ends meet and weather hyperinflation (the peso has decreased 60% in value since the beginning of 2018), Hugo has many side businesses including selling fresh, delicious alfajores. We decided to name the first network for Hugo and people like him who need access to a secure, stable currency — the people we work for and design with around the world.
Alfajores: The Testnet
Celo being an open platform means more than its code being open source. The Celo platform will be open runtime: operated, governed, and managed by the community. As a first step toward realizing that goal, alongside the codebase, Celo is today launching a test network, the Alfajores Testnet. We are inviting the developer community not just to explore the codebase but also experiment with the Testnet. Please get a funded account and try out the Celo Wallet, or participate by starting a full node or validator and help run the network.
The path from here to production is an exciting one, and one we can only do hand-in-hand with the community. We hope to work together to add features, find and fix bugs, and harden the network through security audits. The Alfajores Testnet is the first of several iterations before we eventually ascribe real value to the network’s currency.
Celo is more than a protocol; Celo is a product, a solution to the shortcomings we see in the current financial system. We have conducted over 120 user interviews around the world, learning about needs, motivations, beliefs, and behaviors. The current product and Testnet release has been designed with all of these learnings in mind.
A few learnings and responses include:
- Stability relative to local or strong reference fiat currency (e.g. USD) is critical for cryptocurrencies to be useful as a means of exchange and for financial inclusion — Celo uses its own algorithmic stability protocol that supports a family of stable digital assets (pegged to local and global currencies), all backed by the same crypto-asset reserve.
- For simplicity, transaction fees must be payable in the asset being sent — Celo natively supports paying for gas using these stable assets (in addition to the native asset), and support for new assets that follow the ERC-20 standard can be added easily via on-chain governance.
- Crypto concepts like public key-based wallet addresses are confusing and users prefer using phone numbers as identifiers — Celo maintains a decentralized on-chain PKI that maps hashes of phone numbers to public keys so that users can easily find each other by phone number. Verifying these phone numbers is a first-class primitive of the protocol and users can earn cryptocurrency by helping to power the texting infrastructure needed to perform these verifications (e.g. by running an app on their phone that sends text messages on behalf of the protocol). This design has allowed us to meet another common user request: to send payments to people that are not yet on the protocol (in a fully decentralized manner).
- Data connectivity is often poor, and expensive — Celo provides extremely fast, secure synchronization between mobile devices and the network. This means that even wallet users with high latency, low bandwidth, or high cost data tariffs can use Celo. Celo removes the need to check every header before a received header can be trusted. Performance will be further improved with BLS signature aggregation and succinct zero-knowledge proofs, via zk-SNARKs.
- Developing decentralized products that target direct consumers requires constant iteration and improvement — To make that possible after launch, Celo uses an on-chain governance protocol for upgrading itself using a straightforward mechanism that rewards users for participation.
Join the Community
Building a monetary system that creates the conditions of prosperity for all will be a long journey. It’s exciting to see who has joined the movement to date — the over 50 people working on Celo, fellows around the world, mission-aligned organizations like GiveDirectly and the various UN agencies, early backers such as Andreessen Horowitz and Polychain Capital, and the over 6,400 community members who’ve been involved and following our progress so far. Along the way we’ve held over 60 community events, from Seoul to Beirut, and Dar Es Salaam to Mexico City.
Celo requires a large, inclusive, and diverse community to achieve the mission. Current opportunities to get involved include:
- Develop — Contribute to the codebase. Check out our Build page to learn more.
- Run a Node — If you’re interested in joining the volunteers running the network, check out the instructions for how to run either a full node or validator node on the testnet. While setting up a validator node is more involved, getting a full node going is quick and easy. And since full nodes receive a portion of transactions fees to incentivize them to service light clients, it’s easy and free to get rewarded for participating.
- Fellowship — Propose an independent project to advance Celo’s mission and receive a stipend for your contributions
- Host a Meetup — If you’re interested in hosting a Celo-related event in your community, please fill out this form for resources / support
- Jobs — Join the core team working on Celo
- Have another idea? — Shoot us a note at email@example.com
Over the next few months, Celo will be collecting feedback and making improvements to the network. We would love to hear from you. Find us on the Celo Forum and at our regular office hours on Discord.
Some features that are in active development on Celo include:
- iPhone Wallet application to broaden who can benefit from Celo
- Security audits to harden the network and build trust in its value
- Bug bounty program to encourage the community to provide feedback on issues
- Explore enhanced support for user and transaction privacy
- SDK to simplify the process of building applications on the Celo platform and increase its value for our users
- Upgrade our Byzantine Fault Tolerant (BFT) Proof of Stake consensus protocol to use SNARK-friendly BLS signatures (BLS12–377), and build zk-SNARK provers to generate small proofs for an improved light client experience, to make syncing mobile devices even faster
- Release hardware wallet support for BLS signing to make Celo validators more resistant to attack
The project aims to be a decentralized platform that is not controlled by any single entity, but instead developed, upgraded and operated by a broad community of individuals, organizations and partners. As Celo continues to decentralize, next steps include:
- Validators and Full Node Operators — Grow the volunteer community running validators and full nodes to help secure and scale the network
- Organization — Further structure the Celo Foundation, a non-profit entity that will participate in the development of the protocol and the diverse community that is Celo
Thank you to all of the community members who have supported Celo to date, to the Ethereum community for releasing Go Ethereum (upon which Celo is based) and for all of the feedback that will enable Celo to create beautiful money that works for everyone. Let’s start creating!
- Newsletter: Receive updates to your inbox
- Twitter: Follow @CeloDevs | @CeloHQ
- Github: Contribute to the codebase
- Celo Forum: Ask technical questions and get developer support
- Discord: Collaborate and chat with the community
- Reddit: Discuss Celo news
- Telegram: Read announcements about Celo
- Events: Connect in person
- YouTube: Watch videos about Celo