3.3 Ethereum Virtual Machine (EVM)

Ethereum Virtual Machine (EVM) is a decentralized platform that executes smart contracts, allowing for the creation and deployment of decentralized applications (dApps).
A virtual machine is a layer of abstraction between the executable code and the executing machine. This layer is necessary to improve the portability of software and to ensure that applications are separated from each other and from their hosts. The Ethereum Virtual Machine (EVM) is a software platform that developers can use to build decentralized applications (dApps) on Ethereum. All Ethereum accounts and smart contracts live in this virtual machine. The Ethereum virtual machine and EVM codes are designed using memory, bytes, along with blockchain concepts such as Proof-of-Work (PoW) or Proof-of-Stake (PoS), Merkle tree, and hash functions. The purpose of the EVM is to determine what the total Ethereum state will be for each block in the blockchain.