# Ethereum Virtual Machine (EVM)

The Ethereum Virtual Machine (EVM) is a software platform developers can use to build decentralized applications (dApps) on top of Ethereum. All Ethereum accounts and smart contracts live in this virtual machine. The Ethereum virtual machine and EVM code are designed using memory, bytes, and blockchain concepts like Proof-of-Work (PoW) or Proof-of-Stake (PoS), Merkle tree, and hash functions. The EVM's purpose is to determine the entire state of Ethereum for each block in the blockchain
