Web3 Learning Journey (Recontinued)

Got few weeks off my time due to exams. Have been going through Karmacoma EVM from scratch article series which is written in python. Attempting to build the same in C++. Went through very small progress day by day but finished the first part which is building the execution context. But what exactly is execution context?

Execution context refers to the environment in which a smart contract's code is executed. When a smart contract is executed, the Ethereum Virtual Machine (EVM) creates an execution context for the contract's code to run in. This context includes a memory area where the contract's variables and data are stored and a stack to manage the sequence of function calls within the contract. Execution context:

Execution Context

Been attending zk bootcamp by Encode, got introduced to different types of proving systems like Snark and Starks, languages like Cairo(Doc is very difficult to understand),L2s like Starknet, Mina(L1) (Recursive proof), Noir,rollups like arbitrum,optimism and zkevms like zksync,scroll,polygon zkevm. Currently going through circom which has fair amount of math and theory involved. As for rollups prefer validity rollups on top of optimistic rollups. Realized there's a problem of a centralized sequencer.

Building a zkevm look like an engineering marvel on many levels. Will properly expand this knowledge slowly and will do a write up on topics and weekly update than daily.

Link to evm from scratch in cpp: https://github.com/Saksham010/EVM