Introduction to Ethereum Virtual Machine (EVM)

From Distributed Ledger to World Computer


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


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

Who this course is for:

  • Techies and analysts with a tech background who want to understand EVM.

Tutorial Bar