Release Candidate 1 (RC1) Timeline and Details

Overview

Congratulations to the Celo community on a successful launch of the Baklava network last week! The genesis validators bootstrapped the network without any cLabs validators for the first time, and then completed the initialization of the network by passing governance proposals enabling epoch rewards, Celo Dollars, and the stability protocol. This dry run was extremely important, as the same steps will be followed to release the Celo Mainnet, which is the next goal :tada:.

Please read this post carefully, as it contains important information related to Mainnet release, including dates and instructions to receive The Great Celo Stake Off (TGCSO) awards.

Mainnet Dates and Roadmap

The first release candidate network for Mainnet (RC1) will go live on April 22nd, Earth Day :earth_asia:.

Roadmap:

  • April 18th:
    • ACTION REQUIRED: By 4/18 16:00 UTC, genesis validators must share addresses (see below for more details)
    • Docker image and genesis block for RC1 shared by 4/19 00:00 UTC
    • Validators able to set up nodes and get ready
  • April 22nd 16:00 UTC [Genesis block timestamp]:
    • ACTION REQUIRED: Genesis validators must have nodes ready and be available to start network
      • If quorum is achieved, block production begins
    • Core contracts deployed
    • ReleaseGold contracts for validators deployed
  • April 25th:
    • The Celo Foundation casts initial votes for validator groups (see below for details)
      • ACTION REQUIRED: In order for The Celo Foundation to be able to vote for your group, validator groups and validators must be registered by 16:00 UTC on 4/25
  • April 27th:
    • Governance proposal #1 submitted to unfreeze validator elections
    • Governance proposal #2 submitted to unfreeze validator epoch rewards
  • May 1st:
    • Governance proposals #1 and #2 pass if they gain enough votes
      • Elections and validator rewards enabled
      • ACTION REQUIRED: Validators must be registered and affiliated with a validator group before this date to be eligible for the first election
  • May 14th:
    • Governance proposal #3 submitted to unfreeze voter rewards
    • Governance proposal #4 submitted to enable Celo Gold transfers
  • May 18th:
    • Governance proposals #3 and #4 pass if they gain enough votes
      • Voter rewards and cGLD transfers are enabled
    • RC1 is declared Mainnet
  • May 30th:
    • Governance proposal #5 submitted to unfreeze stability protocol
  • June 3rd:
    • Stability protocol active if governance proposal #5 passes

If there are no issues found during this ramp-up process, RC1 will officially graduate into the Celo Mainnet on or around May 18th. In the event that there are bugs that prevent RC1 from graduating into Mainnet, a new build will be created to restart a new release candidate.

This schedule may change. It is crucial that validators remain aware of this roadmap and any changes to it, as there are windows where validator action is required to reach quorum, and pass governance proposals to complete the network release. The cLabs team will share timeline updates in Discord, over email and by updating this forum post.

TGCSO ReleaseGold and Addresses

If you were a TGCSO validator that won an award, you need to share addresses with cLabs by 4/18 16:00 UTC to receive your cGLD grant and to be included in the genesis block.

ReleaseGold

cLabs will be distributing TGCSO awards via the ReleaseGold smart contract. If you participated in the new Baklava network, then you have already used the CLI commands and interfaced with ReleaseGold.

Since ReleaseGold balances cannot be transferred freely for the lock-up period of the TGCSO awards, you must specify how you would like your award to be split up. Below, you will find the default splits suggested:

1st - 3rd: 70,000 Celo Gold Units

  • 1 group, 3 validators
    • One 40k ReleaseGold
    • Three 10k ReleaseGold

4th - 6th: 50,000 Celo Gold Units

  • 1 group, 2 validators
    • One 30k ReleaseGold
    • Two 10k ReleaseGold

7th - 10th: 40,000 Celo Gold Units

  • 1 group, 2 validators
    • One 20k ReleaseGold
    • Two 10k ReleaseGold

11th - 19th: 30,000 Celo Gold Units

  • 1 group, 1 validator
    • One 20k ReleaseGold
    • One 10k ReleaseGold

20th - 50th: 20,000 Celo Gold Units

  • 1 group, 1 validator
    • Two 10k ReleaseGold

51st - 70th: 10,000 Celo Gold Units

  • 1 group OR 1 validator
    • One 10k ReleaseGold

Some validators will be awarded slightly more due to community awards, and the surplus amounts will be added to the largest split.

Addresses

You will need to generate a separate address for each ReleaseGold split. If you wish to use a Ledger Nano S or X to manage your beneficiary keys, the Celo Ledger app is now available in the Ledger dev store. Please follow these docs to install the Celo Ledger app and generate addresses.

You will also need to generate 1 validator signer address and 1 BLS public key (and the associated BLS signature) to include in the genesis block. When generating the BLS public key and signature, use the following command, which has the 2nd argument already populated with the address to generate the BLS signature over:

docker run -v $PWD:/root/.celo --rm -it $CELO_IMAGE --nousb account proof-of-possession $CELO_VALIDATOR_SIGNER_ADDRESS 0x2870054a9f889655cc832763d01b438f3aa7b91d --bls

NOTE: you should not generate the signer or BLS key on a Ledger device. Once ReleaseGold contracts have been deployed, it is recommended to authorize the genesis validator signer key as the validator signer for the ReleaseGold contract with which you will register your first Validator.

ACTION REQUIRED: By 4/18 16:00 UTC, please create a public Gist titled celo-release-candidate.md under the same account you used to create celo-stake-off.md. This file should contain the information needed to include your validators in the genesis set, and deploy ReleaseGold contracts for each split. See below for an example:

CELO_GENESIS_VALIDATOR_SIGNER_ADDRESS=...

CELO_GENESIS_VALIDATOR_SIGNER_BLS_PUBLIC_KEY=...

CELO_GENESIS_VALIDATOR_SIGNER_BLS_SIGNATURE=...

CELO_RELEASE_GOLD_BENEFICIARY_ADDRESS_1=...

CELO_RELEASE_GOLD_BENEFICIARY_ADDRESS_2=...

Note that you will need to add a beneficiary address for each ReleaseGold split that you expect to receive for your TGCSO award. If you would like custom splits, you will also need to include the variable CELO_RELEASE_GOLD_SPLITS to the Gist. See below for an example:

CELO_RELEASE_GOLD_SPLITS="10000,10000,10000"

Celo Foundation Voting Details

The Celo Foundation will use a portion of its cGLD to cast votes in validator group elections via 3-month cohorts.

If you were a top 50 validator in TGCSO, you will automatically be selected for the first two cohorts, meaning you can receive Foundation votes for an initial 3 and 6 months, depending on where you placed:

  • If you placed 1-25 in TGCSO, you will receive votes from the Celo Foundation for up to 6 months (some terms and conditions will apply, see below).
  • If you placed 26-50 in TGCSO, you will receive votes from the Celo Foundation for a period of up to 3 months (some terms and conditions will apply, see below)

The criteria that applicants must meet in order to be considered may include:

  • Zero slashing incidents
  • Self-reported compliance to a published audit checklist
  • Certification through an educational course that will be published
  • Basic diligence, including name, location, and entity information
  • Commitment to running attestation services with demonstrated reliability and uptime
  • Celo Foundation mission aligned qualities, such as non-profit work, and geographic decentralization

In order for The Celo Foundation to be able to vote for your group, you must ensure that your Validator Group and Validator(s) are registered on RC1 by 16:00 UTC on 4/25. Note that failure to register in time or to meet the criteria listed above (e.g. not running an attestation service, being slashed for downtime) may result in the revocation of Celo Foundation votes.

After Mainnet release, the Foundation anticipates separating its votes into thirds, and allocating each third to a cohort of validator groups that meet certain criteria. If a validator group is selected, so long as they meet certain criteria, that validator group can expect to receive Foundation votes for a 9 month period, after which a new cohort will be selected.

The Celo Foundation will soon be sharing more information related to the voting guidelines. The application process for the third cohort will be shared at that time as well, at which time all Validator Groups will be eligible to apply for votes from The Celo Foundation.

What happens to Baklava?

Baklava will continue! The following Celo networks will remain up and serve the following purposes:

  • Alfajores Testnet: stable network for app developers – run by cLabs validators
  • Baklava Testnet: network for validators to gain experience and for testing new changes to the Celo protocol before they are graduated to other networks
  • Release Candidate 1: may graduate to become Celo Mainnet

It is highly recommended that validators continue running nodes on Baklava, in order to maintain the network, and test upcoming features to be included in the Mainnet. If you have any concerns about being able to run validators on both Mainnet and Baklava, due to cost or limited infrastructure, kindly email hello@celo.org to share details.


Please do NOT hesitate to contact the cLabs team if you have any questions about any of the above information. We understand that this is a tight timeline, especially given the challenges in the world right now, but are confident given the success of Baklava that this goal is within reach. If you have any doubts or concerns, please email hello@celo.org or reach out on Discord.

Thank you once again for being part of this journey to launch Celo, and create a more prosperous world. We couldn’t be more excited for the next weeks, months, and years to come!

1 Like

A few updates below on RC1 dates, as well as Foundation voting details:

Extra Time

We appreciate all of the time and dedication all of you have demonstrated. We heard from some validators that extra time to generate addresses and test Ledger setup would be helpful. To ease the burden a bit, we are extending the deadline to submit a Gist with addresses to Saturday, April 18th 16:00 UTC. Please refer to the updated forum post for additional details on which addresses to include, and other details.

As a result, the RC1 Docker image and Genesis Block will be shared by Sunday April 19th 00:00 UTC. This will provide more time for validators to generate their keys securely and provide those addresses to cLabs so they can be included in the genesis block. Please note that the genesis time will still be Wednesday April 22nd 16:00 UTC.

We know you’ve worked hard in The Stake Off and previous phases, and we want to ensure you can participate in this moment!

Validator Community Call

The cLabs team is holding a validator community call Friday Apr 17th at 16:00 UTC to address key generation questions and talk about what to expect next week. The meeting invite should be in your calendar. Zoom link here.

Foundation Voting Details

If you are a Top 50 TGCSO winner - you can get Celo Foundation votes! Approximately 3 days after genesis, The Celo Foundation will be casting votes for Top 50 TGCSO winners that have registered Validator Groups with at least one Validator member. This is a one-time event. We strongly recommend participating in RC1 genesis to avoid missing this opportunity.

Foundation Voting policy at Mainnet:

  • TGCSO Winners who update their Gist file by April 18 (16:00 UTC):
    • Winners ranking 26-50 receive votes for 3 months period (see Policy for more details)
    • Winners ranking 1-25 receive votes for 6 months period (see Policy for more details)
  • The Foundation will cast an equal number of votes for each validator group ~3 days after genesis
  • One validator group = one TGCSO winning entity (alternative combinations will not be considered)
  • If a validator group is slashed, contains members that do not run attestations services, or otherwise engages in misbehavior, votes for that group will be withdrawn for the remainder of the period
  • See the detailed policy for more information

How do I get Foundation votes? You must:

  • Be in the top 50 TGCSO winners (note: there will be an opportunity post Mainnet launch for other validators to apply for Foundation votes)
  • Update your gist file with your beneficiary addresses by Apr 18th (16:00 UTC)
  • Register your validator group and add a Validator member within 3 days of genesis to get Foundation votes

If you have any questions please do not hesitate to reply here or reach out on Discord. It’s going to be an exciting and busy week!

Looks good, well done with this :clap: :grin:

1 Like