Calling all chefs — become a Celo validator!
Enjoy building and operating open-source infrastructure? Care about prosperity? You’d make a perfect Celo validator.
The Celo mission is to build a new monetary system that creates the conditions of prosperity for all, but it can’t happen without you! Pulling it off will take the collaboration of entrepreneurs, programmers, engineers and builders around the world working together to create a global, resilient, secure network supporting an ecosystem of useful financial tools.
Maybe you’re an engineer or sysadmin who enjoys building and operating infrastructure — you could be familiar with Kubernetes, public cloud platforms, and tools like Terraform, Prometheus or Datadog. Maybe you care about open source and about security — you might know about locking down Linux or using Hardware Security Modules. And maybe you’re interested in contributing to a new kind of financial system. If so, you’d make a perfect Celo validator. Once Celo launches its production network, and if users select you, there are rewards for participating. The first step is learning more about what being a validator entails and then joining our challenge to help you learn more and show your mettle — The Great Celo Stake Off!
What do Celo validators do?
Celo is a mobile-first blockchain platform alongside a suite of financial tools accessible to anyone with a basic smartphone. With Celo, mobile users can download a light-client optimized for low-power mobile devices and low-bandwidth connections that connects with “full nodes” in the network. Full nodes earn transaction fees by forwarding transactions on behalf of mobile users.
Full nodes forward these transactions to validator nodes. Validator nodes then order transactions into blocks and perform a sequence of steps to reach agreement. This is accomplished using Celo’s Byzantine Fault Tolerant (BFT) consensus algorithm, which allows validators to verify new transactions and agree on the changes to the state of the network. Transactions become final when two-thirds of the validators reach agreement. BFT algorithms are cousins of the algorithms used in Zookeeper, etcd, Kafka, ElasticSearch, and other common distributed services, except that they can tolerate not just failed nodes but also some actively malicious participants. Just like in distributed databases like Cassandra, HBase or FoundationDB, nodes store state, serve requests, send messages to each other, and cooperate to apply updates.
In return for this service, validators are rewarded in three ways. First, they receive newly minted Celo stablecoins (Celo Dollars) for participating in consensus. Second, validators collect a portion of transaction fees. Third, validators run an attestation service as part of Celo’s identity protocol by sending SMS messages to users that verify they have control of a specific phone number. Once the user receives and resubmits the SMS, the validator collects a fee.
The protocol targets consistent rewards for validators that cover costs while providing a healthy profit margin. Since most validator expenses will likely be incurred in fiat currencies, validators are awarded in Celo Dollars, allowing validators to understand their likely return (as opposed to networks where validators are compensated with volatile tokens).
Celo Proof of Stake
Celo’s consensus mechanism differs from the Proof of Work schemes employed by familiar networks like Bitcoin and Ethereum. In Proof of Work, “miners” compete to solve a computational puzzle, consuming high levels of electricity in the process. The miner that solves the puzzle adds the next block of transactions and is rewarded for doing so.
Celo employs a Proof of Stake consensus mechanism where instead of “miners” committing vast amounts of electricity to secure the network, validators “stake” funds in the form of Celo’s native token: Celo Gold. The competition to solve a mathematical puzzle is replaced with a voting system in which validators are chosen by holders of Celo Gold. This allows the network to achieve consensus with greater throughput at a fraction of the hardware, energy and operational cost.
Another key difference between Celo’s Proof of Stake and other Proof of Work networks is the amount of people participating in securing the network. In proof-of-work, an unlimited amount of miners can enter and exit the network at will. With Celo’s Proof of Stake scheme, a known set of a few hundred validators secure the network. Given this more limited set of participants, individual validators are significantly important to the performance and security of the network.
Becoming a Celo validator
Initially, there will be 100 Celo validators (with plans to increase this limit in the future). Since there are a limited number of slots, potential validators must be elected by the stakeholders of the network. Just as an ideal democtratic election aims to appoint the most capable, well intentioned leaders, Celo’s process is designed to select validators that will best serve the security of the network.
The first step to becoming a validator is to acquire Celo Gold and transfer it to a “Locked Gold” smart contract. With Celo Gold locked (or “staked”), one can register to be a validator. Once registered, the next step is joining a validator group.
Instead of individual validators getting elected, voters in the system elect validator groups. Validator groups consist of an ordered list of individual validators. The more votes a validator group receives within a given voting period (an “epoch”), the more validators within the group get elected. Once elected, validators begin participating in consensus and earning rewards.
Celo elections and incentives
Validators groups are elected by Celo Gold holders who have also staked tokens in a “Locked Gold” smart contract. The more Locked Gold someone has, the more votes they get. Rewards are received by voting for validator groups that get elected. Since rewards are paid in Celo Gold, this creates a compounding effect and an incentive to continuously participate in validator elections (ie. voting power increases the longer one participates in voting).
Validator groups receive a portion of the rewards paid out to validators within their group that get elected. This amount can be affected by the individual performance of each validator. The Celo protocol measures individual performance with an “uptime score.” This tracks the amount of time that a validator is online, verifying blocks proposed by other validators. In order to be considered, “up”, validators must participate in verifying at least one in the previous ten blocks.
Failure to maintain proper uptime has a few consequences. First, it can result in a “slashing penalty” and a reduced uptime score, which lead to a lower reward for the validator and a reduced share for the validator group. It also reduces future rewards for Celo Gold holders, making them less likely to vote for that validator group. This in turn can cause other validator members to join other validator groups more likely to be elected by Celo Gold holders.
Given this chain reaction that can occur from poor uptime and slashing, validator groups are highly incentivized to only admit the best validators.
May the best validators win
To recap, validators are critical to the functioning of the network. The network was designed to incentivize stakeholders to elect the very best validator groups. Thus, validator groups have the incentive to try and attract the very best validators. Since there can only be a limited number of validators, these slots will go to validators with the best operational and security practices. The purpose of The Great Celo Stake Off is to test and learn these best practices.
To get started, you need only access to one modern server-class machine with a good internet connection and somewhere you can deploy a couple of other instances — a second machine, or an account on a public cloud. As you proceed through the Stake Off, you’ll want to improve the physical and system security of your set up. Validators will also need to stay in tune with the Celo network, be ready to apply security patches as they arise and maintain best practices, too.
Join The Great Celo Stake Off!
If you think you’d make a great Celo validator and are interested in contributing to a monetary system that creates the conditions of prosperity for all, the next step is to join The Great Celo Stake Off, starting December 4, 2019.
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 Gold) necessary to be a Celo validator at mainnet launch!