Kakarot: move fast and break a few eggs

A Core Piece of Ethereum Zk-Infrastructure With The Development Speed of a dApp

Elias Tazartes
Kakarot zkEVM
Published in
9 min readApr 25, 2024

--

What’s up with Kakarot?

Kakarot is an EVM-compatible ZK-rollup that leverages Cairo to spearhead Ethereum innovations, and we’re launching a Testnet this month. “Why another zkEVM in 2024? There are enough.” Right, so why should you care? Let’s put this question aside for now and digress into a long and candid argument. Joking, here’s a TL;DR.

Too long, didn’t read 🙈:

Ethereum good. For Ethereum better, Ethereum change. Ethereum roadmap good. Ethereum roadmap needs help. Rollups help innovation. ZK-rollups move too slow. Optimistic rollups slightly faster. Kakarot’s unique agility to become both the “end game” (zk) and today’s game.

Carrot fields — Homestead Act vibes
Carrot fields — Homestead Act vibes

Ethereum is good

Ethereum is good. To become a pillar for the future of an inclusive, secure and private internet, it requires improvements. This is why the protocol has an ambitious roadmap ahead and does not ossify, unlike Bitcoin — though arguable this is not so true anymore for Bitcoin. Among these changes, Ethereum is achieving scale via an ecosystem of rollups. Some of these rollups, in order to benefit from the Ethereum network effect, have chosen to be EVM-compatible (i.e. behave in almost the same way as Ethereum L1 for the builders and end users). This is the case of Scroll, Linea, zkSync Era, Polygon zkEVM, Kakarot zkEVM, and more.

Ethereum has plans to evolve with its times

Ethereum might become the internet’s settlement layer, with few using it as the world’s computer and most using it as a world verifier. It may become a decentralized pair of eyes attesting to the truth on the internet, checking the integrity of some compute via zero-knowledge proofs. I’m not here to make predictions, it’s overwhelmingly hard (impossible) to know what the world will look like tomorrow, let alone the internet or even crypto.

Although other ecosystems are on the rise, Ethereum concentrates most of the mindshare of both builders and crypto-native users — though arguably end users should not have to care which tech they are on granted some minimal security levels. It is a mistake to believe that because this is true today, it will remain true for the next decade.

My point is that nothing guarantees that the dominance of Ethereum will endure. If fast paced competition continues to gain adoption, that some competitor’s technological edge is coupled with sufficient security (I’m talking world boss level security, like nation-state-level “cease and decease” / wrench attack), Ethereum might slowly loose its leader position. Hold up, this isn’t me pitching the L1 wars all over again or the “Ethereum killer” arc.
Ethereum faces an impossible and long-term tension: to have slow paced, spec-driven innovation in a quickly changing environment. Kakarot is the answer to the impossible tradeoff between stability of EVM (because good people can durably build on top of it), and adaptability of the protocol to new needs.

I argue that to retain its leadership position, Ethereum needs to incorporate changes efficiently: not too fast, not too slowly and more importantly without waste. Now that there is a strong rollup ecosystem, new improvements to the protocol can be experimented with (and even invented) on rollups and tested with negligible fees.

Ethereum-based L2s need to evolve way faster

We observe the following pattern: builders innovate. Builders hit a wall. Builders ask for changes, changes take some time to hit production. By the time it reaches end users, the needs might have changed or the builders may have churned.

At the end of the day, builders just need a place to experiment (with very low transaction fees), and fast responsiveness from the chain to expand their possibility space. For instance, the former is true for builders on Base, they’re doing an inspiring job at nurturing innovation. The latter will become true for builders on Kakarot.

Take a concrete example, one of the Three Transitions: smart wallets. We believe that what stops users from adopting smart wallets is a mix of: lack of integration, maturity, and ease of use (e.g. address fragmentation accross chains). At Kakarot, we want to try something: account abstraction enabled EOAs, aka EOA+: Keep your L1 address, add new signing keys (e.g. FaceID).
We’ll be able to spec the feature, implement it on testnet, try it with users, and decide if the value add is worth the trouble within a couple of months.

Broke: L2s catching up with L1 changes — Woke: L2s bringing the change to L1

Rollups need to lead the way for improvements made to the protocol. It’s a win-win: users get the value they deserve, and Ethereum gets sensible improvements down the line. So where’s the catch? Most EVM ZK-rollups cannot incorporate changes this fast. This isn’t necessarily true for optimistic rollups (ORUs).

Case in point: take Alphanet, a recently released OP-stack testnet rollup built by Paradigm for experimentation. It is a good example of how a rollup can help lead innovation through trial and error. In just a few hundred lines of code, Alphanet added the AUTH and AUTHCALL opcodes. This allows users to play around with gasless multi-call transactions. What’s in it for you? No more infamous “approve & swap” operations on Ethereum chains. Every set of operations can now become 1-clicked. This also opens up the design space for intents!

Right, so what’s the catch? Are we saying that ORUs are better positioned to surf & lead the next innovation wave? Nope. While it’s easy to add new features to the execution engine, it is harder to incorporate them in the fraud proof system for ORUs.
Kakarot zkEVM was able to incorporate EIP-3074 (the above mentioned AUTH and AUTHCALL) in a few hundred lines of code, both in the execution engine AND the proof system!

Given the complexity of the different fraud proof systems, as well as existing infrastructures for zero-knowledge L2s, we argue that Kakarot is the best positioned to adapt to new needs of the market.
Without going into specifics, this can be explained quite simply: most of existing zkEVMs are built on lower level abstractions called circuits. They’re very performant, but harder to play around with. Kakarot is built on a higher level abstraction, called a zkVM (Cairo in our case).
And because Kakarot is built on Cairo, it is able to separate cryptography from engineering and thus move with extreme agility! Taking a simple analogy: it’s as if others were building using assembly code, while Kakarot was building with Python or Rust. Making a change in our EVM is as accessible and fast as making a PR on Geth or Reth.

zkEVM architecture design tradeoffs space
zkEVM architecture design tradeoffs space

This advantage currently applies mainly to next-gen DeFi: intents & 1-click multi-call, gas-less transactions, seed-phrase-less & passkey signing.

We want to construct the feature roadmap of our network with our end users and builders, with a process that is as iterative as possible. This is simply applying first principles to product: “a network”. This is at best common sense. It’s simply the first occurence of a provable network being able to change so rapidly.

Building a core piece of zk Ethereum infrastructure on top of a zkVM is decidedly a good idea. You may ask: why not build that on top of other zkVMs, i.e. not Cairo but SP1, Jolt or RISC-Zero? Well, long story short: you can. These options will soon become a reality, for instance Citrea is builting a zkEVM on Bitcoin. Kakarot is already a reality.
Additionally, the main differentiators are the underlying tech. We’re betting on the CairoVM, that is specifically built for STARKs, to perform better than others. Additionally, we’re building our client on a novel stack, the Cairo stack. Which offers new possibilities for end users, such as EOA+ (dedicated post coming soon). It is our belief that soon, most zkEVMs will rely on an intermediary zkVM.

How to build a zkEVM: separate cryptography and engineering

After all, we are still at the very infancy of crypto, it feels like the early days of internet: we feel strongly that the crypto primitives will change the world as we know it, but it remains unclear how the events will unfold.

Kakarot: The Second Frontier

Kakarot is the first agile zkEVM, built on first principles and a sound zkVM: Cairo. What does it mean for end users? Feature cycles that last 1 month instead of 2 years for the usual EIP. Crypto needs to experiment with bolder, more innovative solutions, while securing compatibility with the current ecosystem. Kakarot can finally experiment directly in the arena with its community to find the direly needed added value that people await.

Examples that are coming this month, along with the problem they solve:

  • EIP-3074 on Kakarot’s testnet — Gasless + Intent-enabled transactions
  • EOA+: adding a passkey signer to your EOA — Ability to use faceID without changing address or deploying a smart wallet
  • Transaction parallelization: because Kakarot is built on the Cairo stack, it benefits directly from the Starknet performance roadmap and block-STM is coming to our engine (additional sneak peak into the future: x100 on our prover speed and more).

Kakarot: A Homestead for Pioneers

Because Kakarot was born within the Starkware and Starknet ecosystem — inventors of Stark proof and the first general purpose zkVM (Cairo) — the frontiersman spirit infuses Kakarot. By chance, this is completely aligned with the pioneer spirit of early the Ethereum days. After all, Frontier was the name of the first Ethereum hard fork. Homestead was the second. It was not a coincidence. Ethereum is a land for all to join and build the internet of tomorrow.

Homestead Act (1862)
Homestead Act (1862)

Passed on May 20, 1862, the Homestead Act accelerated the settlement of the western territory by granting adult heads of families 160 acres of surveyed public land for a minimal filing fee and five years of continuous residence on that land.

Sure, the parallel with American settlers is perilous. After all, the conquest of the west led to the outing and killing of native Americans, as well as dispossession of land.
Today, the internet and crypto movements are inclusive. In present days, it is citizens of all countries who are at risk of being dispossessed of their online agency and freedom.

Wrapping it up 🥕

Thanks for reading up until now. To conclude: Kakarot has a 10x build speed. We’ll leverage this advantage to co-build an inclusive chain with our community.

It’s been a lot of fun so far: the initial provable RLP implementation was made by a fifteen year-old anon a year ago (s/o flydexo), good first issues are being taken by open source contributors on our RPC repository, last week we were the very first ones to implement EIP-3074. We have already 80+ unique contributors on our repositories (PRs welcome 👑), consider joining in on the fun!

The Way Forward

Here are ideas that we’re very excited about and will start experimenting with very soon:

  • Sequencer fees retroceded to highest gas burners and to most used smart contracts on the chain
  • Enabling zkSharding using Kakarot shards and the Cairo stack
  • Verifying our rollup’s state transition STARK proofs on Aligned Layer and Hyle
  • Exploring the value of submitting DA to Celestia and Avail
  • Proving our blocks with Gevulot
  • Adding new precompiles for BLS: https://eips.ethereum.org/EIPS/eip-2537 to enable new us cases
  • Explore the unlocked UX by the rollup keystore innovation https://hackmd.io/@mdehoog/mksr
  • Using Kakarot as a ZK-rollup kit (Kakarot + Madara + StarkWare Prover), akin to Polygon CDK or the OP Stack.

If you’re intrigued by those topics, come add some new experimental feature to Kakarot! We’ll also launch initiatives of entrepreneurs in residency later this year.

Join us on Twitter and Discord! Testnet will be live before you know it (in a couple of weeks). If you have any questions or comments, hit me up.

Yeet!

--

--