- What does the EVM do?
The EVM is an application that runs on top of the hardware of the node/ computer that is in the network, but it will also read and execute smart contracts. This ability to execute the code on the ethereum network enables the ability for the nodes reach consensus. It also acts as a security barrier from the smart contract from gain full control of everything on the computer that the EVM is running on and leaves the network vulnerable.
- What is the format of the instructions that the EVM can read?
The format that the EVM reads is in solidity, but complied into byte code for the instructions in the smart contract and have the CPU on the node to execute those instructions.
- What is the relationship between the programming language Solidity and Bytecode?
The relationship between Solidity and Bytecode is that Bytecode is the result of what is compiled out of the solidity programming language. In solidity the code is probably written in the English language and it will compile it down to Bytecode. This lets the EVM read the instructions in that bytecode which was compiled from solidity.
- Why canât Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin does have a programming language (script), but it is primitive and limited. Itâs a not turing complete programming language, meaning it can not solve all the problems it might come across with limited ability to develop applications to solve these problems.
- What is a Turing Complete programming language?
A Turing Complete programming language is a language that allows you to develop any applications or programs that you want. And itâs a language that allows loops. Meaning you can have it do the same thing over and over and over again.