What is @KakarotZkEvm and why was it backed by @VitalikButerin and @StarkWareLtd?
Kakarot brings EVM to @Starknet, helping EVM dApps scale 📈
Let's dive deep into it! 🧵
Kakarot brings EVM to @Starknet, helping EVM dApps scale 📈
Let's dive deep into it! 🧵
In this thread, we will cover the following
1️⃣ What is CairoVM?
2️⃣ What is Cairo?
3️⃣ EVM Architecture
4️⃣ Kakarot Architecture
5️⃣ Types of zkEVMs
6️⃣ Kakarot Roadmap
7️⃣ 🍪's Thoughts
1️⃣ What is CairoVM?
2️⃣ What is Cairo?
3️⃣ EVM Architecture
4️⃣ Kakarot Architecture
5️⃣ Types of zkEVMs
6️⃣ Kakarot Roadmap
7️⃣ 🍪's Thoughts
Kakarot zkEVM is an EVM implemented in Cairo, expanding @Starknet's ecosystem robustness by enhancing EVM compatibility. 🤝
Let's understand this step by step.
Brought to you by @PROBLYNTH
Let's understand this step by step.
Brought to you by @PROBLYNTH
2/ What is Cairo?
Turing-complete STARK-friendly CPU architecture
· Turing-complete: Ability of a system to compute any possible calculation/program
· STARK-friendly: Proof system by StarkWare. Off-chain computation integrity is proved by prover, verified by on-chain verifier
Turing-complete STARK-friendly CPU architecture
· Turing-complete: Ability of a system to compute any possible calculation/program
· STARK-friendly: Proof system by StarkWare. Off-chain computation integrity is proved by prover, verified by on-chain verifier
3/ How Cairo Works
Devs can write a program with Cairo in CairoVM to describe the statement (to be proven) in high-level language.
This improves the dev experience as they can leverage the scalability of ZK proofs (ZKPs) without having to learn how to write complex circuits.
Devs can write a program with Cairo in CairoVM to describe the statement (to be proven) in high-level language.
This improves the dev experience as they can leverage the scalability of ZK proofs (ZKPs) without having to learn how to write complex circuits.
4/ EVM Architecture
Mature & well defined VM architecture with:
· 142 opcodes: Instructions used by EVM to execute txns & smart contracts (SC). Require gas to execute
· 9 precompiles: SCs built into Ethereum that handle common operations. Can be called with standard gas cost
Mature & well defined VM architecture with:
· 142 opcodes: Instructions used by EVM to execute txns & smart contracts (SC). Require gas to execute
· 9 precompiles: SCs built into Ethereum that handle common operations. Can be called with standard gas cost
5/ Kakarot Architecture
Kakarot is built on top of CairoVM & is:
· An EVM bytecode interpreter
· A SC deployed on Starknet
· Written in Cairo
Kakarot allows for:
· Deployment of EVM SC as it is
Kakarot is not:
· Blockchain
· Compiler: Does not convert Solidity code into Cairo
Kakarot is built on top of CairoVM & is:
· An EVM bytecode interpreter
· A SC deployed on Starknet
· Written in Cairo
Kakarot allows for:
· Deployment of EVM SC as it is
Kakarot is not:
· Blockchain
· Compiler: Does not convert Solidity code into Cairo
7/ Type 1 zkEVM | Fully Ethereum-equivalent
Does not change Ethereum system to allow easier proof generation
Advantages:
· The ultimate solution to scaling Ethereum
Disadvantages:
· Computation intensive
· Long prove time (takes hours)
E.g.:
· @Scroll_ZKP
· @taikoxyz
Does not change Ethereum system to allow easier proof generation
Advantages:
· The ultimate solution to scaling Ethereum
Disadvantages:
· Computation intensive
· Long prove time (takes hours)
E.g.:
· @Scroll_ZKP
· @taikoxyz
8/ Type 2 zkEVM | Fully EVM-equivalent
Minor modifications to Ethereum system (different hash fx) for
· Easier development
· Faster proof generation
Advantages:
· Most Ethereum dApps work
Disadvantages:
· Inefficiencies & ZK-unfriendliness of EVM remains
E.g.:
· @Scroll_ZKP
Minor modifications to Ethereum system (different hash fx) for
· Easier development
· Faster proof generation
Advantages:
· Most Ethereum dApps work
Disadvantages:
· Inefficiencies & ZK-unfriendliness of EVM remains
E.g.:
· @Scroll_ZKP
9/ Type 2.5 zkEVM | EVM-equivalent, except gas costs
Increase gas costs of specific operations in EVM that are difficult to ZK-prove
Advantages:
· Less risky than more extensive EVM changes
Disadvantages:
· Reduce dev tooling compatibility
· Some dApps will be incompatible
Increase gas costs of specific operations in EVM that are difficult to ZK-prove
Advantages:
· Less risky than more extensive EVM changes
Disadvantages:
· Reduce dev tooling compatibility
· Some dApps will be incompatible
10/ Type 3 zkEVM | Almost EVM-equivalent
Remove features (e.g. precompiles) that are exceptionally hard to implement
Advantages:
· Even faster prover times
· Easier EVM development
Disadvantages:
· Some dApps need re-writing
E.g.:
· @Scroll_ZKP
· @0xPolygon
Remove features (e.g. precompiles) that are exceptionally hard to implement
Advantages:
· Even faster prover times
· Easier EVM development
Disadvantages:
· Some dApps need re-writing
E.g.:
· @Scroll_ZKP
· @0xPolygon
11/ Type 4 zkEVM | High Level Language Equivalent
SC source code (high-level language) compiled to ZK-SNARK-friendly language
Advantages:
· Avoids a lot of overhead
Disadvantages:
· Contracts may not have same address as in EVM
· May not support handwritten EVM bytecode
...
SC source code (high-level language) compiled to ZK-SNARK-friendly language
Advantages:
· Avoids a lot of overhead
Disadvantages:
· Contracts may not have same address as in EVM
· May not support handwritten EVM bytecode
...
12/ Type 4 zkEVM | High Level Language Equivalent
Disadvantages:
· Debugging infra cannot be carried over as they run over EVM bytecode
E.g.:
· @zksync
· @NethermindEth
Disadvantages:
· Debugging infra cannot be carried over as they run over EVM bytecode
E.g.:
· @zksync
· @NethermindEth
14/ Phase 2 | L3 zkEVMs
Deployment of zkEVM app-chains through Kakarot, allow them to leverage validity proofs to settle txns on Starknet.
Made possible by combining Kakarot & @MadaraStarknet (Starknet sequencer based on @substrate_io) into unified stack.
Deployment of zkEVM app-chains through Kakarot, allow them to leverage validity proofs to settle txns on Starknet.
Made possible by combining Kakarot & @MadaraStarknet (Starknet sequencer based on @substrate_io) into unified stack.
15/ Phase 2 | zkEVM-Rollup-as-a-Service
With just 1 click, rollups receive
· App-specific zkEVM deployed on Starknet
· Access to EVM environment
· Fast execution
· Low gas: Use data availability solutions (@CelestiaOrg, @eigenlayer)
· Cryptographic security
With just 1 click, rollups receive
· App-specific zkEVM deployed on Starknet
· Access to EVM environment
· Fast execution
· Low gas: Use data availability solutions (@CelestiaOrg, @eigenlayer)
· Cryptographic security
17/ Phase 3 | Type 1 zkEVM
To achieve this, Kakarot has to:
· Write Ethereum consensus rules in Cairo inside Madara x Kakarot full node to prove L1 consensus
· Switch from Pedersen Merkle Patricia Trie (MPT) to Keccak MPT
...
To achieve this, Kakarot has to:
· Write Ethereum consensus rules in Cairo inside Madara x Kakarot full node to prove L1 consensus
· Switch from Pedersen Merkle Patricia Trie (MPT) to Keccak MPT
...
18/ Phase 3 Uncertainty
This is dependent on Ethereum roadmap: Verge.
Right now, implementing Keccak MPT in a provable & cheap manner is the main compatibility blocker for zkEVMs.
After Verge, Keccak might be replaced by Poseidon as hash fx of choice for Ethereum.
This is dependent on Ethereum roadmap: Verge.
Right now, implementing Keccak MPT in a provable & cheap manner is the main compatibility blocker for zkEVMs.
After Verge, Keccak might be replaced by Poseidon as hash fx of choice for Ethereum.
19/ 🍪's Thoughts
This is definitely a huge step in bringing EVM compatibility to Starknet, but there are some areas of concern revolving Kakarot's success.
This is definitely a huge step in bringing EVM compatibility to Starknet, but there are some areas of concern revolving Kakarot's success.
20/ Highly Competitive ZK Space
With competition from:
· ZK-rollups with different proof systems (SNARK): @Scroll_ZKP, @zksync, @0xPolygon, @taikoxyz, @LineaBuild
· Optimistic-rollups: @optimismFND, @arbitrum, @BuildOnBase
· Different zkVMs: @RiscZero, @HyperOracle
With competition from:
· ZK-rollups with different proof systems (SNARK): @Scroll_ZKP, @zksync, @0xPolygon, @taikoxyz, @LineaBuild
· Optimistic-rollups: @optimismFND, @arbitrum, @BuildOnBase
· Different zkVMs: @RiscZero, @HyperOracle
21/ Product Market Fit (PMF)
In general, rollup-as-a-service is a thesis that has yet to been validated, with 2 key aspects for consideration
· How many rollups will there be to require this service?
· Will rollups prefer to build in-house for sovereignty & customizability?
In general, rollup-as-a-service is a thesis that has yet to been validated, with 2 key aspects for consideration
· How many rollups will there be to require this service?
· Will rollups prefer to build in-house for sovereignty & customizability?
22/ Constant Product Iteration
Kakarot is building a product that is very technically complex, and is likely to require constant iteration to achieve success.
It is also dependent on multiple moving parts including
· Madara
· DA solutions
· Ethereum's roadmap: The Verge
Kakarot is building a product that is very technically complex, and is likely to require constant iteration to achieve success.
It is also dependent on multiple moving parts including
· Madara
· DA solutions
· Ethereum's roadmap: The Verge
23/ Conclusion
This has been it for Kakarot! Congratulations to the team @ETazou @KakarotZkEvm for their pre-seed round and looking forward to the buidling! ✨
Excited for the significant improvement in terms of gas fees and throughput in the future! 🍾
This has been it for Kakarot! Congratulations to the team @ETazou @KakarotZkEvm for their pre-seed round and looking forward to the buidling! ✨
Excited for the significant improvement in terms of gas fees and throughput in the future! 🍾
If you liked this, do follow me at @jinglingcookies and consider joining my Telegram channel where I share my daily reads: t.me.
Would love to discuss with anybody that's keen on the same topics 🙌🏼
Would love to discuss with anybody that's keen on the same topics 🙌🏼
Tagging the team
@KakarotZkEvm
@ETazou
@ClementWalter
@dimahledba
@0xlenny_eth
@MentorNotPseudo
@StarkWareLtd
@Starknet
And experts
@Kristian_cy
@FigmentCapital
@1kxnetwork
@KakarotZkEvm
@ETazou
@ClementWalter
@dimahledba
@0xlenny_eth
@MentorNotPseudo
@StarkWareLtd
@Starknet
And experts
@Kristian_cy
@FigmentCapital
@1kxnetwork
Tagging those that might enjoy the thread
@FishMarketAcad
@0xFinish
@CryptoKoryo
@TechFlowPost
@PANewsCN
@YPSONO_33
@DegenCamp
@CJCJCJCJ_
@cchungccc
@thedailydegenhq
@poopmandefi
@Louround_
@TheDeFinvestor
@Chinchillah_
@0xSalazar
@CryptoShiro_
@eli5_defi
@ViktorDefi
@FishMarketAcad
@0xFinish
@CryptoKoryo
@TechFlowPost
@PANewsCN
@YPSONO_33
@DegenCamp
@CJCJCJCJ_
@cchungccc
@thedailydegenhq
@poopmandefi
@Louround_
@TheDeFinvestor
@Chinchillah_
@0xSalazar
@CryptoShiro_
@eli5_defi
@ViktorDefi
Loading suggestions...