We asked Viktor about Bison Trails’ governance proposal to extend Celo’s downtime grace period, how the Celo governance process works, and what proposal 0024 means for the Celo community.
To ensure network security, Celo launched with a grace period of one minute per day during which a validator could be offline before being significantly penalized by the network. This was an outlier among protocols. A one minute grace period was too short to safely perform maintenance or upgrade infrastructure without suffering significant reductions in uptime scores and reward penalties, which disincentivized performing maintenance and as such made the network less secure and more brittle.
Our proposal to slightly extend this window to 10 minutes was put forward to strengthen Celo while still upholding one of the most stringent uptime requirements among layer 1 protocols. As a Protocol Specialist I worked with two of our engineers who support Celo, Tushar Shah and David Michael, to write the proposal and code its implementation.
The Celo protocol currently penalizes validators that do not sign for 12 consecutive blocks, the equivalent of about 1 minute of downtime. Our proposal added a daily “benevolent period” (since “grace period” is already taken) to the Celo core smart contracts, effectively extending the grace period’s window without changing the existing downtime window parameters. Unlike a change to the downtime window parameters, which would require a fork to the blockchain, this benevolent period can be added to the protocol without affecting validators on the network.
Put simply, we added a benevolent period of 108 blocks to the current grace period of 12 blocks, creating a grace window of 120 blocks total (the equivalent of about 10 minutes of downtime).
Celo has two tracks of governance: CIP’s and CGP’s.
Celo Improvement Proposals (CIPs) describe standards for the Celo platform, including the core protocol specifications, SDK, and contract standards. A CIP is a design document that should provide background information, a rationale for the proposal, a detailed solution including technical specifications, and, if there are any, a list of the potential risks for adopting the proposal. CIPs are worked on by Celo core devs and must be agreed upon through rough consensus.
Celo Governance Proposals (CGPs) describe details of a governance proposal to the platform, including any parameter changes. These can be proposed by anyone, and are voted on by token holders.
Our proposal required both a CIP and a CGP. CIP-0029 outlined the changes we were proposing and provided an implementation for those changes. We worked with Yaz Khoury, the Celo core devs, and the Celo community to gather feedback, make edits, and ultimately come to rough consensus on including these changes in the next Celo core contracts deployment. CIP-0029 included the code that made it possible to extend the downtime, by making the benevolent period a governable value without actually extending the grace period.
Then, we worked with Yaz and Yorke Rhodes IV on CGP-27. This governance vote set the parameter value required by CIP-0029 to extend the downtime grace window to 10 minutes. It was important to do this in two steps, because now this value can be changed easily through governance. If it were not, it would require a hard fork to change it. Proposal 24 was voted on by the community to set the parameter value.
The observant reader will notice that our proposal included three different numbers: the CIP is 0029, the CGP is 0027, and the proposal is 0024. This is because CIPs and CGPs are different processes—their numerical proximity is simply a coincidence. The CGP and proposal numbers are different because not every CGP becomes a proposal, so the proposal count will always trail the CGP count.
The short answer is that everyone in the community benefits from operating within a more secure network. The more nuanced answer is that this proposal will benefit the most secure validators the most. Previously, it was extremely operationally expensive for validators to maintain high security standards on Celo as compared to other networks due to its comparatively short downtime grace period, which meant fewer validators could opt into maintaining those high security standards. Now validators of all sizes can employ best practices to increase their security, by performing more regular maintenance and upgrades of their systems.
We always say that community is the killer feature, and that becomes more true every day. We spent a lot of time working with the whole Celo community on this proposal, sharing our reasoning, gathering support, addressing feedback, and moving through the established processes together. Working collaboratively with the community to develop the proposal drove the community’s support for it. Here we must give a very special shout out to Yaz Khoury, Core Developer Relations at cLabs, for his incredible guidance and generous support throughout this process. Co-creating this proposal with him and the Celo community made it stronger and fostered community buy-in, so by the time the vote came, the choice was obvious.
This proposal feels particularly magical because this is Tushar’s, David’s, and my own first time passing a governance proposal that contributes code to a protocol’s core consensus. We’re technically now all Celo core developers!
This proposal took about eight months from outlining the initial concept to its passing, which is like a lifetime in crypto. This is both a good and a bad thing. Good, because you don’t want to rush foundational changes to protocols, but bad, because you still want to move fast. Over time, we think the concept of “protocol politicians” will become a reality, as they will be able to work as paid project managers to gather feedback, build consensus, and pass important changes to a protocol.
Interview by Mark Forscher
Bison Trails is a blockchain infrastructure platform-as-a-service (PaaS) company based in New York City. We built a platform for anyone who wants to participate in 22 new chains effortlessly.
We also make it easy for anyone building Web 3.0 applications to connect to blockchain data from 30 protocols with Query & Transact (QT). Our goal is for the entire blockchain ecosystem to flourish by providing robust infrastructure for the pioneers of tomorrow.
In January, 2021, we announced Bison Trails joined Coinbase to accelerate our mission to provide easy-to-use blockchain infrastructure, now as a standalone product line. The Bison Trails platform will continue to support our customers. With Coinbase’s backing, we will enhance our infrastructure platform and make it even easier to participate in decentralized networks and build applications that connect to blockchain data.
Substrate ecosystem update 006Apr 10 2021
eth2 update 013Apr 9 2021
Why are people excited about NFTs?Apr 8 2021
Who’s who in eth2: Jacek Sieka from NimbusMar 28 2021
Guide to Crypto.org ChainMar 26 2021
Who’s who in eth2: Paul Hauner from Sigma PrimeMar 18 2021
eth2 update 012Mar 18 2021
Bison Trails announces support for MinaMar 18 2021
An introduction to Protocol Specialists at Bison TrailsMar 15 2021
Meet the Herd: Engineering Manager Arthur BurkartMar 12 2021
Bison Trails newsletter 012Mar 9 2021
View more →