1. What does the EVM do?
The âEthereum Virtual Machineâ is a program that every node must run in order to interpret smart contracts and reach consensus. This EVM is capsulated meaning the code of a smart contract can not affect youre system.
The EVM is necessary because when executing a smart contract all nodes must execute the code, reach the same result and propagate it through the network in order to reach consensus.
2. What is the format of the instructions that the EVM can read?
The format of the instructions the âEVMâ can read is called âBYTEcodeâ
3. What is the relationship between the programming language Solidity and Bytecode?
If i understood correctly ( correct me if wrong please ). Solidity is the programming language that âbuildsâ the smart contract, then it is compiled into BYTEcode in order for nodes and their EVM to make use of them.
4. Why canât Bitcoin run the same type of complex programs like Ethereum can?
Because bitcoins programming language âScriptâ is not turing complete. Meaning that unlike Solidity there are things that can not be done with Script.
5. What is a Turing Complete programming language?
A Turing complete programming language is a language that can âin theoryâ program any application you want. Like C++ for example. Solidity would also be defined as Turing complete.