What does the EVM do?
The EVM runs on top of the CPU, similar to an OS, and enables to read and execute code on the network, in this case Smart Contracts. It also increases the security across the network to make sure the CPU doesn’t make wrong calculations on the code, or that any Rogue Smart Contract makes changes in the computations of the CPU.
What is the format of the instructions that the EVM can read?
EVM can read Bytecode, either compiled by SOLIDIY, VIPER, or any other language in where we can program for the EVM environment.
What is the relationship between the programming language Solidity and Bytecode?
Solidity is where we can write our smart contracts, like any programming language it has it syntax (but for this case it doesn’t matter). But when we are exporting (aka compiling) it will write all command in Bytecode, so the EVM can read, interpret and execute the Smart Contracts.
Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Just because when Bitcoin was developed it was only designed to have simple code, to act just as currency (it is called a NOT Touring Complete language). It can run small programs, called scripts, but it has limitations. P.e. it can read multiple signatures and then approve a transaction.
What is a Turing Complete programming language?
A Touring Complete programming language is a language, that in theory will allow us to do any computational calculations. One main characteristic is that we can include loops, and loops can be programmed with several inputs and outputs, according to the instructions inside a loop.