Homework on EVM

The EVM protects the network from rogue code taking over the cpus on the nodes. The EVM reads byte code. Bytecode is compiled Solidity code. BTC cant run the same type of complex programming as Ethereum because BTC is not Turning Complete. A Turing Complete programming language uses loops and is dynamic allowing virutally anything to be programmed.

What does the EVM do?
It reads the program and tells the cpu to execute it. At the same time it is working as a security, so that you can’t build a program that is reading nodes harddrives for example.
What is the format of the instructions that the EVM can read?
Byte code
What is the relationship between the programming language Solidity and Bytecode?
The program code is written is solidity and then compiled into byte code.
Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Because it bitcoin has a programming language called script, that is not turing complete.
What is a Turing Complete programming language?
You are able to program everything you could think of. There is for example loops that is not featured in a not turing complete language.

  1. What does the EVM do?
    It reads the Byte Code and tells the CPU to execute the terms of smart contracts
  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 compiler takes code and compiles logic and instructions into Bytecode
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin has script like multi sig contracts. Scripts is not Turing complete. It is not able to solve all problems. Bitcoin did not implement due to spamming loops and block size limitation.
  5. What is a Turing Complete programming language?
    Turing complete language contains Loops
  1. EVM executes bytecode in a safe sandbox
  2. bytecode
  3. Solidity sorce code is compiled to produce Bytecode readable by EVM
  4. The Bitcoin script is not turing complete.
  5. Turing Complete programming language can do anything.
1 Like
  1. What does the EVM do?
    EVM is Ethereum Virtual Machine. It can read and execute Smart Contracts.It also has nodes like BTC
    that need to have consensus to complete the instructions within the Smart Contract
  2. What is the format of the instructions that the EVM can read?
    It can read the compiled Bytes.
  3. What is the relationship between the programming language Solidity and Bytecode?
    The programming language Solidity is transferred to Bytecode and then EVM reads the instructions
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin is Script which is limited and not turing complete. (can not solve all problems like Solidity Language)
  5. What is a Turing Complete programming language?
    You can program anything you want. It has what is called Loops. This allows you to tell the program to do things more than once. For Example 100 times
  1. The EVM executes the the smart contracts instead of the CPU.
  2. EVM can read any coding, but in this case it reads Solidity.
  3. The EVM executes the programming language Solidity and turns it into Bytecode, which the CPU reads and executes.
  4. Bitcoin uses the Script programming code, which is not Turing Complete and can only execute limited things such as multi-sig.
  5. A Turing Complete programming language means that you can program anything you want. Solidity is an example of a Turing Complete programming language.

thanks for the correction :smile:

1 Like

Homework on EVM - Questions (Updated on Dec 3 2019)

  1. What does the EVM do?

EVM makes sure that the smart contract can’t give instructions directly to your’e computer (CPU).
EVM will read the smart contract instructions using programming language like solidity or viper.
EVM is an application that runs on all the nodes in the network and all of the nodes need to have the same results (consensus) to execute the contract.

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

Bytecode

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

Solidity compiles the Solidity code to byte code after which the EVM can read and execute the byte code.

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

Because Bitcoin works with the programming language called script which is not turing complete.

  1. What is a Turing Complete programming language?

Programmable language that can tell software to do things several times (loops).
With Turing complete programming you can program anything you want!

1. What does the EVM do?

EVM is actually a virtual machine to translate from language to code but also puts a security level so no malicious programm can take over the computer that wants to run an application.

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

EVM can read and understand the Solidity or Viper language and transforme it in Bytecode.

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

Both Bytecode and Solidity are depending on EVM to make things run on smart contracts.

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

Because it is written in script which is not Turing Complet and can’t make loops.

5. What is a Turing Complete programming language?

A Turing Complete programming language is a language that has the possibility to make loops in the code so we don’t have to write again and again the same things.

  1. EVM is what runs on the ethereum nodes that execute the smart contracts which was compiled in byte code.
  2. In bytecode
  3. Solidity is the code that the smart contract is written in and then compiled into a computer language, byte code, to execute on the EVM.
  4. Bitcoin code is non turing and can therefore not handle complex programs.
  5. Its a language where anything theoretically you can conceive can be written in a smart contract.

It can’t do everthing! otherwise I would program it to understand the universe, my girlfriend, ect… :sweat_smile:

  1. It acts as a layered protocol for instructions on the CPU of nodes on the Ethereum blockchain network.
  2. It reads in bytecode.
  3. Solidity is connected to the EVM in bytecode.
  4. It was meant to function as digital cash and its scripted language isn’t Turing complete.
  5. A programming language that has loops which can solve problems.
  1. it reads the smart contracts
    2.byte code
    3.the EVM use a compiler to take solidity whit is Turing complete turns it into bytecode
    4.becuse bitcoin uses script language which is not a turing complete language
    5.that is when the code language is complete meaning you can in theory program it to do anything

Sounds like you need to write a smart contract that sends coins to your girlfriend upon successful completion of personal activities… if you know what I mean :slight_smile:

1 Like
  1. What does the EVM do?
    Virtual machine running on all nodes of the network. It executes the smart contract code.
  2. What is the format of the instructions that the EVM can read?
    Code is written in Solidity.
  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is the higher level programmng language, that is used to write the smart contract coding. This code will be compiled into machine readable bytecode.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin have a strictly limited programming language (Script), which is not touring complete.
  5. What is a Turing Complete programming language?
    Touring complete languages can handle complex implementations and have a lot of possible structures, types, loops, conditions, etc.
1 Like

1-The EVM Ethereum Virtual Machine runs reads and executes the smart contract on the node CPU

2- Bytecode

3- Solidity is the actual language used by the programmers while Bytecode is the derived executable code by the EVM after the language program has been compiled

4- Bitcoin uses a simple not turing complete programming language called Script. Script can not handle complexe commands such as loops, which are required for advanced smart contract programming.

5- A turing complete program provides advanced commands such as loops commands and is capable of programming problems of any complexity.

2 Likes
  1. EVM allows smart contracts to be run on the ethereum network, by installing its virtual machine on the nodes OS, keeping it secure and away from direct CPU processing.

  2. The EVM reads byte code, compiled from Solidity, and/or Viper.

  3. Solidity language is the programmer friendly syntax used to prepare or create the program instructions, that then need to be parsed through a compiler software, that then converts the code into byte code.

  4. Bitcoin is not Turing complete, so it can only perform basic or limited instruction.

  5. A Turing complete prog language is one that can perform pretty much any request, and is capable of much more complex and powerful instructions such as dynamic loops.

  1. EVM executes smart contracts.
  2. EVM reads the byte code.
  3. The program written in Solidity will be compiled in byte code and then the EVM will read the instructions from byte code.
  4. Because the programming language, script, is not turing complete.
  5. In a turing complete programming language you can program anything, you have no limitations.
1 Like

1. What does the EVM do?
2. What is the format of the instructions that the EVM can read?
3. What is the relationship between the programming language Solidity and Bytecode?
4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
5. What is a Turing Complete programming language?

  1. EVM makes it possible to execute code on the Ethereum network with consus between all the nodes.
  2. Byte code.
  3. Solidity in the programming language used on the Ethereum blockchain network. The EVM runs on top of the CPU harware, reads the byte code instructions, does the calculations and then tell the computer CPU what to do.
  4. Bitcoin is not turing complete.
  5. A TC language refers to a software system, which in theory, can calculate everything and solve any computational problem.
1 Like
  1. Interprets the smart contract in solidity into byte code for the cpu to read.
  2. byte code.
  3. They both are languages but one needs to be interpreted first before the cpu can read it.
  4. Because Bitcoin is not as cool as Ethereum. LOL JK :stuck_out_tongue: Its not Turing complete and serves a completely different function.
  5. It provides the ability to code any type of instructions.
1 Like