Vitalik participates in the investment, how does Kakarot introduce EVM to Starknet?

Analysts In this article, we will explore the various phases of Kakarot, their strengths and weaknesses, as well as the challenges and opportunities facing the project.

Author: s

Compilation: Deep Tide TechFlow

Kakarot zkEVM is an EVM implemented in Cairo. By enhancing the compatibility of EVM, it expands the ecosystem of Starknet. What did it use to win the support of Vitalik and StarkWare? Analysts In this article, we will explore the various phases of Kakarot, their strengths and weaknesses, as well as the challenges and opportunities facing the project.

What is CairoVM?

Kakarot is built on the virtual machine (VM) CairoVM, which is the infrastructure of Starknet.

Key features of CairoVM:

  • Represent execution as a polynomial (equation) for provable execution;
  • Allows the use of STARK to prove all Starknet transactions.

What is Cairo?

Turing complete STARK friendly CPU architecture:

  • Turing completeness: the system can calculate any possible calculation/program;
  • STARK FRIENDLY: Proof system provided by StarkWare. Computational integrity off-chain is proven by provers and verified by on-chain verifiers.

How Cairo works

Developers can use Cairo to write programs in CairoVM to describe statements to be proved in a high-level language. This improves the developer experience as they can take advantage of the scalability of zero-knowledge proofs (ZKPs) without having to learn how to write complex circuits.

Kakarot architecture

Kakarot is built on top of CairoVM and is:

  • EVM bytecode interpreter;
  • SC deployed on Starknet;
  • Written in Cairo.

Kakarot allows:

  • Deploy an existing EVM SC.

Kakarot is not:

  • Blockchain;
  • Compiler: Does not convert Solidity code to Cairo.

As of May 2023:

  • 100% bytecode architecture (Type 3 zkEVM);
  • Implemented 8/9 EVM precompilation.

After implementing 9/9 EVM precompilations, Kakarot will become Type 2.5 zkEVM.

Type 1 zkEVM is completely equivalent to Ethereum, without changing the Ethereum system to generate proofs more easily,

Pros: The ultimate solution to scaling Ethereum.

Disadvantages: Computationally intensive, long proof (requires hours).

For example: Scroll, Taiko.

Type 2 zkEVM is fully equivalent to the EVM, with slight modifications to the Ethereum system (using a different hash function) in order to:

  • Easier development;
  • Faster proof generation.

Pros: Available for most Ethereum dApps.

Disadvantages: The efficiency of EVM and ZK is not friendly.

For example Scroll.

Type 2.5 zkEVM is equivalent to EVM except for Gas cost. It increases the gas cost of specific operations in the EVM that are difficult to prove with ZK.

Pros: less risk than wider EVM

Disadvantages: Reduced development tool compatibility, some dApps will not be compatible.

Type 3 zkEVM is almost identical to the EVM, only features that are particularly difficult to implement (such as precompilation) are removed.

Pros: Even faster proof times, easier EVM development.

Cons: Some dApps need to be rewritten.

For example:

  • Scroll;
  • Polygon

Type 4 zkEVM high-level language equivalent, compiling SC source code (high-level language) into a ZK-SNARK friendly language.

Pros: Avoids a lot of overhead.

Cons: Contracts may not have the same address as EVM, handwritten EVM bytecode may not be supported, infrastructure cannot be transferred because they run on EVM bytecode.

For example:

  • zksync;
  • Nethermind.

Kakarot Roadmap | Phase 1 | Bringing EVM to Starknet

Kakarot will initially exist in Starknet as an Enshrined EVM. The developer and user experience (UX) will be exactly the same as Polygon, Scroll or Ethereum.

Phase 2 | L3 zkEVMs

Deploying zkEVM appchains via Kakarot enables them to resolve txns on Starknet using proof of validity. This is achieved by combining Kakarot and MadaraStarknet into a unified stack.

With just 1 click, Rollups gets you:

  • Application-specific zkEVM deployed on Starknet;
  • Access to the EVM environment;
  • Fast execution;
  • Low Gas: Use data availability solutions.
  • Safety.

Run Solidity SC in CairoVM by using Kakarot: Any Solidity SC deployed on EVM will be able to run on Starknet without code changes.

The advantages of being able to have both:

  • EVM efficiency;
  • Smart contracts become provable.

Phase 3 | Type 1 zkEVM

In order to achieve this, Kakarot must:

  • Use Cairo to write Ethereum consensus rules in Madara x Kakarot full node to prove L1 consensus;
  • Switched from Pedersen Merkle Patricia Trie (MPT) to Keccak MPT.

It depends on the Ethereum roadmap: Verge. Currently, implementing Keccak MPT in a provably cheap manner is the main compatibility impediment for zkEVM. After Verge, Keccak may be replaced by Poseidon as Ethereum's preferred hash function.

my thoughts

This is definitely a big step in bringing EVM compatibility to Starknet, but there are some concerns surrounding Kakarot's success.

Facing competition from the following competitors:

  • ZK-rollup with different proof systems (SNARK): Scroll, zksync, Polygon, Taiko, Linea;
  • Optimistic-rollups: Optimism、Decision、Base;
  • Different zkVMs: RISC Zero, Hyper Oracle.

Product Market Fit (PMF)

Overall, Rollup-as-a-service is an untested argument that requires consideration of two key aspects:

  • How many Rollups will need this service?
  • Does Rollup prefer internal builds for sovereignty and customizability?

Continuously iterate products

Kakarot is building a very technically complex product that will likely require constant iteration to succeed. It also depends on several components, including:

  • Milk;
  • DA solution;
  • Ethereum’s roadmap: The Verge.
View Original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Reward
  • Comment
  • Share
Comment
0/400
No comments
Trade Crypto Anywhere Anytime
qrCode
Scan to download Gate app
Community
English
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)