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.

What you’ll learn

  • Basics of Virtual Machines.
  • Basics of Distributed Systems.
  • Decentralized Systems and Consensus.
  • Basics of Blockchain.
  • Ethereum and how is it different from Bitcoin?.
  • Ethereum Accounts and Transactions.
  • Ethereum States – Account State and World State.
  • How Smart Contracts are deployed and called on Ethereum?.
  • Anatomy of EVM.
  • Role of EVM in Smart Contract processing.
  • Role of EVM in State Changes.
  • Stack and Stack Machine.
  • Smart Contract Compilation and Opcodes.
  • What is Nonce and what are its implications?.

Course Content

  • Introduction –> 3 lectures • 2min.
  • Virtual Machines –> 5 lectures • 8min.
  • Distributed Systems –> 9 lectures • 12min.
  • Basics of Blockchain –> 8 lectures • 9min.
  • Basics of Ethereum –> 11 lectures • 20min.
  • Smart Contract Execution on Ethereum –> 3 lectures • 5min.
  • Ethereum Virtual Machine (EVM) –> 7 lectures • 10min.
  • Thank You –> 1 lecture • 1min.

Introduction to Ethereum Virtual Machine (EVM)

Requirements

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

Get Tutorial