Applying the CEL2 Selection Framework to the ZK Stack & zkSync

Introduction

Hi Celo community, I’m Alex Gluchowski, CEO and co-founder of Matter Labs. Since we first presented our proposal for CEL2 to use ZK Stack, we’ve really enjoyed engaging with members from the Celo community and working with the cLabs team to run a ZK Stack test environment.

As you can already tell (see post one and two if you haven’t), we are very excited to potentially work together in building the future of Celo and the zkSync ecosystem.

The purpose of this post is to explicitly align how the ZK Stack falls within the framework for selecting an L2 stack, which Tim recently posted.

The below sections mirror the criteria in the proposed framework, but have been filled out to demonstrate how the ZK Stack is ideal to serve CEL2’s goals. We have also summarized these points in a table attached in the comments.

Our Mission

What is zkSync all about? Making Ethereum mainstream.

zkSync is building future-proof technology that enables Ethereum to reach a billion people—to boost economic freedom and prosperity for everyone in the world.

Before addressing the technical and ecosystem details, we want to make one thing abundantly clear: Our priority will always be to push forward our mission as it is defined in the ZK Credo.

To use one excerpt from it: “We believe that to serve as the foundation of the Internet of Value, decentralized networks must adhere to the following principles of: Trustlessness, Security, Reliability, Censorship-Resistance, Privacy, Hyperscalability, Accessibility and Sovereignty.”

Celo has demonstrated many of these qualities already, and it is clear to us that a realization for CEL2 will cement Celo’s ability to provide these values for its ecosystem of applications and users.

However, fully realizing these values also requires a close partnership with an L2 team and technical stack fundamentally designed around this mission. This is a large reason why Matter Labs is so excited at the prospect of working with Celo.

If you were on the Community Call before the holiday break, you may also remember me communicating this eagerness and discussing our close mission alignment.

To read the full mission of the ZK Stack and Matter Labs, we strongly suggest you read in full the ZK Credo.

Now, we would like to address, point by point, the many important details of the ZK Stack and the ZK Ecosystem that align with CEL2 goals:

Ecosystem and Project Alignment

1. Positive-sum platform growth opportunities

The zkSync team is focused on blockchain-extending and real world applications. Many of our partners are a perfect match to collaborate with Celo; We can take QuarkID and Clave as examples:

  • QuarkID

    Background: The Government of Buenos Aires is leveraging QuarkID to bring its citizens a decentralized identification service. Argentine citizens will soon be able to download a self-sovereign QuarkID wallet to claim personal documents, health data, and in the future, manage financial services in a single blockchain-based ID solution. QuarkID is just getting started, and has built considerable momentum across institutions in LatAm.

    Collaboration with Celo: QuarkID’s digital identity solution can be natively integrated into CEL2 and allow for a composable ID standard across Celo apps, among other cross-ZK-stack use cases for a shared DID standard. A shared identity standard is quite important when it comes to bridging the gap between blockchain and real-world use cases and it fills an important role in a growing cross-chain ecosystem.

  • Clave

    Background: A biometric-secured smart contract wallet, Clave’s debut at DevConnect featured an integration with local merchants and a cafe to enable a real world payments solution. The Clave team will continue to expand this mobile-first payments utility across Turkey and other European countries.

    Collaboration with Celo: Clave will be live on mainnet going into the new year and is spreading in popularity in Turkey. Most importantly for Celo, Clave is a mobile-first wallet that has enabled smart accounts to be secured by consumer hardware.

    This closely aligns with the the Celo Social Connect’s mobile-first vision, and we are certain your teams can work together on a unique ZK Stack offering for the mobile-first populations using Celo-based dApps like Opera’s MiniPay.

We promote a collective, collaborative mindset across individual projects in our ecosystem. While this approach is partially to take advantage of the interoperability offered by the shared ZK bridge, the technical connectivity is useless if there is no alignment across ecosystem projects in their growth as businesses.

If selected to support the CEL2 roadmap, projects across the zkSync ecosystem are excited to explore collaborative, cross-chain use cases with Celo apps. Multiple teams in our ecosystem have communicated an interest to work with Celo and explore similar co-development efforts that bring the shared ZK Stack ecosystem to life.

Additionally, we consider Celo a highly important piece to the expansive ZK Stack utility in Emerging Markets. This would go beyond simply co-marketing efforts — our team will be happy to bring business to Celo apps by plugging in Celo to our existing conversations in relevant markets.

2. Mission and values alignment

As we shared in our initial proposal on the forum, we highly recommend the Celo community reads the ZK Credo — this document outlines the vision of zkSync and ultimately the motivation that brought our entire team here in the first place. It could not be more aligned with Celo, and we are have profound respect not only for Celo’s mission but the collective ability your teams have demonstrated to execute on this mission.

3. Ethereum community alignment

The Matter Labs team has a close relationship with many core contributors from the Ethereum Foundation and the broader Ethereum community. After all, our roots will always be in Ethereum.

The native-Account Abstraction implemented on zkSync was built partially in accordance with EF opinions on what an implementation of this may look like on the Ethereum Mainnet.

Most recently — the Clave team, who we view as one of the most advanced wallet teams in crypto and actively work on zkSync infrastructure with ML — posted EIP-7212 to enable support for secure enclave signing.

We have also consistently funded hackathons at ETH Global events, and would be interested in doing so in alignment with Celo.

4. Ongoing role for Celo’s node operator community

The decentralized sequencer design in the ZK Stack will allow all Celo node operators to participate in the CEL2 chain. With a node operating community of roughly 100, the number of validators aligns with our design.

In addition, as development of the stack progresses and we add in the ability for transactions to leverage zkPorter volition mode, Celo can whitelist its validator set to run this DA system as a separate responsibility to sequencing.

Technical Considerations

1. Ethereum Compatibility

The cLabs and Matter Labs engineering teams are actively working through this, and we are looking forward to bringing Celo on as a priority partner using our new EVM equivalence implementation on ZK Stack. This will bring full Ethereum equivalence and allows cLabs and Celo projects to use existing compilers. Era and the ZK Stack are compatible with web3 API, and geth methods that enable any EVM wallet to work out of the box. We also support Hardhat and Foundry, and continuously work with third-parties to stay on the edge of Ethereum tooling.

It is important to note, though, that ZK Stack with the EVM equivalence is effectively allowing both type 2 and type 4 zkEVMs within the same hyperchain. Developers will get to choose under which mode to deploy their smart contracts.

While in the initial stage of migration, everything is fully portable from Celo to its own chain, application developers will be able to access performance, cost and UX improvements by building with native Account Abstraction and data storage features that go beyond Ethereum compatibility.

2. Increased Security

Everything that passes through the team at zkSync is held to the highest possible security standard. We’ve spent many months running top-tier audits with partners like Spearbit and OpenZeppelin, performing tests on the network and most recently sponsoring the largest ever C4Arena contest for $1.1M.

In its current state, the zkSync Era code is the most battle-tested across the Layer 2 landscape with a working proof system that has gone through more transactions than any other proof system live on mainnet.

3. Preserving single block finality

Single block finality is a key design decision in the ZK Stack decentralized sequencer and will be fully preserved within Celo’s criteria. The details of this implementation are not publicly available, but will be accessible to support cLabs’ timeline with ongoing CEL2 development stages.

4. Maintaining comparably low gas fees

With our recent upgrade to the new proof system, Boojum, and some updates to state compression zkSync is consistently the lowest in terms of transaction fees amongst all the L2s, both optimistic and zk (as shown on growthepie.xyz).

We also recently saw a real life stress test comparing the impact of high network demand on zkSync thanks to inscriptions where the system reached a TPS high of 189 and set the new record on L2Beat for highest TPS in a 24 hour window.

We have a number of additional upgrades in the works for Q1 of 2024 (outside of just EIP4844) with the goal of getting fees even further down and make sub-1 cent fees a reality for ZK Stack chains. Most notably the biggest impact is potentially going to come from elastic batch sizes where the number of L2 transactions that can fit inside a L1 batch significantly increases. Currently it is around 500-1000 transactions. We plan to significantly increase this which would have a fairly large impact on the price per transaction.

5. Preserving token based gas currencies

Backward compatibility of Celo’s current design, which allows certain ERC20 tokens to be used as gas beyond the native Celo token, is fully possible using Paymasters on a ZK Stack chain. We give an in depth explanation of this in our FAQs and Alignment post. Celo would have the option of either having your own base token as the native token for gas or use paymasters (which can be used for both EOAs and smart contract wallets thanks to native-AA).

6. Opportunity to inherit new features

The ZK Stack is built to be tailored to your needs — this is not only in reference to the modular architecture or native account abstraction, it also means we thoroughly support teams to modify the stack to accommodate their own chain-specific features. Similar to how we are adding a precompile for EIP-7212 (for Clave) or custom transaction ordering to enable a hybrid DEX (for Gravity), we welcome the cLabs team to pursue any modifications you’d like to make for CEL2.

Migration Feasibility

Regarding questions on the feasibility of migration, our team can ensure a complete and smooth transition that will meet each important feature that is listed below. Specifically, as outlined in Celo’s post, our process addresses:

  • Least time and risk route to production
  • Simple migration, with minimal downtime
  • Minimal downtime acceptable
  • Avoid subtle incompatibilities
  • No breaking changes for deployed apps or contracts
  • No migration action required by Celo end users
  • Commitment to developer collaboration

It’s important to state that this migration is an open-design that is actively being worked on. We see this as joint work between our teams and will include Celo in all phases of the design, implementation, and execution. This is especially important because, while we are designing a general purpose migration tool for any EVM chain to migrate state to a hyperchain, we are also aware that Celo has its own protocol level changes that we must consider.

In any case, our focus up until this point has been on a POC for a standard EVM migration, but as we make progress on this it’d be great to have some of the Celo protocol developers work with us on the Celo-specific migration.

At a high-level, we anticipate executing the migration to look as follows: the Celo tree structure will need to be converted into a ZK-friendly format. This will warrant a governance vote to approve replacing the root hash of the state to this new format.

The transition would include the use of a tool programmed to take snapshots of Celo state and reformat to be compatible with the zkSync format. This will generate the new root hash automatically. Using this tool, we can keep applying Celo state changes in real time such that the two systems are effectively synced.

At some point the updates will be paused, nodes will push upgrades, and then the transition will happen.

Governance and Economic Alignment

1. Independence within Ethereum

As mentioned previously, the entire ZK Stack code base is open-source under MIT license and recently completed the largest C4Arena bounty ever, with $1.1m offered in rewards. The system is designed such that any adopting community can maintain full technical and economic sovereignty, yet natively co-exist using hyperbridging.

2. Roadmap influence

A primary purpose of the team at Matter Labs is as a core developer of the ZK Stack, however it is not to be the sole entity that decides on the future of the ZK Stack.

This is specifically why the ZK Stack is open-sourced, and why we are making an effort to work with individual communities to onboard to the ZK Stack — each conversation we have that may lead to the adoption of the stack onboards a new co-development partner and key stakeholder that contributes to the bedrock of our community. It is especially important for us to follow our credo and ensure that members of the community can influence the direction of our technology.

With all that said, we are highly focused on consumer applications, in particular payments and the necessary identity infrastructure that is required for it. We also fully believe in open standards and not walled gardens. One of the core areas of collaboration would be in creating open standards for identity and payments for the broader zkSync ecosystem.

Specific governing processes and the method by which stakeholders influence the roadmap will be determined in the coming months, and will be largely dependent on the decentralization of other components of the system. The rollout of this process is detailed more in the section below on contribution incentives.

3. Contribution Incentives

We are pleased to share that an independent ecosystem funding and governance program is being developed (expected later this quarter) for the benefit of zkSync and its participants. The purpose of this program will be to determine how grants are allocated to projects building on zkSync, especially those significant collaboration projects that directly align with the broader strategic goals of the zkSync ecosystem and the ZK Credo.

As a part of this initial ecosystem funding program, we would like to offer to cLabs a matching of the team budget previously approved and specified in the governance post — at the time of the post, this equates to roughly $2.7M in Celo tokens.

You can expect additional public announcements to come in the following weeks on how we will be supporting innovation in the zkSync ecosystem.

We recognize the significance of transparency and look forward keeping everyone informed on our progress.

4. Tokenomic implications

The use of the ZK Stack is free and comes with no fee share requirements. It would be antithetical to our Credo to impose a fee share requirement, token swap arrangement or any requirement for a Community Fund to purchase tokens on the open market to build using the ZK Stack.

As an early adopter of the Stack, and an experienced DAO in its own right, we would like to ensure Celo has the ability to influence the governance of the ZK Stack and its ecosystem. Our commitment here can be considered a part of the aforementioned contribution incentives, the details of which are likely best left as a part of another discussion.

5. Bridging

As noted above, there are no restrictions imposed on adopters of the ZK Stack. Members of the ecosystem join by adopting core protocol standards, however these standards are plainly technical interfaces used to access compatibility. While we recommend builders participate in the shared bridge, this is not a requirement for adopting the ZK Stack.

Regarding the opportunities for new partnerships, mission-aligned apps, and liquidity, a key consideration in the determination of grant allocations will be work and development that is for the benefit of the broader zkSync ecosystem. This will likely include hyperchain to hyperchain interoperability and teams that execute cross-chain applications that utilize other projects in our ecosystem.

Additionally, if Celo seeks to integrate with chains beyond the ZK Stack, we support existing bridging protocols and fully welcome non-ZK Stack collaborations.

Next Steps: Getting Started with CEL2 Testnet

As a first step in our engagement we have already set up a working testnet for Celo running on the ZK Stack that the cLabs team is testing. This test environment will use an EVM Equivalence interpreter on top of a new ZK Stack hyperchain built and managed by our team for Celo.

The progress that cLabs has made to support base token on OP Stack will be live shortly on the ZK Stack. This has already been a work in progress the last few weeks, so the timeline with CEL2 aligns quite well, and of course your ecosystem would inherit all of this work to support Celo as base token in the new chain. We will also explore the best implementation of paymasters to enable stablecoin-based fee payments for both EOA and smart wallets, with support for apps like MiniPay in mind.

We understand there is likely more being done on your OP Stack testnet deployment, and we want to ensure that this work is still useful for a ZK Stack launch. Also, for certain items, such as with the decentralized sequencer design, there is most likely an opportunity to reduce the work required from cLabs altogether by simply using our own design.

We look forward to working with the cLabs team more to push for tangible progress in deploying Celo on ZK Stack, and as usual welcome all feedback from the Celo community.

I appreciate everyone taking the time to learn more about the ZK Stack.

If you have any questions please ask away in the comments, or check out our dedicated site zkstack.io to read more yourself.

9 Likes

“As a part of this initial ecosystem funding program, we would like to offer to cLabs a *matching of the team budget previously approved and specified in the governance post — at the time of the post, this equates to roughly $2.7M in Celo tokens.”

Putting your money where your mouth is. This is what a lot of the other L2 stack proposals are lacking IMO; they do not go into great detail on how/or if they will financially support CELO in its transition to a layer 2.

ZkSync have been my personal front runner for the innovative tech alone, but this widens the gap even more.

I hope you guys win the vote.

8 Likes

Thank you for your kind words @Bigga! We want to make sure we are responsive to all the communities needs for CEL2

Appendix

In case you’d like to quickly reference takeaways from Alex’s post, we’ve consolidated key points into a table:

Celo Priority On the ZK Stack
Security Security is and will always remain zkSync’s top priority. Our codebase is open-sourced and we just completed running the largest ever bounty program on our proof system (which is now live today). We have committed more dollars to security and audits than any other stack, and have forged very close partnerships with security leaders like OpenZeppelin and Spearbit.
Gas Payment with ERC-20 Tokens Gas payment with any ERC-20 is supported using custom paymasters, which are designed to be accessed as a factory dependency in all transactions — this means that both EOA and SCAs can use paymasters and experience non-ETH gas.
Data Availability External DA Provider, Validium or Volition-modes (for more on Volition using ZK Porter, see below). Accessible to add EigenDA, Celestia, or configure a Volition-mode to be managed by whitelisted Celo validators.
Decentralized Sequencer Our decentralized sequencer design meet all requirements that are important for Celo — specifically including support for Celo’s validator set and single-block finality.
Decentralized Prover The Boojum prover is live and runs on 16 GB RAM. This is drastically lower than any other option on the market. Anyone can fully deploy their own Layer 2 hyperchain with ZK Stack AND run their own prover. No reliance on a central entity for any component of the stack, including the prover.
Micropayment-friendly Fees The new Boojum prover recently went live. With this milestone achieved, we now unlock the ability to drastically increase the size of batches in proofs. Coupled with a DA layer and proof aggregation (coming later — aggregating proofs for many batches before posting to L1) — fees on ZK Stack chains will come down to a penny or less.
Cross-ecosystem Interoperability Via a shared bridge that uses Ethereum, projects can access cross-chain liquidity and build natively multi-chain ecosystems. Our scaling endgame culminates in both vertically and horizontally scaled apps, and we aim to directly support teams building this.
Support Our team has began work with cLabs to launch on an EVM Equivalence testnet. In the transition to our ecosystem, cLabs core team and Celo dapps can expect support from our engineering team and implementation partners.
Cost to Celo We propose to match the dollar value of the approved amount from the Funding for cLabs blockchain public goods work forum post. With native AA and multi-wallet Paymasters, Celo will also avoid paying third parties to add necessary features.
3 Likes

This has definitely been missing from the proposals so far and is important to highlight.

There are a number of highly capitalized L2 ecosystems vying for candidacy here — one of the biggest determining factors should be how much they value the Celo community. Celo is a top 10 chain by daily unique users and its efforts thus far to build such a diverse and impactful userbase should be recognized/valued as such. (source: Active users (daily) | Token Terminal)

4 Likes

Hello Celo Community, I’m Dogan, and I work at Clave as a founding member & researcher. I’d like to add a few comments on how we can work together in the ZK Stack ecosystem.

Clave is a mobile-first, payment-focused, web3-enabled app that leverages hardware level security built-in mobile devices. We have designed the app to be the most secure, user-friendly, and accessible gateway in the web3 payment ecosystem.

Celo’s mobile-first approach and payment prioritized design choices, we believe, align with Clave’s and ML’s approaches. Both the Clave&ML team and Celo are trying to improve the payment experience through the use of offchain identifiers and infra-level changes such as single slot finality and ultraweight light clients. I’d like to quickly explain how we can work together:

Our mission is to solve the three big challenges in the web3 ecosystem:
Onboarding: We have developed a novel key management system named ‘Hardware Signer’, which allows users to transform everyday devices into hardware wallets using solely biometric authentication. As a result, we are able to onboard users with top-grade security and without the need for seed phrases.
Recovery: Users should be able to recover their accounts without compromising on security and decentralization. This is why we have developed two distinct recovery options: Cloud and Social Recovery. Both options feature a time lock for execution, ensuring that users’ wallets solely rely on hardware signer for instant transaction signing, whereas recovery transactions take some time. Additionally, we have created a Universal Recovery system that allows users to use email addresses as guardians, even if they are not onchain.
How Users Interact with Blockchains: The current state of payments and user interaction with blockchains in the crypto world is flawed. Users should have the ability to understand what they are signing and be capable of sending money to anyone, even if the recipient doesn’t have an on-chain address. This is where Clave and Celo significantly align. At Clave, we have developed an on-chain name registry system, similar to Celo’s Social Connect, which allows users to send money using just nicknames. We are extremely excited to collaborate on Celo’s mobile-first features. We’re also working on session keys implementation for the Clave account to enable signless transactions.

Our contributions to ZK Stack is not only key management and user facing features, we also have been working on enabling EIP-7212 on all ZK Stack chains to enable cheap and secure verification for biometric signers (Passkeys and Secure Enclave based signers) and we believe that Celo’s mobile first apps can easily inherit biometric signers with the EIP-7212 improvement.

We believe that the combination of zkSync’s native account abstraction and volution solution, our contributions on the consumer-facing side, and Celo’s mobile-first features will enable global micropayments in the ZK Stack ecosystem.

We are super excited to contribute to the Celo community in the ZK Stack ecosystem!

About Clave:

Clave is an easy-to-use non-custodial smart wallet powered by Account Abstraction and the hardware-level security elements (e.g. Secure Enclave, Android Trustzone, etc.) to simplify the onchain experience for the next billions. By empowering users with a user-friendly and secure bridge to seamlessly integrate their assets into everyday life, Clave delivers a comprehensive fintech solution ensuring a holistic financial experience for all.

5 Likes

Thanks, @gluk64 and @jesse, for this detailed write-up and comprehensive overview of all points specified by cLabs.

The Governance and Economic considerations are also strong, especially the proposed cLabs budget match, and the free use of the ZK Stack leaves a positive mark.

I look forward to the continued exploration of the ZK Stack by cLabs and the wider Celo community and am excited about the prospect of deeper collaboration!

4 Likes

Hey Alex, long time no see. Happy New Year!

First, congratulations to your success so far. From hackathon to zkSync payment to zkEVM to now ZK Stack, it has been a long way.

Excited to see that you responded positively regarding my previous concern regarding the significant cost of evaluating ZK Stack and offered a $2.7M financial support. One follow-up question on this: are there any strings attached to this grant? If so, can you elaborate on details?

One more question: Is ZK stack designed to easily switch the decentralized sequencer with another solution? As I replied in ARB’s proposal, Celo has a battle-tested consensus layer and well positioned to transform it to become a decentralized sequencer. It will make more sense for CEL2 to use Celo’s own decentralized sequencer. In addition, my interpretation of the criteria - Ongoing role for Celo node operator community, is that existing Celo validators will perform new roles as L2 sequencers, validators, or DA providers, but use CELO token to secure these networks.

1 Like

Hi Henry!

I appreciate your thoughtful response. I’ll address your questions below:

a) The core purpose of this grant is to ensure that the Celo treasury is returned the money that is being spent on cLabs public goods funding for L2 protocol development. There are no strings attached. We want the Celo community to decide on how this money would be used, and it should be treated similar to any other funds currently in the treasury.

The future of Celo is bright and we believe in your collective ability to effectively allocate capital to fund the most impactful initiatives.

b) CEL2 on the ZK Stack will enable the full community of Celo validators to operate CEL2’s decentralized sequencer, with the additional ability to allow validators to run a zkPorter Data Availability layer if interested. Either design can use CELO staking for security.

The ZK Stack will be decentralized such that it is indeed easy to bring in existing validator communities that would like to run their own stack.

Keeping Celo’s consensus mechanism is definitely possible. We are aware that Celo plans to make a decision to change its consensus design in the transition to CEL2. However, as we have mentioned regarding the consensus design of the ZK Stack, it would likely be easier for Celo to simply use the implementation we will have live rather than making changes to its own to support the ZK Stack. This maintains core requirements like single-block finality, inheriting Celo’s validators, and CELO staking, without extra engineering overhead or costs.

2 Likes

Alex, thanks for providing detailed response!

We would also like to highlight that our team is hyperfocused on providing the tools that will set the standard in our industry for superior user experiences, while maintaining web3 qualities of freedom and ownership. As I highlighted in the post above, this is only possible with native Account Abstraction.

Our ecosystem partners Clave continuously iterate to provide the smoothest wallet experience that puts features enabled by native AA on full display; Recently they updated their app to support a single-click onboarding experience, securing a smart wallet with a passkey. This is the sort of UX that is becoming the norm in our ecosystem: