Celo Community –
This post is a call to action for feedback and discussion around a proposal for Celo to return home to Ethereum by transitioning from being an independent EVM-compatible Layer 1 blockchain to an Ethereum Layer 2.
The proposal – following months of research by the cLabs team as well as initial discussions among core Celo and Ethereum community members – details an architecture where the Celo blockchain initially leverages the OP Stack to become an Ethereum L2, with key differentiators including:
- Decentralized sequencer powered by Celo’s existing validator set running Byzantine Fault Tolerance consensus.
- Off-chain data availability layer, powered by EigenLayer and EigenDA, operated by Ethereum node operators, and protected by restaked ETH. EigenDA brings the design of danksharding to Ethereum early, enabling Celo to maintain its low fees.
- A design that retains Celo’s 1-block finality.
Migrating from an EVM-compatible L1 to an Ethereum L2 will be a technical upgrade that does not impact the Celo ecosystem’s mission to create the conditions of prosperity for all. In fact, we hope it can accelerate the path towards it. Through this proposed change, the Celo ecosystem can continue to foster a financially inclusive community and build openly in the spirit of Web3, bringing real-world use cases to the Ethereum ecosystem. At the same time, this proposal has the potential to substantially enhance the scope and impact of the Celo blockchain. In particular, key benefits to migrating to an L2 include:
- Further Ethereum alignment and EVM compatibility, fostering a seamless developer experience
- Stronger security assurances than Celo provides individually
- A trustless bridge to Ethereum, simplifying liquidity sharing between Celo and Ethereum
From a community standpoint, there would be no changes to existing dApps, no changes to mobile-first features (e.g. SocialConnect) nor the growing regenerative finance (ReFi) stack. Importantly, gas fees changes would be immaterial, a key contributor in achieving global financial prosperity and core to the Celo community’s mission (see “Potential Effects on Celo Community” below for more). Additionally, the Celo validator community would continue to play a key role in operating the network.
The Celo Whitepaper was released in 2018, centered around addressing the biggest barriers to global crypto adoption as a means of payment. With the whitepaper being centered around a mission of global prosperity, Ethereum’s equally mission-driven vision appealed to the Celo co-founders and early team. However, from a technical perspective, limitations around scalability and consensus mechanisms proved to be a barrier to directly building on Ethereum, leading to the eventual launch of the Celo mainnet: the first carbon-negative, EVM-compatible proof-of-stake (PoS) Layer 1, launching on Earth Day 2020.
Even so, the Celo community has continued to monitor the progress of Ethereum, paying specific attention to the developments around Ethereum’s rollup centric roadmap. As such, the Celo community has been future-proofing later-stage ETH2 milestones (e.g., light clients, single-slot finality and usability) and deliberating how Ethereum’s advances could lead to an improvement of the Celo mainnet. In this forum post, we detail an upgrade proposal of the Celo mainnet based on Ethereum’s rollup advancements, specifying its mission value proposition, implications for the community and high-level technical design.
Celo’s technology inherits from and owes a lot to Ethereum. Our communities overlap, as do our visions for building a fairer financial system on decentralized technology. As L2 research has developed, it has become a viable path by which to allow Celo to align even more closely with Ethereum — by connecting trustlessly with it, and leveraging its economic security.
Two key advances make us believe the time is now:
- Off-chain data availability solutions like EigenDA enable this to be achieved without necessitating steep increases in Celo’s transaction fees, in a way that still contributes to Ethereum (and Ethereum validators that opt into EigenLayer).
- The OP stack has created an incredible, open reference architecture for optimistic rollups and chains.
It is cLabs’ belief that these advancements in the Ethereum-based L2 stack now have the necessary pieces in place for a Celo L2 migration to add significant value to its mission.
Through implementation of the L2 proposal, cLabs would expect to realize the following set of advantages:
1. Increased Cross-Community Collaboration – Historically, Celo’s technical roadmap has aligned closely to that of Ethereum, being early adopters of Ethereum Improvement Proposals (EIP) such as EIP-1559 (gas fee reductions) and EIP-4337 (account abstraction). While learning from proposals as they’ve been released, officially aligning to the Ethereum community offers the Celo ecosystem an opportunity to not only collaborate with the Ethereum community on existing EIPs, but also introduce our own, with near term examples being exploring standard for off-chain data availability and decentralized sequencers.
2. Enhanced Compatibility – While Celo has been an EVM compatible chain since inception, considerable work is needed on the backend to ensure that tooling and libraries maintain composability through upgrades of the Celo geth fork or core Web3 libraries. Migrating Celo to utilize the OP stack eliminates the need to monitor compatibility, making it easy for Celo developers to utilize the full gambit of Ethereum tooling / libraries.
3. Increased Security – Currently, Celo is secured by a set of 110 validators which in turn are elected by ~300M in locked CELO. While this offers a significant level of decentralization and economic security, moving to an L2 architecture can improve that security threshold multifold by anchoring the state on the Ethereum mainnet, while using a decentralized source for data availability. (See for example the OP Bedrock Explainer for an overview of optimistic security models).
4. Maintained Low Gas Fees – We expect no material change of gas fees. As the proposal is for an L2 solution with off-chain data availability, gas costs can be a lot lower than on other L2s which opt for on-chain data availability such as Optimism or zkSync era. More details on gas fees can be found in the Appendix.
The modular structure of the OP Stack and their interoperable vision of the future L2 ecosystem makes it a natural starting point upon which we can build the features prioritized by members of the Celo ecosystem. However, using Ethereum as the DA layer (as Optimism currently does) would be prohibitively expensive for many projects in the Celo ecosystem. Additionally, one of the defining features of Celo is its 1-block finality and absence of reorgs. Our goal with this design is to continue providing great UX for Celo users and developers with minimal changes to fees, finality, and Celo-specific features, while also providing as much increased security as possible. To do this, we propose creating a Celo L2 client based on the OP Stack with the following modifications or feature additions:
- Decentralizing the sequencer role by using Celo’s existing production-grade pBFT consensus (battle-tested over the last 3 years) and validator set to provide improved censorship resistance and liveness properties.
- Provide reorg resistance with Celo’s security guarantees by:
- Slashing validators who share divergent blocks on the p2p network vs. on the DA layer in order to provide reorg resistance to unsafe L2 blocks
- Reading only deposited transactions from finalized L1 blocks to minimize the effect of reorgs on Ethereum
- Use EigenDA for off-chain data availability (DA) to reduce transaction fees while providing increased security to Celo users and aligning more strongly with Ethereum.
The proposed system looks as follows:
Note that we expect that as the next-generation zk-L2-stack matures (e.g. proofing systems such as Nova), additional work will be able to upgrade Celo to a highly scalable validium-based zk-EVM. The Appendix provides a more detailed elaboration of the design and the above mentioned specific building blocks.
In introducing this proposal, cLabs has carefully considered the changes that various members of the Celo community may see. These are outlined below:
Change – Validators have and will continue to play a critical role in the health of the Celo ecosystem. Validator responsibilities have traditionally included the ordering and processing of transactions, which is expected to continue. This proposal leverages Celo’s current validators and transforms them into the sequencers for the L2. Thanks to them, Celo will be based on one of the first (if not the first) decentralized sequencer and deliver 1-block finality on a L2. The one change for both validators and full node operators would be the need to also run an Ethereum node (or access to a trusted one) since any L2 node needs to observe the L1 (Ethereum) to derive the canonical chain.
Change – Developers should approach the upgrade with a similar mindset as if a hard fork upgrade was happening: no changes to what Celo offers them now, only some important improvements. First, besides having 1-block finality secured by Celo stake, there would also be a stronger (but slower) finality guarantee derived from Ethereum’s economic security and EigenDA security. Second, they’ll have access to a native bridge to Ethereum, increasing the composability of Celo dApps with Ethereum. Finally, an additional censorship resistance mechanism will allow Celo transactions to be posted directly into Ethereum to force their inclusion.
- End users
No change – End users will not notice any change. Gas fees would have immaterial changes due to the data availability layer of the proposed L2 being managed off-chain, reducing costs to align closely with Celo L1 gas fees and significantly lower than alternative L2s such as Optimism and zkSync. In addition, end users will benefit indirectly through the adoption of Ethereum’s security model in addition to Celo’s battle-tested Proof-of-Stake system.
- Holders of CELO
No change – CELO will keep its core functionality as a governance tool for the Celo blockchain, meaning CELO holders control:
- the core contracts through voting on governance proposals and
- the validator set through staking and elections.
Additionally, CELO will continue to be utilized for gas payments. A part of the gas fee will be used to pay for transactions on the L1 to anchor the Celo state on Ethereum. We expect this aspect to be immaterial compared to the total gas fees of Celo.
Finality can be separated into two problems: (1) Finality of transaction ordering and (2) finality over the resulting state of applying transactions. Full nodes only care about the former, and have a subjective view of the latter (which is the type of finality verified when “validating” a block). Full nodes would always reject a block signed by Celo validators if the state root does not follow the protocol rules.
The proposed design for an L2 provides stronger guarantees on finality than the current Celo implementation. First, it delivers the same finality Celo offers today, which is a 1-block finality secured by Celo stakers. But it also provides an additional finality stage when blocks on Ethereum are finalized (every 2 Ethereum epochs). This additional finality will be much stronger and is derived from a combination of both Ethereum and EigenDA security.
Finality over the resulting state of applying transactions, would also have 2 stages: Celo finality, and later Ethereum finality when state roots are posted to Ethereum.
More details on the finality of the proposed system can be found in the Appendix.
In this forum post, we present an idea of how the Celo community could improve and further develop Celo as a blockchain over the next year, why we believe this is crucial and beneficial for the most important stakeholders of Celo and the ecosystem overall, and how it could be implemented at a high level.
While cLabs has taken the first step in formally proposing Celo to transition to an L2, it takes an engaged community to discuss, analyze, and refine this proposal together to come to a decision on whether to proceed forward.
The next steps we see are:
- We’d love to hear feedback, questions, comments on this post
- Join the Governance Call on Friday, July 21 at 8am PDT / 5pm CEDT.
- Following the governance call (as early as Saturday, July 22): Indicative on-chain governance proposal would be released for engagement (‘temperature check’).
- Further research and work on refining the proposal
- Eventual implementation via hard forks, if the community and validator set agree
Note that in the long term, we see this proposal as an intermediate step in continuously improving the technical ground Celo as a blockchain is built on. This work is all complementary to the Celo 2.0 roadmap that cLabs set out in January which is working to make Celo a great place for other chains to roll up to. We also expect that as next generation zk-SNARK proving systems mature (e.g. Nova), additional work will be able to upgrade Celo to a highly scalable validium-based zk-EVM.
We sincerely welcome your engagement and are looking forward to your comments!