Homework on EVM

  1. What does the EVM do?
    it is a virtual machine on top of the nodes in the Ethereum network that ensure smart contract are executed and also provide security
  2. What is the format of the instructions that the EVM can read?
    EVM reads bytecode
  3. What is the relationship between the programming language Solidity and Bytecode?
    solidity it is compiled into byte code using a compiler and then the EVM can read and execute the language and execute in a node
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because Bitcoin pprogramming languager script is not turing complete
  5. What is a Turing Complete programming language?
    it is a language that can execute whatever intructions or program desired
1 Like
  1. The EVM stands for the Ethereum virtual machine. It is a piece of code which stands for the Ethereum virtual machine. it is a piece of code which runs on the hardware of all nodes on the Ethereum network.
    The EVM is the operating system which tells the CPU’s on the network to execute the smart contracts. It also acts as a barrier between the SC and the CPU, as the SC would start giving instructions to the CPU.

  2. The EVM reads byte code.

  3. However the SC is originally written in a programming language like solidity, but converted into byte code using something called a compiler.

  4. Bitcoin is written using the script programming language, meaning it’s not turing complete. Ethereum on the other hand uses Solidity which was originally designed as turing complete from the outset.

  5. A language which, theoretically, can enable you to program a SC to do just about anything.

1 Like
  1. What does the EVM do?
    EVM acronym Ethereum Virtual Machine.

  2. What is the format of the instructions that the EVM can read?
    EVM read byte code.

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is compiled into byte code where EVM can read to execute instruction.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin NOT Turing Complete where as Ethereum IS Turing Complete.

  5. What is a Turing Complete programming language?
    Turing Complete can solve many complex problems and allows to run loops.

1 Like
  1. What does the EVM do?

Ethereum Virtual Machine exists on every node in the Ethereum blockchain. It will read the instructions on smart contracts and tell the CPU of the computer how to execute them. It’s a medium of safety between the smart contract and the computer.

  1. What is the format of the instructions that the EVM can read?

EVM can read the instructions written on smart contracts, programmed in solidity (or in viper) or any other programming language for that matter.

  1. What is the relationship between the programming language Solidity and Bytecode?

The code in a smart contract is written in a programming language called solidity. Before reaching EVM, the code will be processed by an application called compiler, and then formed into a byte code, which can be read by EVM.

  1. Why can’t Bitcoin run the same type of complex programs like Ethereum can?

Because the programming language in bitcoin (script) is not turing complete.

  1. What is a Turing Complete programming language?

It’s a language, which can be programmed in any way a coder desires. Contrary to the non-turing language it can solve any problem and can also run loops, which mean that the same task can be executed multiple times.

1 Like
  1. The EVM tells the CPU to execute smart contracts. All nodes have to run the EVM to achieve consensus.
  2. Byte code
  3. Solidity is the programming language. A compiler then converts it to Byte code that the EVM can read.
  4. Because Bitcoin uses script which is not Turing complete.
  5. A Turing complete language can do complex programming
1 Like

These images are clear and concise. Thank you. They have helped me every step of the way.

1 Like
  1. The Ethereum Virtual Machine is software that reads the instructions of the smart contract and tells the CPU how to execute. This adds a layer of security.

  2. Byte code

  3. The smart contract code is written in Solidity. It is then compiled into byte code to be executed by the EVM.

  4. Bitcoin isn’t Turing Complete when written in it’s Script code. Turing complete code is can read loops of instruction. This could potentially spam the Bitcoin network.

  5. Turing complete code can be programmed to do complex tasks that have the ability to do looped instructions.

1 Like

What does the EVM do?

It allows smart contracts to be executed by running commands and calculations and then getting the CPU to execute them.

What is the format of the Instructions that the EVM can read?

The EVM reads the Bytecode format

What is the relationship between the programming language solidity and Bytecode?

Solidity is the programming language of smart contracts on the Ethereum blockchain. The EVM takes these commands and calculations and compiles them into Bytecode to be executed by the CPU.

Why can’t Bitcoin run the same type of complex programs like ethereum can?

Bitcoin has a programming language called scrypt. It is not a Turing Complete language as it can only carry out simple interactions.

What is a Turing Complete programming language?

Turing Complete language can be used to complete any considerable task.

1 Like
  1. EVM is a program runs on all of the nodes within the Ethereum blockchain. It reads and execute smart contracts with the the CPU and help the network reach consensus.
  2. ByteCode.
  3. Solidity is the coding language for Ethereum. When instruction is written in solidity, it compiled into byte code.
  4. Bitcoin has its own simple language, script. It is not Turing complete.
  5. A language that can do any type of function such as loops.
1 Like
  1. Runs Solidity code.

  2. Smart Contracts.

  3. Solidity is compiled to bytecode.

  4. The Bitcoin Script language is not Turing complete and is thus very limited.

  5. A Turing complete language can solve any computational problem.

  1. What does the EVM do?
    EVM reads the set of instructions within the smart contract.

  2. What is the format of the instructions that the EVM can read?
    The instructions are in bytecode.

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is written in an “english” type of style. Solidity then compiles the set of instructions into bytecode so the EVM can read the program.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin is written in Script language and is unable to run loops.

  5. What is a Turing Complete programming language?
    TC is a language that allows programmers to include any kind of instructions including looping.

1 Like
  1. What does the EVM do?
    It makes it possible for us to execute code on Ethereum network in a way we’re all in consensus what the result should be.
  2. What is the format of the instructions that the EVM can read?
    Bytecode
  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity programming language is sent to Complier which turns it into Bytecode so EVM can read the programme.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because Bitcoin uses Script programming language that is basic, not Turing Complete and has very limited options.
  5. What is a Turing Complete programming language?
    It’s a language that you can use to tell the software to do one thing several times.
1 Like
  1. What does the EVM do?
    Ethereum Virtual Machine is a piece of code that is running on all these nodes that are storin the blockchain and at the first place EVM can read the smart contracts and will tel the CPU what to execute…it encapsule CPU for security reasons
  2. What is the format of the instructions that the EVM can read?
    bytecode
  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is a programming language and it is a compiler who traduce solidity to bytecode
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    because BTChas some simple programmability and can not resolve all problems because of the simplicity of the script
  5. What is a Turing Complete programming language?
    Turing Complete programm meaans that it is possible to programm whatecer you desires, has mre possibilities for developers like implementation of loops.
1 Like
  1. The EVM translates the Solidity code to the CPU.

  2. Bytecode

  3. Solidity is a programming language used on the Ethereum blockchain to write code and smart contracts and then a compiler is used to translate it to Bytecode for the cpu to read.

  4. The Script language used for Bitcoin does not allow for that kind of scaleability.

  5. A Turing complete language is a used to program solutions for more complex problems and adds the ability to program a solution for almost any use case.

1 Like
  1. What does the EVM do?
    The EVM executes the byte code of a smart contract. It runs on every node in the network, and creates a safe execution environment.

  2. What is the format of the instructions that the EVM can read?
    Bytecode.

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is the language the programmers use. A compiler translates a solidity program into bytecode.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because Bitcoin is designed to be NOT Turing complete. Reasons to keep the language simple: to prevent spamming (by large loops), and to prevent large blocks.

  5. What is a Turing Complete programming language?
    A programming language that is sufficiently rich in instruction types that will allow the programmer to program anything he wants.

1 Like
  1. EVM acts as a firewall for the CPU on each node, blocking out any harmful or malicious pieces of data on a smart contract which could damage the CPU.

  2. EVM read data in Byte code.

  3. Solidity is the language in which developers code smart contracts. Bytecode is the Solidity code after it is run through a compiler which makes it readable to each node’s EVM.

  4. Bitcoin can’t run the same programs as Ethereum because its network coding language, Script, is not turing complete, meaning it cannot be used to code/understand complex applications and contracts.

  5. Turing complete coding language is a more advanced language, like Solidity, on which you can create complex smart contracts to achieve various outcomes.

1 Like
  1. EVM- Ethereum Virtual Machine- reads the smart contracts in byte code and controls security features to prevent malicious codes entering the blockchain
  2. EVM reads in byte code instructions compiled from Solidity/Vyper programming language
    3)solidity is the programming language that is used to create instructions in byte code within the ethereum network.
  3. Btc uses Script programming language which is not Turing-complete, and it does not allow use of loops. The developers were fearful that if loops are allowed this may lead to overloading the network as someone may create a loop that executes indefinitely
    5)TC language offers the freedom to create any transactions one can think of. It also offers the use of loops that is very useful in creating smart contracts as allow multiple execution of the same program or transaction avoiding the need to manually write new piece of code for every execution
1 Like

What is the format of the instructions that the EVM can read?

Quite close sir, but the format is ByteCode, you write the smart contracts on solidity or vyper, but then it will be compiled into ByteCode so the EVM can execute its instructions.

If you have any more questions, please let us know so we can help you! :slight_smile:

Carlos Z.

  1. The Ethereum Virtual Machine is an isolated program that distributes byte code compiled from coding languages such as solidity to all nodes on the Ethereum Blockchain. EVM also works as security for the node’s CPUs.

  2. The EVM can read code in ByteCode format.

  3. Solidity is the Ethereum Native coding language developers can use to write code on the blockchain. When a programmer writes code in Solidity, it is compiled into ByteCode in order to be executed by the EVM.

  4. The Bitcoin Blockchain cannot smart contracts because its native programming language, Script, is too primal.

  5. A Turing Complete programming language is a language that allows for complex coding, such as the ability to apply loops.

1 Like
  1. EVM acts as an intermediary between the smart contracts and the nodes. it also reads all of the instructions and helps each node CPU execute the Smart contract while keeping the network safe

  2. Bytecode

  3. Solidity is used used to program the the smart contracts and via a compiler translated to Bytecode so that the EVM can read it

  4. Bitcoin used a more primitive programing language called script which is not Turing complete

  5. Loops are available on a touring complete language allowing the ability and flexibility to program what every you would like … in theory

1 Like