The Great Celo Stake Off: The Details

Note: If you have any questions, comments, or feedback about The Great Celo Stake Off, please add a comment here or on the Discord #stake-off channel, or if it concerns a private matter, contact the C Labs team (the “Company” or “Team”) at hello@c-labs.co.

Registration closed. If you’re really interested in participating contact hello@celo.org. All requests will be subject to increased review.

Also checkout the Incentivized Community Challenge for another way to earn the chance to receive Mainnet Celo Gold.

Overview

The Great Celo Stake Off (“TGCSO”) will run on Baklava, Celo’s incentivized testnet. TGCSO will operate in phases, with each phase focusing on a different part of the protocol or infrastructure to test. Baklava is an early, partially audited release of the Celo Protocol (see Terms and Conditions for more details).

The objectives of TGCSO include building validator operational experience and establishing security best practices. It also provides contributors a means of earning what will be Celo Gold on the Celo Protocol (“Mainnet”). Importantly, TGCSO will not be focused on testing Proof of Stake design through adversarial processes, nor will it isolate and test every variable that may affect Celo’s cryptoeconomics.

What is TGCSO?

TGCSO is inspired by the many cooking shows and competitions (see announcement). In TGCSO, Eligible Participants will collaborate and compete to earn as many Baklava Testnet Units (“BTUs”) as possible.

There are several ways to earn BTUs (subject to Terms and Conditions). Participants can do any combination of these:

  1. Earn epoch rewards and transaction fee BTUs by running a validator and/or a validator group
  2. Amplify rewards by completing the Attestation, Master Validator, and Buddy challenges

Participants may also have the chance to receive Mainnet Celo Gold by completing additional “Community Challenges.”

There is also a grant program for those interested in building tools and services on the Celo Protocol and a bounty program to contribute to the Celo code and to flag issues. The grant and bounty programs will continue to exist after TGCSO and into Mainnet launch.

Winners and Rewards (all subject to terms and conditions)

The winners will be the top three eligible Participants (or Participant Entities) with the highest number of BTUs at the end of the final phase of TGCSO (phase 3). A Participant Entity is one or a set of validator addresses associated to a team.

This Baklava version of the Celo Protocol (“Protocol”) will have testnet Celo Gold (“cGLD”) and testnet Celo Dollar (“cUSD”). Importantly, these testnet units (cGLD and cUSD) are not the assets that will be live on the Celo Protocol Mainnet. Rather, these testnet units will enable the cooperation and competition that will result in final BTU balances that will be the basis for ranking Participants.

How Participants will be awarded BTUs:

  • First, all addresses associated with the Participant Entity must be identified (through the signed ‘Identity Claims’ recorded as part of setup, details on how to do so will be shared separately)
  • For each address, the BTU balance is calculated at the end of TGCSO as follows:
    • The cUSD balance is converted to cGLD at the exchange rate provided by the Baklava Oracle at the end of The Great Celo Stake Off. This value is summed together with the address’ cGLD balance and any cGLD deposited with the LockedGold contract.
    • The balances of each address are summed together to calculate a total balance, to which is added any boosting multiplier (see the “Signature Challenge” section, below) which results in the total balance. This is the total number of BTUs the Participant has earned.

Final balances of BTUs are calculated using the Baklava Oracle exchange rate at 1600 UTC on the final date of the contest, which will be published on TGCSO Forum.

Mainnet Celo Gold Rewards

Subject to the Terms and Conditions, the top 50 eligible Participant Entities with the most BTUs at the end of TGCSO may receive the following number of Celo Gold Units that will become Celo Gold at Mainnet launch of the Celo Protocol:

  • 1-3rd place: up to 70,000 Celo Gold Units
  • 4th-6th place: up to 50,000 Celo Gold Units
  • 7th-10th place: up to 40,000 Celo Gold Units
  • 11th-19th place: up to 30,000 Celo Gold Units
  • 20th-50th place: up to 20,000 Celo Gold Units
  • 51-70th place: up to 10,000 Celo Gold Units

If there are ties, rewards would be rounded upwards. For example, if there are two Participant Entities that have the same number of BTUs competing for third place, they would both be awarded up to 60,000 Celo Gold Units. Fourth place would be “void” and the remaining fifth to tenth place Participant Entities would receive up to 40,000 Celo Gold Units each.

Any/all Celo Gold Units received as part of TGCSO may be subject to lockup periods at Mainnet launch of the Celo Protocol. Further, to receive (and not forfeit) Celo Gold Units and Celo Gold, you be eligible to receive such units and you must provide certain information further described in the Terms and Conditions.

See the winners on the Detailed Leaderboard.

Who is it For?

Baklava Testnet Participation

Technical users who expect to participate in the Mainnet (e.g. validators, full nodes, and core developers). You must be comfortable with your operating system environment and the command line interface. Prior experience running a node on other cryptonetworks is ideal but not necessary.

On November 26th 2019, the team hosted a webinar on Celo’s proof of stake and Mastering the Art of Validating: Slides and recording here.

On December 5th 2019, the team hosted a validator community Introduction to TGCSO with Q&A: Slides and recording here.

On December 19th 2019, the team hosted a walkthrough of the “Getting Started Running a Validator” instructions. Recording here and Q&A here.**

Community Participation

Anyone wishing to contribute to the community form code contributions, to completing security bounties, and creating educational content. This is for those who would like a chance to receive Mainnet Celo Gold without having to run a Baklava testnet node. See “Community Challenge” below.

Anticipated Timings

Any adjustments in timing will be posted to the Forum.

Phase 1 (Dec 4th @ 16:00 UTC): “Learn to Cook” - Gain Operational Experience

  • Baklava launch: dry run warm-up period
  • Asset placeholders will have no value: they will not count towards TGCSO and are not eligible as BTUs
  • The objective of this phase is to allow Eligible Participants to get comfortable with the protocol and and their operating environment before TGCSO starts

Phase 2 (Jan 10th): “Cook the Basics” - Test Attestations

  • Network reset: rewards turned off
  • Network rewards turned on: game starts - Jan 14th @ 16:00 UTC
  • Test the Attestation Service
  • Eligible Participants may accumulate BTUs counting toward leaderboard ranking

Phase 3 (Feb 10th @ 16:00 UTC): “Become a Master Validator” - Test OPSEC & Governance

  • Test validator OPSEC and performance (see “Master Validator Challenge” below)
  • Test hard forking, hotfix participation, and governance proposal process
  • Eligible Participants may continue to accumulate BTUs, counting toward leaderboard ranking
  • Last day to participate in TGCSO is expected to be Feb 26th 1600 UTC. Winners will receive communications from the Company thereafter

IMPORTANT: Dates and scope may change. Also, note that the transition to each phase may include a full network reset, a hard fork, or an upgrade.

Communications

Leaderboard: The leaderboard will be available on celo.org/build. It will display the “Final BTUs” per eligible Participant or Participant Entity following the “Winners and Rewards” formula above. By default the leaderboard will display the registration Celo network address. If a team would like to aggregate several addresses under one entity, this can be done via Celo metadata.

Updates: Updates will be communicated here, on TGCSO Forum. For those who’ve registered, an email will also be sent out to the email address used at registration. Participants are responsible for staying up to date with TGCSO Terms and Conditions.

Questions: Please ask your questions on TGCSO Forum so that others can also benefit from them.

Discussion: For discussions, join the Stake Off Discord channel. For general inquiries, we encourage you to post all your comments and questions here on the forum to remain inclusive and to avoid communication confusion. Though we would prefer discussions to happen here, key points discussed in Discord and a summary of GitHub activity will be summarized weekly here on this forum.

Hardware & Infrastructure Requirements

Required:

  • Access to high availability network and a secure data center
  • Baklava testnet Celo Gold (cGLD) to lock up as slashing stake, see faucet instructions
  • Keeping your node up to date with the latest Protocol version
  • Running an Attestation Service

Highly recommend:

  • For validators:
    • Modern server-class hardware with one SSD and one HDD available, running a Linux distro with security patches applied, and a symmetric high bandwidth, low latency Internet connection, located in a physically secure facility
    • A second bare metal machine, VM, or container, co-located with the validator or deployed in a cloud environment and connected to it over a VPN, to use as a sentry node
    • A third similar instance on which to deploy the Attestation Service
    • Possibly recommended later: A Ledger Nano X hardware wallet
  • For full nodes:
    • A machine, VM or container with one SSD and one HDD, running a Linux distro with security patches applied, and a symmetric high bandwidth, low latency Internet connection

Registration & Faucet

To participate to register via the registration form below. Each eligible Participant Entity (not address) is allowed to get faucteted at most 24,000 cGLD for the duration of TGCSO. Entities that Sybil themselves to bypass this, or engage in other actions to bypass TGCSO rules, will be disqualified, as specified in the Terms and Conditions.

Registration closed. If you really want to participate reach out to hello[@]celo[.]org. All requests will be subject to increased review.

Proof of Stake Requirements & Rewards

Background Information

Before jumping into the details, it’s worth noting that Celo’s proof of stake (“POS”) differs from other protocol designs in several important ways. As in other protocols, the native asset, Celo Gold, enables all participation in protocol governance. Different from other protocols, in the Mainnet (and as modeled in Baklava):

  1. Celo Gold holders (called Hoglers) vote but do not delegate their Celo Gold to validators, which means minted Celo Gold rewards go directly to the Hogler accounts, entirely bypassing validators
  2. To earn rewards, Hoglers must vote for a validator group, not individual validators
  3. A validator must be part of a validator group to get elected and to start validating
  4. Validators earn a flat epoch reward in Celo Dollars. Receiving a reward in Celo Dollars has the advantage of helping validators cover operating costs

A detailed explanation of Celo’s POS can be found in these two blog posts:

Baklava Testnet Details

TGCSO POS requirements and epoch Baklava testnet rewards:

  • Epoch duration: 1 hour (24x faster than Mainnet)
  • Lock-up requirements:
    • Validator group registration lockup: 10,000 cGLD per validator in the group, for at least 60 hours
    • Validator registration lockup: 10,000 cGLD, for at least 60 hours (vs. 10,000 cGLD, 60 days on Mainnet)
  • Max. number of validators in a group: 5 (same as Mainnet)
  • Max. epoch Baklava testnet reward: ~205 cUSD / validator weighted by performance score (same as Mainnet)
    • cUSD and be exchanged for cGLD at any time via the Exchange contract
    • A single C Labs Oracle acts as the source of the cUSD/cGLD exchange rate, which will have low volatility to limit the benefit of arbitraging the Exchange in TGCSO
  • Total number of validator slots:
    • Nb validators phase 1 = 100
    • Nb validators phase 2 = min(nb valiators phase 1, 100)
    • Nb validators phase 3 = 100%* (nb valiators phase 2)
  • Faucet amount: 24,000 cGLD per entity (feature not available on Mainnet)

Challenge Rewards

This section was last updated Feb 4th 2020. Clarified points in Master Validator Challenge and updated audit checklist.

There are several types of challenges:

  1. Attestation Challenge: boot your BTUs by running the attestation service throughout phase 2.
  2. Master Validator Challenge: boost your BTUs by completing the security and infrastructure challenge in phase 3.
  3. Buddy Challenge: help a newbie out and boost your BTUs by earning 5% of your buddy’s BTUs.
  4. Community Challenge: earn the chance to receive Mainnet Celo Gold by participating in community challenges such as contributing to code or creating content.

Note that any Mainnet Celo Gold from the Community challenge are awarded at the Company’s discretion. As provided in the Terms and Conditions, The Company reserves the right to modify or revoke any awards.

1. “Attestation Challenge”: Attestation Service (Phase 2)

During phase 2 TGCSO organizers will randomly send attestations to validators. If you, as a validator, complete more than 95% of the attestation requests by end of phase 2, a multiplier boost of 20% will be applied to your entity’s total cGLD balance at the end of TGCSO. Note that the 20% boost is by entity not by validator run by the entity.

For example if you have 1000 cGLD at the end of TGCSO and a boost of 20% your total balance will become 1000*1.20 = 1,200 cGLD or a total of 1,200 BTUs (for the leaderboard).

Validators are expected to run an attestation service, which involves sending text messages on behalf of the network. In TGCSO validators are expected to send text messages to the US, Europe, Australia, Mexico, Argentina, the Philippines, and Kenya. Instructions on how to set up this service is provided in the “Getting Started: Running a Validator instructions.

2. “Master Validator Challenge”: Validator OPSEC & Performance (Phase 3)

This is a ~1 hour remote audit conducted by the Team in phase 3. Audit results will be captured on a public validator registry. Each entity (a validator or a validator group with several validators) can apply for only one audit during the term of TGCSO.

If you ‘d like to get audited sign up here. Audits will begin in phase 3. Registrations are now closed!

To participate in the audit, you will complete a list of tasks where each completed task will award you points. Completing the entire list will add up to a certain number of points. Your multiplier boost will be the number of points you earn, scaled to a number between 0 and 100. For example, 30 scaled points earned by completing tasks will be treated as a 30% boost. This boost amount will be applied to your entity’s total cGLD balance at the end of TGCSO.

For example if you have 1000 cGLD at the end of TGCSO and a boost of 30% your total balance will become 1000*1.30 = 1,300 cGLD or a total of 1,300 BTUs (for the leaderboard).

Boosts are additive. For example, if you have a 20% boost from the Attestation Challenge and 30% boost from the Master Validator Challenge, you will have a total of 20% + 30% = 50% boost applied to your entity’s total cGLD balance at the end of TGCSO.

Entities who obtain equal to or above 80 points qualify for the “Master Validator” seal. This means that they have demonstrated professional levels of operation.

Master Validator Challenge audit checklist:

Detailed here.

3. “Buddy Challenge”: Help Newbies (Ongoing)

Coach a new validator by helping them get started. As a mentor, 5% of your mentee’s BTUs at the end of TGCSO will get added to your BTUs . Your mentee gets to keep all of their earned BTUs. The 5% awarded to you are in addition to their earned BTUs. Mentors can have at most one mentee and mentees can have at most one mentor. There can be at most one mentor or mentee per Participant Entity.

Registration for the mentorship program is closed.

4. “Community Challenge”: Code, Docs, & Community Contributions (Ongoing)

Those wishing to contribute in other ways can earn the chance to receive Mainnet Celo Gold (not Baklava testnet Celo Gold, cGLD) by completing certain tasks. Celo Gold Units will be converted to Mainnet Celo Gold following the Terms and Conditions.

Read all the details on the Baklava Testnet Incentivized Community Challenge forum post.

Security Bounty Program

Celo’s security bounty program is hosted on HackerOne. A link be published in Jan 2020.

Here is what you can expect:

  • “Eat for free” - Double spend by getting the clients to accept a different chain (high)
  • “Two for one” - Double spend by validating malicious blocks (medium)
  • “Send it back!” - Tamper/manipulate blockchain history to invalidate transactions (low-medium)
  • “Cook you own food” - Cause network to mint tokens to own account (high)
  • “Start a Food Truck” - Undermine consensus mechanism to split chain (high)
  • “Cut in Line“ - Censorship (e.g. on votes) (high)
  • “Steal a waiter’s tray that has food on it” - Steal tokens from node (high)
  • “Steal a client’s plate” - Steal tokens from phone number (high)
  • “Prevent waiters from serving clients” - Prevent node from accessing the network (low-medium)
  • “Steal food without chefs, waiters, or clients noticing” - Abuse bugs in economic system to defraud other participants (e.g. avoid transaction fees to full nodes) (high)
  • “Prevent chefs from cooking” - DDOS attack (high)
  • “Shut down the restaurant” - Shutdown network (high)

Grants

These will be communicated on celo.org at the launch of phase 1.

Here’s a preview of potential technical grant categories (subject to change):

  • Protocol tools:
    • Validator tools (network monitoring & performance management)
    • Governance tools for Celo Gold holders (voting, seeing rewards, notice period etc.)
    • Stability protocol & reserve read-only dashboard
  • Contributions to Celo core (i.e. celo-blockchain + celo-monorepo):
    • Additional forms of on-chain attestations
    • R&D

Rules

Disqualification

See the Terms and Conditions for more details. As a short summary, the Company will disqualify Participants along with their accounts, validators and validator groups who:

  • Anyone trying to “win” through a sybil attack on the registration process or otherwise
  • Undermine the goals of the game, which is to test OPSEC (and strategies for manipulating the incentive system) - this excludes security bounties (see list above)
  • Destroy or incur any damage to other TGCSO participants physical property

Prohibited behavior

Exploiting protocol and application level bugs in TGCSO is prohibited. Any bugs that are discovered should be reported to security@celo.org, or through the bug bounty program on HackerOne.

Transferring cGLD or cUSD between accounts controlled by different Participants is prohibited. Exchanging, locking up, or otherwise deploying funds received from accounts not controlled by you is prohibited, whether manually or via a script or bot. If you receive funds from another Participant, you should immediately notify the Team at hello@celo.org.

Participation

Company employees, contractors, fellows, and anyone currently or previously associated with the Company may participate in TGCSO but may not be listed on the leaderboard and will not be eligible to receive Celo Gold Units.

Terms & Conditions

Read full Terms & Conditions here.

7 Likes

When does Phase 3 begin (Jan 5th or Jan 8th)?

Break (Dec 21st - Jan 5th): “Take a Vacation”

  • TGCSO on hold - BTUs and cGLD/cUSD exchange paused

Phase 3 (Jan 8th @ 16:00 UTC):

Thanks for flagging, that was a typo. The post has been updated. Vacation ends Jan 7th 2020 (not Jan 5th) and Phase 3 starts Jan 8th 1600 UTC.

If you’ve registered, you should have received the calendar invites with correct dates.

1 Like

Nb validators phase 3 = 80%* (nb valiators phase 2)

Is it still the plan or some adjustments will be made? @claire

We are testing to see if we can increase to 120. Can assume that for the moment it will stay 100. Expect confirmation in coming days.

1 Like