Governance proposals to make the protocol safe and easy to upgrade

Hi Everyone,

The cLabs team is excited to announce two upcoming governance proposals to make the protocol more secure and easier to upgrade.

In order to deliver the most user-friendly cryptocurrency experience possible, Celo needs to be able to adapt quickly in response to user feedback and needs. Blockchain protocols, however, are notoriously difficult to upgrade quickly, safely, and in a coordinated manner due to their decentralized nature. The Celo ecosystem has experienced these difficulties firsthand; since the launch of the Celo network in April 2020, many protocol features and bug fixes have been merged but remain unreleased. The community has been working collectively to ensure that these and future changes can be released safely, quickly, and in a way that gives everyone in the community a voice.

Upgrades to the Celo protocol can happen at two different layers, blockchain (layer 1) and contracts (layer 2). These upcoming governance proposals will be for the core Celo smart contracts, which encode the stability protocol, lightweight identity protocol, validator elections and proof-of-stake, and on-chain governance.

Proposals Overview

1/ Gas Limit Increase (CGP 11)

This first proposal is to increase the gasLimit parameter of the Celo Blockchain from 10M to 13M. This is needed to deploy the first release of Celo core smart contracts. Load testing in an environment of 100+ validators with latency, node and network failures injected confirmed that the current version, 1.0.1 could comfortably sustain load amounting to a block gas limit of 13M.

Relevant links:

Anticipated gov. proposal timeline:

  • Baklava: ID 5: Oct 14-19 (Passed)
  • Alfajores: Oct 15 (Passed)
  • Mainnet ID 12: Oct 20 - Oct 26 2020 (Passed)

2/ Celo Core Contracts Release 1

The second proposal is for the first upgrade on Mainnet: Celo Core Contracts Release 1.

The cLabs team, with the larger community, has been working on adding semantic versioning to contracts, adding checks in CI (Continuous Integration) to ensure storage layout compatibility, and building tooling and a release process so contract upgrades can be proposed via on-chain governance and verified by voters as soon as audits are completed.

This release will include a new approach to downtime slashing for validators, a buy with limit operation on the decentralized exchange (CIP-14), and support for transferring attestations which can support adding a user’s phone number to address mapping on-chain without having them cover fees initially.

Relevant links:

Anticipated gov. proposal timeline:

  • Community call to go over proposal: Oct 7th 2020 @ 8:00 PT (15:00 UTC) - Not recorded
  • Baklava ID 8: Oct 21 - Oct 26 2020* (Not executed)
  • Baklava ID 10: Oct 27 - Oct 30 2020* (Passed)
  • Alfajores: Nov 3** (Passed)
  • Mainnet: Nov 10 - Nov 18 2020** (Passed)

* To be confirmed pending audit completeness and no major issues identified with deployment of gas block limit increase.

** To be confirmed pending no major issues identified with contracts release 1 on Baklava.

Progress on both of the above proposals is tracked in GitHub Issue #4812.

If you have any comments or questions we suggest replying here (vs. reaching out on Discord, Telegram, or email) so as to keep the conversation asynchronous and inclusive.

We look forward to hearing your thoughts,

The cLabs team

4 Likes

Hi @claire,

The cLabs team asked OpenZeppelin to review and audit the recent changes in the smart contracts from their protocol.

We examined the code, and here we publish our findings in Phase 3. :point_down:
The relevant commits are specified in the report.

4 Likes

Update on CGP-11: Rejecting CGP 11: Increase GasLimit to 13M

Calling all CELO owners to vote on Celo Core Contracts Release 1, which is now in “Referendum” phase.

Vote YES, NO or ABSTAIN by Nov 18 5pm GMT (9am PT)

Remember all votes count, even ABSTAIN ones since they count towards the participation threshold. At least 67M CELO needs to vote and 60M YES votes are needed for the proposal to pass.

If you are using the CLI to vote:

$ celocli governance:vote --proposalID=13 --value=<Abstain | No | Yes> --from=<YOUR_ADDRESS>

Use --useLedger flags if you are voting from a Ledger wallet.

Celo’s first protocol core contracts upgrade, CGP 13, just passed! Thank you :pray: to all CELO owners who voted.

1 Like