- What does the EVM do?
It encapsulates (isolates) the smart contract from the CPU of the node. It protects the CPU, the smart contract has to be interpreted by the EVM and then the EVM interacts with the CPU. The CPU will provide the results back to the EVM.
- What is the format of the instructions that the EVM can read?
They can read the byte code. A smart contact will be written in a programming language (Solidity or Viper) and then will be compiled into byte code. The EVM does not care what language the smart contract is written in, it just needs to be compiled into the byte code.
- What is the relationship between the programming language Solidity and Bytecode?
Solidity is the programming language that the developer will write in. The programme/smart contract must them be run through a compiler to turn it into the bytecode. It must go through this step for the EVM to read it.
- Why canât Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin Script is not a Turing Complete language, whereas Ethereum is.
- What is a Turing Complete programming language?
It can solve any any computational problem given enough time, no matter how complex (and enough available memory). An example of functionality is the ability to do loops.