One of the most important evolutions that Ethereum has brought is programmability on blockchains. This is made possible with the use of Ethereum Virtual Machine or EVM.
Although the term EVM is known to many – how EVM really works and how EVM fits into the overall workings of the Ethereum Blockchain is not understood widely.
Also, many blockchains, L2s and other related systems claim to be EVM compatible – what does it mean? We cannot understand EVM compatibility without understanding EVMs,
To understand EVM, we need to understand virtual machines, distributed systems, blockchains, smart contract execution on Ethereum etc.
So, this course touches upon all these topics.
To be clear, this is not a programming course but this course requires some prior understanding of software systems.
So, let us dive into it.
Some topics we will touch upon in this course among others:
What is a Virtual Machine?
How do VMs work?
Benefits and Limitations of VMs
Process vs System Virtual Machines
What is a Distributed System?
Benefits and Limitation of Distributed Systems
Clients and Nodes
Models of Distributed Systems – Master-Slave and Peer-to-Peer
Distributed vs Decentralized Systems
Distributed Systems and Client Diversity
What is a Blockchain?
Understanding Blocks
State and State Transition
Blockchain Hashing – Hash Tree and Root
Consensus in Blockchains
Accounts and Smart Contracts
Network Fee – Gas
Difference between Bitcoin and Ethereum
What is Ethereum?
Ethereum Accounts – EOA and CA
Ethereum Transactions
Nonce
Contract Creation and Message Calls
Account State and World State
Smart Contracts on Ethereum and Solidity
Smart Contract Compilation – Opcodes
Role of EVM in Ethereum
What is EVM?
Stack and Stack Machine
EVM Architecture
EVM Code and Smart Contract Execution
Gas Accounting
Virtual Machines
Distributed Systems
Basics of Blockchain
-
9What is a Distributed System?
-
10Benefits of Distributed Systems
-
11Problems with Distributed Systems - CAP Theorem
-
12Clients and Nodes
-
13Models of Distributed Systems - Master-Slave and Peer-to-Peer
-
14Use Cases of Distributed Systems
-
15Distributed vs Decentralized System?
-
16Consensus Process
-
17Distributed Systems and Client Diversity
Basics of Ethereum
Smart Contract Execution on Ethereum
-
26Emergence of Ethereum
-
27What is Ethereum?
-
28Difference between Bitcoin and Ethereum
-
29Ethereum from a high level
-
30Ethereum Node Layers
-
31Ethereum Accounts - EOA and CA
-
32Ethereum Transactions
-
33Nonce
-
34Transaction States
-
35Types of Transactions - Contract Creation and Message Calls
-
36Atomicity and Order of Transactions