Cover photo

Kakarot

enabling provable EVM compute.

/ nandagopan .

/ nandagopan .


Kakarot is an implementation of the Ethereum Virtual Machine (EVM) in Cairo, the Zero-Knowledge Domain Specific Language(Zk-DSL) from Starkware designed for STARK-based proofs. This setup facilitates verifiable EVM executions, positioning the Kakarot proving engine as a ZkEVM. Currently, in beta, Kakarot functions as an EVM instance within the Starknet ecosystem, providing EVM compatibility on this Layer 2 (L2) network.

significance.

Starknet with its zk-focussed CairoVM has been setting the highest standards for blockchain interactions in the layer 02 space. While ZK-focused EVM implementations aren't uncommon in the Ethereum ecosystem, CairoVM stands out by prioritizing performance and efficiency over EVM compatibility. This design choice differentiates Starknet's execution environment significantly from Ethereum, its settlement layer. Although this approach comes with its own set of advantages, it has also hindered Starknet's integration with the broader Ethereum ecosystem. Ethereum L1, along with its extensive roll-up offerings, benefits from strong network effects and substantial Total Value Locked (TVL), much of which is lost on Starknet due to its incompatibility. One small example is the developer expertise, which is predominantly Solidity-centric on Ethereum, facing a steep learning curve in the Cairofied Starknet environment.

Such divergence from the standard Ethereum design conventions has made it challenging to scale the practical advantages of Starknet to the broader EVM ecosystem. Kakarot aims to resolve this issue by introducing an EVM-compatible execution environment within Starknet. This integration allows seamless interaction between Starknet and the rest of the Ethereum network, enabling users to harness the benefits of STARK-enabled zero-knowledge (zk) provability. Further, it bridges the gap and facilitates developers and projects to access Starknet’s efficiency and scalability while maintaining compatibility with Ethereum standards.

how Kakarot works !?

Kakarot's core EVM is implemented as a Cairo smart contract on Starknet, with an exposed interface in Ethereum JSON-RPC specification. This makes Kakarot's ZkEVM, an Ethereum Virtual Machine (EVM) built on top of Starknet's Zero-Knowledge Virtual Machine (ZK-VM), the CairoVM. Kakarot sets up one-to-one Starknet-compatible account contracts for every EVM account interacting with the network - each assigned a unique Starknet-formatted address. For users with their Externally Owned Accounts (EOAs), the experience remains identical to Ethereum - use their regular wallets, sign transactions with their private key and send them off as usual. Under the hood, Kakarot transforms their Ethereum transactions into Starknet transactions at the RPC (Remote Procedure Call) level, mapping each to a unique hash value. These transformed transactions are then retrieved by a CairoVM client via Starknet RPC and processed by Kakarot's core EVM contract. The execution traces and resulting state changes are forwarded to the Starkware Shared Prover (SHARP), which generates a STARK proof for the transaction. This proof is subsequently sent to Ethereum Layer 1 (L1) for verification -- voila, provable EVM compute.

post image
Kakrot ZkEVM - transaction execution architecture.

implications.

In essence, the Kakarot proving engine creates an EVM runtime within the Starknet ecosystem, establishing it as a first-of-its-kind, multi-VM environment. The implications of this innovation extend beyond merely processing EVM transactions. With the Kakarot ZkEVM, Solidity smart contracts can now interact seamlessly with Cairo contracts and vice versa. This unlocks the potential for faster and cheaper transactions—courtesy of Starknet—while scaling interoperability with the broader Ethereum ecosystem.

Although the Kakarot ZkEVM is currently implemented as a Cairo smart contract on Starknet, its underlying technology could scale beyond the bounds of this Layer 2 network. In the near future, the Kakarot proving engine could evolve into a Type 1 chain-agnostic prover, enabling provable computation for EVM blocks across different environments. This means that adopting the Kakarot ZkEVM could allow any Layer 2 roll-up to transition into a ZK roll-up. Closer are the days of fault-proof chains finally upgrading to ZK technology.

Another potential application includes the development of dedicated provable app chains that settle on Ethereum. Such advancements could significantly enhance the ecosystem’s scalability, efficiency, and interoperability.

At the time of writing, Kakarot has entered its final testnet phase on Starknet Sepolia. KKRT Labs has subjected the Kakarot ZkEVM to a rigorous testing journey, started way back in May 2024 with a public whitelisted testnet, followed by a general public testnet that concluded in October 2024. During this phase, the ZkEVM also underwent a successful audit by Zelic (known for its work on Layer Zero and Solana), solidifying itself as a provably secure and scalable solution. The current testnet phase is expected to conclude by the end of the year (EOY), with the Kakarot ZkEVM aiming to go live on the Starknet mainnet by Q4 2024.

try it out !

As of now, Kakarot supports over 20+ dapps on Starknet Sepolia, aggregating over 250K+ transactions. Users can access testnet funds via the faucet page, request them on Discord, or bridge assets using Gasyard. They can then interact with various dApps listed on the ecosystem page, showcasing the network's growing utility and readiness for mainnet deployment.

Kakarot official website : https://www.kakarot.org/

Kakarot developer docs : https://docs.kakarot.org/

Kakarot faucet : https://sepolia-faucet.kakarot.org/

Kakarot discord : https://discord.gg/kakarotzkevm

Kakarot X(Twitter): https://twitter.com/kakarotzkevm


Arweave TX

vbQw2Qp_GW6Yna8S3P2jMQuhpthyNvgr9JFJsl4agwc

Ehsan
Ehsan
Commented 5 months ago

#kakarot

Kakarot