Ethereum Virtual Machine (EVM)

An Ethereum Virtual Machine or simply, EVM pertains to a Turing-complete virtual machine that allows for the execution of a code as it is originally intended. The EVM is basically the runtime environment for every smart contract. 

This is the case as every node that exists within the Ethereum blockchain runs on EVM so as to maintain consensus across it. This is needed to improve software portability. EVMs are also necessary so as to ascertain the separation of applications from each other and from their host. 

Under the hood, EVM makes use of a set of instructions that are called “opcodes”. This are used to execute specific tasks. To date, there over 140 unique opcodes; operating together, these opcodes are what allow the EVM to be Turing-complete.