Homework on EVM

  1. The EVM allows a CPU to execute a smart contract. And stops any malicious programmes getting to the network.

  2. The format the EVM can read us byte code written by solidity.

  3. Solidity is the programme used to write byte code language used to compile a smart contract.

  4. Bitcoin could run this programme but the community said that bitcoin is to be used as money. And it would increase the block size making bitcoin slow and impractical.

  5. A Turing Complete programming language is the ability to solve any problem with the code. Even if it maybe impractical in reality, by either taking too long or being expensive.

1 Like

1.What does the EVM do?
EVM acts as a layer inbetween the computer/machine that executes the smart contract and the smart contract code itself. It is responsible for executirng the rules of the smart contract.

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

3. What is the relationship between the programming language Solidity and Bytecode?
Solidity is the programming language of Ethereum smart contracts. It compiles bytecodes (which contain instructions to be carried out) because EVM cannot execute the smart contract directly.

4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin is programmed on a much simpler language which is not Turing complete. Therefore it can only execute simple transactions. Also Bitcoin was not created with this intention, not to congest the system with many complex commands.

5. What is a Turing Complete programming language?
A Turing complete programming languate is a “system capable of performing any logical step of a computational function” meaning it is capable of solving very complex commands and rules.

1 Like
  1. The EVM tells the CPU of the nodes what to do. Separating the smart contract programming code from the CPU for security.

  2. EVM bytecode

  3. Solidity is the programming language which is compiled into byte code the EVM can read

  4. Bitcoins programming language is not Turing complete

  5. A programming language that can perform any imaginable task by use of recursive loops.

1 Like
  1. The EVM is a piece of code that is running on all nodes on the ethereum network. The EVM executes smart contracts on the blockchain by telling the CPU of the node what to do.

  2. EVM Bytecode

  3. Smart contracts can be written in Solidity and compiled into EVM Bytecode.

  4. The scripting language in bitcoin is not turing complete. Solidity is turing complete so you can use it to program anything you need it to do.

  5. A turing complete language has the ability to use loops. Loops are important for making smart contracts because there are many things that can’t be done without using loops.

1 Like
  1. What does the EVM do?

EVM allows a user to execute programs and/or smart contracts on the Eth network. It also can act as security to make sure that smart contracts cannot directly interact with the CPU.
2. What is the format of the instructions that the EVM can read?

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

Bytecode is what EVM understands and reads, Solidity is a language that users use, which is then compiled into Bytecode.
4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?

Not Turing Complete, like Ethereum is.

  1. What is a Turing Complete programming language?

A Turing Complete programming language can solve any problem it may have to. Also loops, so that any instruction can be repeated multiple times without having to be written as many times as necessary.

1 Like
  1. The EVM (Ethereum Virtual Machine) reads the instructions for the smart contracts and provides them to the CPU to execute.
  2. EVM can read Bytecode.
  3. Smart contracts are written in Solidity which is compiled into Bytecode.
  4. Bitcoin cannot execute the same type of complex programs like Ethereum because it is not Turing Complete.
  5. Turing Complete programming allows for loop actions within its programming.
1 Like
  1. What does the EVM do?

EVM it’s a small code that all the Ethereum nodes have in their CPU. This small code enables Ethereum nodes to read and execute the instructions written in byte code derived from a programming language.

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

The instructions that EVM can read have to be written in byte codes.

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

Programming Solidity it’s the language that is used in Ethereum blockchain in order to program smart contracts. Inside every smart contract there will be different types of instructions that every node in the ethereum network have to verify and reach to the same result. However the instructions have to be compiled to byte code in order to be able to read it by the EVM, so it will tell the nodes what to do, If there’s nothing wrong or malicious with the Smart contract.

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

Exist different types of programming languages and some are more complex or completed than others. This happens with Bitcoin and Ethereum, they use different types of programming languages. For one side, Bitcoin uses “Script” that is a not turing complete programming language. Which means that it doesn’t allow you to solve every problem that a person could imagine in a programming level. For the other side, Ethereum uses the programming language “Solidity” that is a turing complete programming language. This gives a programmer the possibility of solving every problem that he could find at a programming level.

  1. What is a Turing Complete programming language?

A turing Complete programming language allows programmers to solve every problem, in a programming level, that they could have.

1 Like
  1. What does the EVM do?

    Reads and Executes a Smart Contract instructions (after being translated to byte code). It tells the CPU and relevant hardware what to do to fulfill a task.

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

Byte Code

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

    Solidity is the programming language used to program a Smart Contract. The code of the contract is fed through a compiler which compiles the instruction into Byte Code so that the EVM can read and execute the Byte Code.

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

Because Script, the programming language of Bitcoin, is Not Turing Complete meaning it is limited in it’s programmability
.
5. What is a Turing Complete programming language?

It is a programmable language (Solidity is such a language). In theory it is a language that allows the programmer to program what one wants/ solve problems. The coding can contain conditions that must be met in order that the instructions may be carried out.

1 Like
  1. Ethereum virtual machine is ran by all nodes in the network and executes smart contracts to generate a result that will be checked to reach consensus.

  2. The EVM will read the instructions in byte code format.

  3. Solidity is used as a programming language which will be compiled into byte code.

  4. Bitcoin uses script which is not turing complete, unlike Ethereum which uses solidity.

  5. Turing complete programming language allows looping constructs to take place.

1 Like
  1. EVM is the Ethereum Virtual Machine, EVM allows us to execute the code that gets consensus.
  2. It is a smart contract then the EVM then the computer, the EVM runs the consensus directly and the computer executes the smart contract indirectly.
  3. The EVM executes the instructions of the smart contract and is run using a compiler, the compiler is in a language called Solidity and Solidity compiles the instructions to Bytecode.
  4. Bitcoin is not Turing complete and is primitive.
  5. A Turing Complete language is one that enables to program complex concepts and applications. Turing Complete enables a program to solve an answer.
1 Like
  1. EVM is an application that reads and executes smart contracts,
  2. Bytecode
  3. Solidity is a programming language that for the logic and instructions, which are compiled into Bytecode, which the format that EVM could read and execute the logic and instructions.
  4. Bitcoin’s scripting language is very limited and not Turing Complete language.
  5. Turing Complete programming language allows the programmer to program anything the programmer wants and thinks of.
1 Like
  1. The EVM acts as a layer between the computer hosting the node and the code. The virtual machine can execute within this isolated environment, alongside with OP codes and gas to prevent spam attacks.

  2. The EVM reads Byte Code, a compilation of the code written in Solidity.

  3. The smart contracts are written in the programing language Solidity. The code is then compiled to Bytecode so that the EVM can read it.

  4. Bitcoin is not Turing complete, and therefore cannot run the same types of complex programs; however, Ethereum is Turing complete.

  5. Turing Complete languages allow (in theory) the programmer to solve any problem they would like, also allows for loops.

1 Like
  1. What does the EVM do?

EVM is what defines the rules for computing a new valid state from block to block. The EVM reads and executes Smart Contract instructions, after being translated to byte code, and tells the CPU what to do.

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

The EVM reads Bytecode of the Solidity programing language

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

Solidity is the programming language of Ethereum. The Bytecode is the program code that has been compiled from source code into low-level code designed for the EVM to interpret and executed by the CPU

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

The programming language of Bitcoin, Script, is not Turing complete. It cannot actively change the state of the system. Ethereum is Turing complete.

  1. What is a Turing Complete programming language?

Turing complete is a term used in computability theory to describe abstract machines, usually called automata. Such an automaton is Turing complete, if it can be used to emulate a Turing machine. It is also called computationally universal.

In less technical terms, turing complete programing language means that a user can program applications that enables a program to solve a problem for an answer.

1 Like
  1. What does the EVM do? EVM = Ethereum Virtual Machine. Reads and executes smart contracts that all cpu’s in the network are running. Added layer of security between smart contracts and CPU.

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

  3. What is the relationship between the programming language Solidity and Bytecode? Solidty is the programming language for smart contracts that is compiled into byte code so that the EVM can read it.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? Bitcoin doesnt use a turing complete programming language, it uses script.

  5. What is a Turing Complete programming language? A programming language that has endless possibilities and allows for loops which is a repeated action. Developers can program anything on the ethereum blockchain.

1 Like
  1. What does the EVM do?
    EVM reads the smart contract and translates it to bytecode before it is executed by the CPU.
  2. What is the format of the instructions that the EVM can read?
    EVM can read Solidity which is a turing complete language that is completely programmable and allow loops. Loops allow programmers to do one task several times.
  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is the programming language of the smart contract which is then translated to Bytecode by EVM.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because Solidity is capable of programming loops that allows programmers to do one task several times. The BTC community thinks that this feature will cause spam to the network. The BTC community also views Bitcoin as a digital money or digital gold as opposed to programmable money, hence complex programs were not allowed in Bitcoin.
  5. What is a Turing Complete programming language?
    A turing complete language allows programmers to program anything and is capable of loops allows programmers to do one task several times.
1 Like

Homework: EVM
Ethereum Introduction
Answer all questions and post your answers in the thread linked below.

  1. What does the EVM do?

The EVM instructs all the systems on the network to perform the instructions written in code on the smart 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 is the programming language used to design the Bytecode on the Ethereum network.

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

Bitcoin uses Script as its programming language and it is not Turing complete so it cant perform complex smart contracts.

  1. What is a Turing Complete programming language?

A Turing Complete programming language can write complex code which is needed for smart contracts.

1 Like

1.) EVM is a virtual machine that runs smart contracts in order to keep everything secure.
2.) Bytecode
3.) Programs written in Solidity, are translated into Bytecode through a compiler.
4.) Bitcoin’s language, script, is non-Turing complete, while Eth’s Solidity is Turing complete.
5.) Turing complete languages allow you to code pretty much anything. (For example, Turing complete languages have loops.)

1 Like
  1. The EVM, or Ethereum Virtual Machine, runs on Ethereum nodes and executes the instructions in the smart contracts. It isolates the smart contract programs from interacting directly with the CPU of the computer.
  2. Byte code
  3. The programs are written in Solidity, which is then compiled into Byte code, with which the EVM then interacts.
  4. Bitcoin uses “script” language which is not a Turing-complete programming language, but is more limited in what it can do.
  5. A Turing complete language can do the full range of actions done by a programming language, and in particular can include loops, or instructions to repeat sections of the code multiple times.
2 Likes

Q: What does the EVM do?

A: EVM (Etherum Virtual Machine) makes it possible to execute code in such a way that everyone is in consensus regarding what the result should be. It reads the instructions and then it tells the CPU to execute them.

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

A: The format EVM can read is bytecode. As long as it is translated into bytecode, the programming language does not matter.

Q: What is the relationship between the programming language Solidity and Bytecode?

A: Programmes get written in Solidity and then get translated to bytecode, in such a way that the EVM is able to read.

Q: Why can’t Bitcoin run the same type of complex programs like Ethereum can?

A: Because Bitcoin is not Turing Complete.

Q: What is a Turing Complete programming language?

A: A Turing Complete language allows you code whatever you want. One of the things it involves are Loops.

1 Like
  1. What does the EVM do?
    It executes smart contracts.

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

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is the human readable programming language that is compiled into bytecode, that can then be executed in the EVM.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because it is not turing complete

  5. What is a Turing Complete programming language?
    A programming language in which you can implement complex programs (virtually anything you could think of).

1 Like