Q1- What does the EVM do?
It reads and executes smart contracts (tells the CPU etc what to do – the CPU executes the contract indirectly via the EVM). It encapsulates the smart contract enabling greater security on each node running the EVM.
Q2- What is the format of the instructions that the EVM can read?
It reads byte code (that it receives from a compiler than “translates” the smart contract from solidity).
Q3- What is the relationship between the programming language Solidity and Bytecode?
The human programmers use the language solidity to program. The complier takes the human-written solidity language and feeds byte code to the EVM.
Q4- Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Because its scripting programming language is very limited – it isn’t a “Turing complete” language.
Q5- What is a Turing Complete programming language?
One that is not limited in what kinds of problems it can solve / allows for any type of problem to be solved