- What does the EVM do?
EVM executes the solidity byte code in a secure manner.
- What is the format of the instructions that the EVM can read?
The EVM executes compiled smart contract bytecode.
- What is the relationship between the programming language Solidity and Bytecode?
Solidity is the programming language and bytecode is a Solidity program (smart contract) compiled into bytecode.
- Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin blockchain has limited capabilities e.g. does not have integrated the required tools to develop smart contracts. Also the Bitcoin programming language script is not a Turing compatible language and therefore cannot execute complex code.
- What is a Turing Complete programming language?
Modern programming languages are said to be Turing complete because they can accomplish the same computing principles noted in Turing’s theory. The Turing machine itself is composed of three theoretical components:
1. A limited set of states e.g. a smart contract can change state
2. An infinite amount of storage e.g. Blockchain practically provides that storage
3. A transition function e.g. a smart contract using EVM changes state
In simple words a Turing compatible language has better expression capabilities and therefore can be used to solve more complex problems.