Homework on EVM

  • What does the EVM do?
    It reads the smart contract byte code and executes it, separating cpu from the smart contract to increase security of the network
  • 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?
    solidity gets compiled into byte code
  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    it is not turing complete
  • What is a Turing Complete programming language?
    it allows programmers to theoretically program basically anything
1 Like
  1. What does the EVM do?
    It reads the byte code of the smart contract and then relays to the cpu.
  2. What is the format of the instructions that the EVM can read?
    It reads the byte code from the solidity language.
  3. What is the relationship between the programming language Solidity and Bytecode?
    A compiler mulches the solidity into byte code. It’s a translation of sorts.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    btc is not turing complete.
  5. What is a Turing Complete programming language?
    It may do loops in the code. So, it may run code that is not limited as btc is.
1 Like
  1. The Ethereum Virtual Machine is a software-based virtual computer which is a component of the Ethereum system. The EVM can read and act on instructions in Ethereum Smart Contracts.

  2. The format for the EVM is a new software language written for Ethereum called Solidity. The EVM communicates these instructions to the CPU using byte code.

  3. The EVM runs using a software language called Solidity. Bytecode, is a deeper level instruction set that Solidity is complied into in order for the EVM to instruct the CPU.
    [ see byte code / machine code ]

  4. Bitcoin uses a far simpler type of computer language. This has benefits in the sense that only a very fixed type or set of transactions can be made. It would not be possible to run anything like an EVM on Bitcoin chain, partly because the software that bitcoin is written in is not Turing Complete.

  5. Turing Complete A level of computer programming language which allows for a wide set of instructions to be created, allowing complex software to be executed. Turing complete language allows for the function of ‘loops’ to be run in software like Smart Contracts.

1 Like
**1. What does the EVM do?**

The Ethereum Virtual Machine ( EVM ) is an applications that all the Nodes run on their computers and and its responsible for the execution of a smart contract.

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

The instruction format EVM reads its Byte Code.

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

A smart contract can be created with Solidity. Then when the smart contract added to the network and distributed throw all the Nodes, the EVM then takes the smart contract, translate it from Solidity program language to Byte Code so it can run the instructions on the smart contract and then tell to the CPU of the Nodes computer what to do.

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

Bitcoin cannot run the same type of complex programs because its based on a non turing complete language called SHA-256 which makes it a non dynamic and programmable blockchain network and thats the reason of its limited capabilities of just sending and receiving transactions and just wokring as a digital currency.

5. What is a Turing Complete programming language?

A turing complete programming language is a programming language with great abilities in programming. Almost anything can be created with turing complete languages and with the loop function you can easily create any smart contract.

2 Likes
  1. What does the EVM do?

An EVM reads smart contracts and communicates to the CPU.

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

An EVM reads bytecode

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

Solidity is the programming language used by developers for Etherium. Once a smart contract is written in Solidity it is the run through a ‘compiler’ and converted into bytecode.

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

Bitcoin uses a simpler languge that is not Turing Complete.

  1. What is a Turing Complete programming language?

Refers to a programming language that has no ‘theoretical’ restrictions in terms of programmable functionality.

:blush:

2 Likes
  1. EVM is the Virtual machine run by the nodes, its function is to create a decentralized network by executing the smart contracts and telling the node computers what to do.
  2. The format is bytecode.
    3.Solidity is the programming language for smart contracts, Bytecode is the language the EVM uses.
    Solidity is compiled into Bytecode.
    4.Bitcoin was created not turing complete with its script, making it limited.
  3. A complex language including loops.
1 Like
  1. It reads code and execute it on the node computer.
  2. EVM can read instructions in byte format.
  3. Solidity is a user friendly language that converts our program to byte format that EVM understands.
  4. Because BTC use simple script language that is not turing complete.
  5. Turing complete language is the program language that allows us to resolve complex programming tasks. It is program language that can emulate the Turing Machine that can simulate any computer algorithm, no matter how complicated it is.
1 Like
  1. What does the EVM do?

Ethereum Virtual Machines isolates and executes contract code to isolate base OS to instruct cpu to direct nodes to perform instructions in the smart contract.

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

EVM only reads the complied byte code from solidity or viper code.

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

Bytecode is object-oriented programming (OOP) code compiled to run on a virtual machine (VM) instead of a central processing unit (CPU). The VM transforms program code into readable machine language for the CPU because platforms utilize different code interpretation techniques. A VM converts bytecode for platform interoperability, but bytecode is not platform-specific.

Bytecode is in a compiled Java programming language format and has the .class extension executed by Java Virtual Machine (JVM).

Solidity sends code to compiler to convert to bytecode so EVM can execute smart contracts .

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

Bitcoin is a NTC Not Turing Complete it’s Script program is very limited in what it can do it’s only capable of just basic functions. Also it does not have a loop function which also enhances it’s limitations but assists in keeping block size smaller and helps enhance security features.

  1. What is a Turing Complete programming language?

A ‘Turing complete language” , which means everything that needs to be computed can be computed using it.

Solidity is Turing complete also there are others as described below:

Some of them are Java, C, C++, Python, etc almost all general purpose languages are Turing complete. Those which are not Turing complete, are: e.g. SQL, HTML etc.

1 Like
  1. The EVM makes a barier between the smart contract and the cpu. It reads the smart contract and tells the cpu what to do. Without any bad things going trough

  2. The programmer writes the instructions in solidy language and the compiler transfers is into bytecode. This is the language the EVM can read.

  3. Solidy can be compiled into bytecode. But other languages like viper could do this too when the necesary compiler is made for it.

  4. The language to program on bitcoin “script” is a very basic language. It’s not made for advanced programming. Script is not a turing complete programming language.

  5. A turing complete programming language is a language that can be used to do everything you want. If you can imagin it, it theoreticly can be made with this code.

1 Like
  1. It reads the smart contracts.

  2. bytecode

  3. The programmer writes the smart contract in Solidity which is then compiled to bytecode for reading by the EVM.

  4. Because it uses scrypt which is not Turing complete.

  5. A more complex language that can be used to solve any problem.

1 Like

*** What does the EVM do?**

  • Ethereum Virtual Machine rus on top of the CPU’s (it gives instructions to it) of each node in the network, reads and execute smart contracts and has access to the resources of each computer (node)

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

  • EVM reads in ‘bytecode’.

*** What is the relationship between the programming language Solidity and Bytecode?**

  • We use a compiler (special app) that will take the Solidity language to bytecode allowing EVM to read the instructions.

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

  • BTC uses Script language which only allows few programable aspects. BTC developers did not wanted the network to be attacked by spams, so they decided for a language that is not Turing complete

*** What is a Turing Complete programming language?**

  • A language where we can any possible calculation or computing program can be done, we can deploy for example loops (tell the software to do something several times), it gives the developers in Ethereum network the opportunity to theoretically program anything.
1 Like
  1. It is the Ethereum Virtual machine which runs the code for the smart contracts and executes them on the cpu.
    2.Solidaity.
    3.solidity to bytecode then read by EVM.
    4.Its script is not Turing complete,
    5.One that can programe anything in theory.
  • What does the EVM do?
    EVM are virtual machines(APPs, pieces of code) that are running on the hardware of the ethereum network nodes, they read S.C. and execute them trough the HW of the node on which they reside.

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

  • What is the relationship between the programming language Solidity and Bytecode?
    Solidity is the programming language used to write smart contracts, because EVM can’t read Solidity, but bytecode, we need a compiler to translate Solidity to Bytecode.

  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin Script is a not touring complete language that is able to execute just little tasks(can’t solve any mathematical problem) and doesn’t allow loops.

  • What is a Turing Complete programming language?
    A touring complete language can execute any mathematical problem and allow loops(a function that allow us to execute a command several times without writing a dedicated line of code for each of this commands)

1 Like
  1. EVM, Ethereum Virtual Machine creates the possibility for smart contracts to run on, That is to say instead of normal computer programs done by the CPU of the computer there is an enviroment where Ethereum smart contract can be made, certified and reach a consensus between the connected nodes.

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

  3. The relationship between Solidity and Bytecode is that Bytecode allows the EVM to understand the Solidity language.

  4. Bitcoin can’t run the same complex programs like Etherrem can becuse it is quite simple and not Turing complete, in contrast with Ethereum where you can run complex programs.

  5. A Turing Complete programing language is a language such as Solidity, which in a way is unlimited and allows the user to do many different actions including loops.

1 Like
  1. it reads the Bytecode of an SC (like an operating System)

  2. Bytecode compiled from programming langugaes like solidity or viper

  3. on solidity you can programm SC´s and a Compiler “translate” it into Bytecode for the EVM

  4. because of it´s programming language (no Turing Complete language)

  5. a programming language where you can programm almost anything (like loops)

1 Like
  1. EVM runs on the Ethereum network and makes the execution of code there possible. It reads smart contracts and executes calculations contained in them. It reads the byte code that is compiled by Solidity, and protects the CPU from any viruses that may be contained in the code.

  2. EVM can read the format of instructions in byte code.

  3. Code written in Solidity looks lie English and is compiled down into byte code.

  4. Bitcoin cannot run the same type of programs as Ethereum because it is not Turing complete, it cannot perform all kinds of computations. It does not have the same capacity to use loops as Ethereum does.

  5. A Turing Complete programming language is one that can perform any possible calculation or computer program. It has the capacity to use recurring loops.

1 Like

The EVM can only read Bytecode.

my bad, noted thanks

1 Like

1. What does the EVM do?
Its an application that run in top of an ethereum node that execute the byte code of an smart contract within a safe environment (smart contracts cannot harm nodes since they run in a virtual machine).

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

3. What is the relationship between the programming language Solidity and Bytecode?
Solidity will compile the instructions coded on an smart contract into byte code to be able to executed by the EVM.

4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin was conceived has ONLY digital gold, nothing more, meaning is not turing complete, meaning it cannot solve complex problems.

5. What is a Turing Complete programming language?
the ability to solve any kind of problem and the capacity to use loops.

1 Like

Each EVM node runs the byte code of a smart contract.

The EVM reads the byte code that has been produced by the Solidity/Viper compiler.

Solidity is a shorter form of byte code to ease the process of programming. The compiler converts the solidity language into byte code.

The bitcoin script language is a simple language that is not turing complete. Bitcoin script is comparable to a straight, two-way street(send & receive only), whereas Solidity is like a street with turns, stops, exits, etc. and doesn’t just have the ability to only send & receive like bitcoin script.

A turing complete language allows a smart contract to do just about anything.

1 Like