Cheers to 2024, Celo Community!
I wanted to share an interim update from cLabs on Celo’s migration to an L2 on Ethereum – the project we’re affectionately calling CEL2.
You’ll recall that in December we introduced a comprehensive framework designed to guide the selection of an L2 Stack, as the next step in the project’s technical roadmap. I wanted to give you an update on this process. We try to work in the open as much as possible, and this update aims to provide context on where we are.
After getting some great community feedback on the framework, and revising it based on that, cLabs set to work evaluating the options. Despite limiting ourselves to four candidate stacks, this has proven a real challenge – because we are considering a ton of different dimensions, both technical and non-technical, and frankly, because each of the candidate projects are awesome achievements with strong roadmaps backed by strong teams and communities, and are each moving fast. We’re trying to find the best stack for Celo’s needs, not the best stack, so we’ve also been thinking hard about where we see Celo going, too.
As the year drew to a close, the engineering teams at cLabs delved into the intricate task of technically evaluating the L2 stacks. We notched up dozens of meetings and reviews, continuous collaboration, and wrote, debugged and deployed code. The process has been more than a checklist; it has been a dynamic exploration of possibilities, lessons, insights, and deep technical discussions. While we’re still completing this process, it’s safe to say that we’ve learnt a lot and come away with a deep appreciation for the builders on these projects.
Here are some stack-specific updates, in the order that they made their proposals on the forum:
We have continued our dialog with the Optimism team, and have a great ongoing collaboration. This has also led to an L2 Unplugged session with Ben and Marek (and we’re excited to schedule follow-up episodes with the other stacks).
The cLabs team has an internal OP Stack based testnet live, which has helped the team become very familiar with the codebase. It has also helped us progress work on separating the Celo protocol into a patch queue, an activity that is necessary whichever stack is chosen.
A lot of our work in the last couple of weeks has been focused on understanding Superchain governance, and the path towards protocol alignment that that would entail, through contributing or collaborating on APIs and implementations for features such as shared sequencing, off-chain DA and Celo-specific precompiles.
We’ve been working closely with the Polygon team exploring potential avenues for integrating Celo into their Interop layer using a Polygon CDK prover. We’ve benefited hugely from Brendan and William’s deep technical expertise, and appreciate the Polygon team’s work to provision two testnets for us.
Two primary approaches are under consideration: Launching a CDK chain with a Type 2 prover from the Hermez stack, or integrating their Type 1 stateless prover with our current stack.
We’ve been impressed by the Hermez stack: it’s a more mature codebase, and is cost-effective. We’re working on evaluating the migration effort that it would entail for bridges and other projects that make assumptions about storage layout.
Polygon’s newer Type 1 stateless prover is an intriguing option. It would provide greater compatibility and a far simpler migration path, including the ability to migrate and implement Celo-specific precompiles. Moreover, the LXLY bridge can accommodate chain-specific changes of the zkEVM. We’re working to understand licensing and roadmap timing for this.
The zkSync team have been a pleasure to collaborate with – they demonstrated remarkable proactivity, organizing meetings, sharing their 2024 roadmap, and engaging in detailed technical discussions with our engineers. The team provided a Type2 EVM-equivalent testnet for our tests and were highly responsive to bug reports. Alex Gluchowski, the co-founder of Matter Labs, joined our community call and wrote an insightful post, providing his take on the exercise of applying the suggested framework to the zkSync Stack & zkSync.
Promising features that align well with Celo’s requirements include low block times of approximately 1 second, ensuring swift finality for transactions. The native account abstraction support provides an opportunity to implement gas fee currencies efficiently. We like having the flexibility for general changes to the zkEVM, along with the ability to migrate and implement Celo-specific precompiles. Additionally, the platform boasts lower withdrawal-to-L1 times compared to Optimistic solutions, contributing to an efficient user experience. While the shared bridge presents collaboration opportunities, we are working to understand how that would be able to accommodate Celo-specific zkEVM changes.
The team had fun kicking the tires on a local deployment of the Arbitrum codebase. It was clear to the cLabs team that the codebase is mature and would provide a production-proven foundation for Celo. The migration path would be straightforward compared to ZK-based solutions. Ongoing developments in the next generation of fault proofs underscore the platform’s commitment to future resilience.
Just a few days ago, the Arbitrum Foundation publicly announced the Arbitrum Expansion Program, setting out licensing terms and fee revenue split for building L2s based on the Orbit code base. We’re working with the Foundation and Offchain Labs team to get a complete picture of the economic implications of adopting the Arbitrum stack.
While we were able to gather a lot of info from public sources, documentation, and running the stack locally, we also had the opportunity to pose questions to the Arbitrum team in our shared chats and calls. We are thankful for this insightful opportunity!
As this post hopefully conveys, a lot of work has been done, but there’s more to do.
As we wrap up the technical evaluations, we’re moving to evaluating the non-technical dimensions described in the framework. This is different to evaluating published software. It’s harder to predict exactly how quickly we’ll be able to conclude this, especially as the candidate stacks are actively assembling their economic terms and incentive programs.
We’re working as fast as we can to get a comprehensive proposal that we feel confident proposing as the best route forward for Celo. In the mean time, there’s a lot of roadmap engineering work we’re able to progress. As always, we’ll post regular updates here, and we welcome questions and suggestions from the community.