- What does the EVM do?
The EVM reads the SC instructions and executes them consensually within the ETH network. It functions as a form of security wall between the Smart Contract and the CPU of the node.
- What is the format of the instructions that the EVM can read?
All instructions are read in bytecode
- What is the relationship between the programming language Solidity and Bytecode
Solidity is a programming language similar to JavaScript used to program all instructions in the SC. With special applications these instructions are then compiled down to byte code so the EVM is able to read it.
- Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin´s programming language is Script, which unlike solidity isn´t turing complete. In other words it is limited in what it can do e.g., can´t loop. Back when Vitalik worked for Bitcoin he proposed to implement a turing complete language, but it was rejected, due to the people wanting bitcoin to stay as it is, namely digital money. Furthermore they didn´t want the network to get spammed and wanted to stay away from all those SCs being implemented in the blockchain and consume all the space in the blocks.
- What is a Turing Complete programming language?
A programming language is Turing Complete, whenever it´s able find an answer to any given problem.