Kakarot KAKAROT
Report IssueKakarot is an Ethereum virtual machine written in Cairo that can be deployed on StarkNet, the L2 solution for Ethereum, and used to run Ethereum smart contracts on StarkNet.
DetailsShort Review Kakarot
Crypto project Kakarot (KAKAROT) is classified as a Blockchain Service. Kakarot is a Utility token that is hosted on the Ethereum Network.
(KAKAROT)
KAKAROT Price Chart
Kakarot Investors
Kakarot cryptocurrency
Kakarot zkEVM is an implementation of the Ethereum Virtual Machine (EVM) written in Cairo. Cairo is a Turing complete language associated with CairoVM. CairoVM provides provable calculations using polynomials and the ZK-STARK proof system. ZkEVM is characterized by its ability to generate provable transactions and therefore provable blocks. Kakarot is built on top of CairoVM, so every transaction performed on Kakarot is provable.
Kakarot zkEVM allows teams to build and deploy EVM applications. Developers can deploy any Solidity (or any EVM-compatible language) on Kakarot, just like they can on Ethereum or Polygon. Their end users can then interact with the dApps using their usual toolchain (Metamask, Wallet connect, etc.).
Ultimately, Kakarot will provide compatibility with Starknet's own protocols and composability across protocols, for example, combining TVL in DeFi and the user base in GameFi.
Fractal Scaling
Kakarot zkEVM can exist in different forms. First, it can be deployed as a smart contract on top of Starknet L2 and thus expose EVM (Ethereum RPC, Ethereum transactions, etc.) on Starknet.
Alternatively, Kakarot can be integrated into the L3 zkEVM deployment stack. This is where the Madara sequencer comes into play.
By combining Madara (Starknet full node) and Kakarot (EVM runtime), an L3 zkEVM can be created. The stack is as follows: a full substrate node that uses CairoVM as the execution engine and Kakarot as the runtime for smart contracts. Transactions on Kakarot can be proven and verified at the settlement level, resulting in fractal scaling compatible with EVM.
Roadmap
Phase 1: Kakarot zkEVM to Starknet - Bring EVM to Starknet
Kakarot will begin to exist as an embedded EVM within Starknet L2. This will allow developers to deploy Solidity (or any other EVM-compatible language) smart contracts directly to Starknet with a set of tools they are familiar with (Foundry, Hardhat, Wagmi, etc.).
Then their end users will be able to interact with their dApps using their normal toolchain (Metamask, Wallet connect, etc.).
TL;DR: The developer and user experience on Kakarot will be exactly the same as Polygon, Scroll or Ethereum L1.
Phase 2: Kakarot x Madara - L3 zkEVM
Kakarot and Madara will be merged into a single stack to enable zkEVM L3 - and L4, L5, etc., when appropriate. Teams will be able to deploy their zkEVM application chains and use proofs of validity to settle transactions on Starknet.
L3s that use proofs of validity (like Kakarot) have an interesting and underappreciated property: the ability to separate security and decentralization. Users can take advantage of the security of Ethereum L1 without requiring the same level of decentralization, i.e. thousands of validators.
As a result of calculations on another layer, gas costs are exponentially lower than on L2, and the performance (TPS) is higher. Note that L2 is already exponentially cheaper than L1. The scalability of cumulative packages increases many times over.
To further reduce gas costs, control testing and data availability (DA) can be separated. Starknet L2 can serve solely as a confirmation layer, while new data availability solutions such as Celestia or EigenDA can be used to publish transaction data.
Users will have the option to choose either option depending on their safety requirements. Hosting both evidence and transaction data on Starknet is a more secure option, and using DA solutions to publish transaction data is a more cost-effective alternative.
Phase 3: Kakarot x Madara - Type 1 zkEVM
Kakarot and Madara can also be combined to enable a Type 1 zkEVM. If the person can: p>
- Write Ethereum Cairo consensus rules inside a Madara x Kakarot full node to provide proof of L1 consensus.
- Switch from Pedersen Merkle Patricia Trie (MPT) to Keccak MPT.
Kakarot will then become a type 1 zkEVM client capable of validating L1 blocks. This is a more advanced use case that depends on the Ethereum roadmap, primarily from Verge. After Verge, keccak can be replaced by poseidon as the preferred hash function for Ethereum. This would help zkEVM commands become type 1, since the main compatibility blocker for zkEVM is the storage design, i.e. implementing Keccak MPT in a provable and fairly cheap way.
Additional Research Topics
- Madara allows Kakarot chains to use the Substrate Messaging Protocol to exchange data between folds.
- Substrate modularity allows Kakarot chains innovate using a consensus protocol.
- Fork-free updates to the Substrate runtime allow Kakarot chains to update the version of their EVMs without hard forks.