The Ethereum virtual machine (EVM) is the only shortcoming of ZK-Rollup, making it impossible to run decentralized apps (dApps) like the DeFi protocol. This will soon change, as ZK-Rollup offers EVM compatibility for several of the major projects now in development, such as Scroll, Taiko, Polygon, and ConsenSys. A possible candidate to address this problem is Kakarot zkEVM.
Kakarot zkEVM, a Cairo-based Ethereum Virtual Machine (EVM), announced on June 2 that it had completed its pre-seed investment round. Contributors include Ethereum co-founder Vitalik Buterin, Ledger co-founder and VP of innovation Nicolas Bacca, and blockchain scaling company Starkware.
What is Kakarot?
Kakarot is an Ethereum virtual machine in Cairo. That means it can run an EVM bytecode application on StarkNet, an Ethereum Layer 2 scaling solution.
The EVM is a mature, well-defined virtual machine architecture. There are 142 opcodes, 9 precompilations and a democratic method to update these opcodes and precompilations. Would you imagine that in Cairo it would result in a “free” zkEVM, i.e. the scaling property of zero knowledge as a direct result?
The idea quickly gained popularity in the Starknet community. In October 2022, Abdel, the leader of Starkware’s exploration team and member of Ethereum’s core development team, began developing it. Around the same time, Starknet’s open-source building community, with the help of Onlydust, launched a competitive effort. While StarknetCC in Lisbon the former absorbed the latter. Since then, the project has been incubated to take shape.
Cairo is a full language connected to CairoVM – Kakarot zkEVM is developed on top of CairoVM. Teams can use Kakarot zkEVM to build and deploy EVM-compliant apps.
Kakarot apps can be developed in the same way as Ethereum or Polygon programs, using the Solidity programming language or any other EVM-compatible language. Users can interact with deployed apps using traditional technologies such as Metamask or WalletConnect.
CairoVM uses polynomials and the ZK-STARK proof system to provide verifiable calculations. The zkEVM’s ability to create verifiable transactions leading to provable blocks is what makes it useful. Kakarot is based on CairoVM and every transaction performed on it is verifiable.
Teams can use Kakarot zkEVM to create and deploy EVM apps. Developers can use Kakarot to deploy Solidity (or other EVM-compatible languages) exactly as they would with Ethereum or Polygon. After that, their end users can interact with the DApp using their regular tools (little fox wallet, wallet connection, etc.). The team added to the benefits of the integration:
“By counting on a different layer, the gas cost is (asymptotically) exponentially lower than on L2, and the performance (TPS) is higher. The scalability of rollups is piling up and multiplying.”
Kakarot enables compatibility with native Starknet protocols and can build protocols such as merging TVL in DeFi with a user base in GameFi.
Fractal scaling
Kakarot zkEVM can exist in many forms. For starters, it can be deployed as a smart contract on top of Starknet L2, appearing as an (exposed) EVM on Starknet (Ethereum RPC, Ethereum transaction, etc). The project, on the other hand, can be stacked to install L3 zkEVM. This is where the Madara sorter comes in.
A Layer 3 zkEVM can be developed by merging Madara (Starknet complete node) with Kakarot (EVM runtime). The stack consists of a Substrate full node that uses CairoVM as the execution engine and Kakarot as the smart contract term.
Kakarot transactions can be proven and validated at the settlement layer, enabling EVM-compliant fractal scalability. According to the project plan, Kakarot will be an EVM on Starknet Layer 2 in the early stages. Bringing Kakarot zkEVM to Starknet would, according to the researchers, open up a slew of new options and broaden the Starknet ecosystem.
In the future, the project hopes to link to the original Starknet protocols and enable other protocols to work together.
Road map
Phase 1: Kakarot zkEVM on Starknet – Introducing EVM to Starknet
Kakarot will initially appear in Starknet L2 as a built-in EVM, allowing developers to deploy Solidity (or any EVM-compatible language) intelligence directly to Starknet using their trusted toolkits (Foundry, Hardhat, Wagmi, and so on).
Their customers will then be able to interact with their DApps through their standard toolchain (Metamask, Wallet Connect, etc.). Kakarot offers the same developer and user experience as Polygon, Scroll or Ethereum L1.
Stage 2: Kakarot x Madara – L3 zkEVM
Kakarot and Madara combine into a single stack that can handle L3 zkEVM as well as L4, L5, and so on. Teams can install their zkEVM application chain on Starknet and use a valid proof to settle transactions.
Provability can perform the following functions: below-chain computation, at-layer computation, and chain verification.
L3s that use proof of validity contain an intriguing but underappreciated feature: the ability to decouple security from decentralization. Users can take advantage of the security of Ethereum L1 without the same amount of decentralization.
The gas fee is substantially cheaper than that of L2 due to the calculation in a different layer and the performance (TPS) is greater. L2 is already much cheaper than L1. Scalability that is rolled up accumulates and multiplies.
Evidence verification and data availability (DA) can be separated to further reduce gas costs. Starknet L2 can only be used as a proof verification layer, but new data availability solutions such as Celestia or EigenDA can publish transactional data.
Users can choose any option based on their security needs. Posting proofs and transaction data on Starknet is a more secure choice, but publishing transaction data using DA solutions is a more cost-effective choice.
Stage 3: Kakarot x Madara – zkEVM type 1
Type 1 zkEVM can also be enabled by combining Kakarot and Madara.
Cairo is used to building the Ethereum consensus rules within the Madara x Kakarot full node so that the L1 consensus can be proven. Keccak MPT has replaced Pedersen Merkle Patricia Trie (MPT).
Kakarot will then be a type 1 zkEVM with the ability to testify for L1 blocks. This is a more complex use case that depends on Ethereum (particularly Verge) development. Poseidon may replace Keccak as Ethereum’s preferred hash algorithm after Verge. This will help the zkEVM team to become a type 1 as the main compatibility barrier for zkEVM is the storage layout i.e. implementing Keccak MPT in a demonstrable and quite affordable way.
DISCLAIMER: The information on this website is intended as general market commentary and does not constitute investment advice. We recommend that you do your own research before investing.