The Ethereum network provides a decentralised execution environment powered by the Ethereum Virtual Machine (EVM). The EVM executes smart contracts, the programs that encode the business logic of decentralised applications (dApps) running on the network. Smart contracts on Ethereum can be written in high-level languages like Solidity or Vyper, but must be compiled to EVM bytecode to be executed by the EVM.