- What does the EVM do?
The Ethereum Virtual Machine (EVM) is a robust, sandboxed virtual implicit enclosed within each complete Ethereum node,
capable of performing contract bytecode. Contracts are normally inscribed in higher-level languages, like Solidity,
then gathered to EVM bytecode.
2. What is the format of the instructions that the EVM can read? The Ethereum VM is a stack-based, big-endian VM with a word size of 256-bits and is used to run the smart contracts on the Ethereum blockchain.
Smart contracts are just like regular accounts, except they run EVM bytecode when receiving a transaction, allowing them to perform calculations and further transactions.
Transactions can carry a payload of 0 or more bytes of data, which is used to specify the type of interaction with
a contract and any additional information. Contract execution starts at the beginning of the bytecode.
Each opcode is encoded as one byte, except for the PUSH opcodes, which take a immediate value.
All opcodes pop their operands from the top of the stack and push their result.
3. What is the relationship between the programming language Solidity and Bytecode?
Solidity is compiled to bytecode that is executable on the EVM. With Solidity, developers are able to write applications
that implement self-enforcing business logic embodied in smart contracts, leaving a non-repudiable and authoritative record of transactions
4. Why canât Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin uses a scripting system for transactions. Forth-like, Script is simple, stack-based, and processed from left to right.
It is purposefully not Turing-complete, with no loops.
5. What is a Turing Complete programming language?
Solidity