Homework on EVM

  1. EVM or Ethereum Virtual Machine, reads a program (a small piece of code) which is then passed to the CPUs of nodes in the network.

  2. EVM reads ‘Bytecode’.

  3. Solidity is a programming language used to create a small piece of code, which is then converted to Bytecode, so that the EVM can read it.

  4. BTC can not run as complex programs like Ethereum can due to the fact that it the language used is not Turing complete.

  5. Turing Complete programming languages allow ‘Loops’ in the code, which allows for the same function to be performed numerous times.

1 Like
  1. An EVM is analogous in its action to a CPU, that is, it reads an executes instructions in Ethereum byte-code in the same way that a CPU reads and executes instructions in elementary machine code.
  2. EVM readable instructions are written in byte-code.
  3. Ethereum developers write their programs in the Solidity language, and the Ethereum compiler then translates these higher-level programs into EVM readable byte-code programs.
  4. Because the bitcoin programming language does not allow for the construction of loops and is therefore not Turing complete.
  5. The notion of a Turing-complete language, I believe, is derived from the concept of a universal Turing machine which in essence is a computing machine that is capable of solving all problems that are algorithmically solvable. So a Turing-complete language in essence is a concrete realization of a universal Turing machine.
1 Like
  1. What does the EVM do?

    It is the medium between CPUs that executes smart contracts. It is a security measurement against malicious activity.

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

    It reads in bytecode that is compiled in solidity

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

    Bytecode is compiled in solidity.

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

Bitcoin is not turing complete which limits its functions.

  1. What is a Turing Complete programming language?

    A programming language that gives the user the ability to solve complex problems.

1 Like

EVM executes the code on Ethereum network instead of a CPU to increase security.
EVM executes byte code…
…which is compiled from the programming language - solidity.
Because Bitcoin programming language is not a turing complete.
It is a language which can executes loops, software which can do one thing several times.

1 Like

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

  1. What does the EVM do?
    The EVM makes it possible to execute code on the network in consensus
  2. What is the format of the instructions that the EVM can read?
    I reads in Bytecode
  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is compiled to Bytecode the executed by the EVM
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin can not run complex programs because Script the bitcoin the language is not turing complete and therefore cannot process the complex problems that Ethereum can
  5. What is a Turing Complete programming language?
    A program that can create loops like Solidity
1 Like
  1. The EVM is a piece of code that runs on ethereum nodes, and can read and execute smart contracts.
  2. EVMs can read a format called bytecode (smart contracts that are written in Solidity must be compiled in bytecode in order for them to be readable by EVMs)
  3. Solidity is a programming language based on human-readable code (similar to Javascript) whereas bytecode more complex and designed specifically for execution on EVM
  4. BItcoin script is not Turing complete - it can implement basic logic (like multisig) and primiive functionality only. It is not capable of supporting more complex smart contracts.
  5. A Turing complete programming language is one that can support loops and complex logic.
1 Like
  1. EVM (Ethereum Virtual Machine) is an “application” on the client that is able to verify and run a smartcontract, requesting the CPU to execute tasks
  2. binary
  3. Solidity is more a natural language, which is then translated in bitecode
  4. Because the language there is not turing, i.e. has very limited possibility to prevent the security of the network
  5. a program where you can do standard languaging features, e.g. loops
1 Like
  1. The EVM is pretty much the middle man between the smart contract (code) and a computer. It reads the smart contract and then tells the CPU what to do.

  2. The EVM only reads instructions in “Byte code”.

  3. Solidity is a programing language that programmers are using in order to get to the “byte code”. They use a compiler and take the solidity to finally get to “byte code” (which is what EVM will read).

  4. Bitcoin can’t run the same type of complex programs like Ethereum because it is “Not Turing Complete”

  5. In “Turing Complete”, you can program anything you want. On a technical level, it will have a feature called “loops”, which allows a user to tell software to repeat a certain command several times.

1 Like
  1. What does the EVM do?
    adds another level (security) in the programming: reads the byte code, translates to the CPU which in turn executes the smart contract
  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 needs a compiler to create the bytecode which the EVM reads and the CPU executes
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    it uses a different language: Script, which is not a Turing Complete language; cannot complete complex set of functions
  5. What is a Turing Complete programming language? Solidity
  1. Intermediary between byte code and CPU

  2. byte code

  3. Solidity is readable but needs compiler to be executed in bytecode

  4. deliberately simple to prevent exploitation, not turing complete

  5. solidity, javascript? most modern programming languages?

  1. What does the EVM do?
    EVM reads and executes the smart contract

  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 ethereum smart contracts are written in they are then compiled into bytecode.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin uses script language which is not Turing complete.

  5. What is a Turing Complete programming language?
    A language that can preform all calculations so you can program anything

1 Like
  1. EVM keeps your computer safe and executes transactions per the smart contract.
    2)Solidity
    3)Script
    4)Bitcoin is not turing complete
    5)Turing complete program language has loops, so you can have the program do a specific thing 1000 times.
  1. EVM stands for Ethereum Virtual Machine and it is basically a probram that reads smart contract instructions and transmits them to CPU for execution.

  2. EVM can read instructions in Bytecode.

  3. A programming languare like Solidity or Vyper will have a compiler that will complile it in Bytecode in order for the EVM to read a smart contract.

  4. Because Bitcoin has its own programming language called Script and it is not Turing Complete meaning that only some basic functions can be programmed for Bitcoin.

  5. Turing Complete programming language allows to program basically everything and also contains Loops meaning that an EVM or CPU could execute instructions repeatedly multiple times.

1 Like

executes the code in a virtual environment and consensus with other nodes of the outcome result.

byte code.

Solidity is used as a programming language to code smart contracts which is later compiled into bytecode which can be read by the EVM
.

Since the bitcoin programming is not Turing complete.

A language that can be used to solve complex problems.
Looping tool is a tool that is vital in a Turing complete programing language

1 Like

What does the EVM do?
EVM stands for Ethereum Virtual Machine. EVM executes the byte code (instructions) of a smart contract and provides a layer of security.

What is the format of the instructions that the EVM can read?
EVM reads byte code from the Solidity complier.

What is the relationship between the programming language Solidity and Bytecode?
A smart contract is written in Solidity. It is compiled into byte and read by the EVM.

Why can’t Bitcoin run the same type of complex programs like Ethereum can?
The Script programming language that BTC uses is not turing complete

What is a Turing Complete programming language?
A turing complete is a programming language which allows almost any type of instructions to be programmed into a smart contract.

2 Likes
  1. the evm reads the smart contract and tells computer what to do.
  2. evm reads byte code which which is converted into such from solidity by a compiler.
  3. use a compiler to turn solidity into bytecode to evm can read it
  4. because it can only [rogram in scrypt lang which the most you can do realtes only to muiti sig not any code you want like solidity.
  5. it is able to adapt to any problem it might encounter.
2 Likes
  1. the EVM interprets the instructions on the smart contract and then tells the CPU what to do as a result.

  2. Bytecode

  3. Solidity is the language used to program the smart contract, then its compiled into bytecode for the EVM

  4. bitcoin has a more primitive language called script which isnt as versatile and functional as solidity

  5. A language like solidity which can be used for a wide variety of purposes

1 Like
  1. The EVM is an application that runs on all of the network nodes. It reads and executes smart contracts.

  2. Byte Code

  3. A compiler will take the Solidity code and compile it down to byte code.

  4. Script language is not Turing complete

  5. Turing complete language is not limited in the number and types of problems that it may have to solve in order to run complex programs.

1 Like
  1. What does the EVM do?

The EVM (ethereum virtual machine) functions as middleware between nodes on the ethereum network and smart contracts executing on the platform. It allocates instructions from the smart contracts to local resources such as CPU on the node machines. It ensures that smart contracts cannot directly execute their own instructions to the nodes hardware which could compromise the entire network security.

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

The EVM can only read instructions in the format of bytecode.

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

Solidity code must be compiled into bytecode before it can be executed on the EVM.

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

Bitcoin has a language that may be programmed in known as Script. Script is not turing complete unlike Ethereums Solidity meaning it cannot be used to solve all kinds of problems. Complex programs that address these problems can be written and executed on Solidity but not Script.

  1. What is a Turing Complete programming language?

A Turing Complete programming language is able to simulate any turing machine. One paradigm of a turing complete language that bitcoin fails to implement is programmatic loops. They are disallowed to reduce potential spam on the bitcoin blockchain where block space is already limited.
Turing complete languages have no restrictions on loops to allow redundant repeating instructions to be described with less code enhancing its readibility and clarity.

2 Likes
  1. It computes the instructions written from the programming lauguage before the cpu does.

  2. Bytecode

  3. The code in solidity is compiled into bytecode for the EVM to interpret.

  4. The script language that bitcoin use cannot be used to write programmable code.

  5. It is programming language that has the ability to create dynamic applictions.

1 Like