Homework on EVM

  1. What does the EVM do : The EVM (Ethereum Virtual Machine) is a piece of code that interacts between the Smart Contract and the CPU of a node. It in essence reads the contents of the smart contract and executes the process steps and then creates an output based on the input and the instructions contained in the smart contract. Each node runs a copy of the EVM.
  2. What is the format of the instructions that the EVM can read : The EVM reads the contents / instructions of the smart contract in Bytecode.
  3. What is the relationship between the programming language Solidity and Bytecode :
    Solidity is the programming language that the creator of the smart contract uses to develop the logic on how the contract would be executed and which conditions would mean what in terms of the required output - it is like using C++ for developing a piece of programming language. Bytecode is the output of the Solidity code once compiled so that the EVM can read it and execute it.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can : Bitcoin was not developed to be a programable asset but rather a storage of value, but I am also likely to deduct that with the utilization of Bitcoin as a blockchain asset, innovation in the blockchain industry created a need and an awareness to develop use cases for programable money and this innovation actually led to the development of Ethereum.
  5. What is a Turing Complete programming language : A Turing Complete language is a language in which almost any logical transaction can be coded.
1 Like
  1. Am EVM allows consensus for smart contracts by running alongside a computers CPU, reading the byte codes and feeding it to the CPU to execute.
  2. EVM reads byte codes and executes them in an encapsulated program not directly with the computers CPU so that security won’t be an issue.
  3. Solidity is the programming language that Ethereum uses for smart contracts. A compiler will take the Solidity code and compile it into Bytecode for EVM to then read.
  4. Bitcoin uses Script language and is unable to do complex code. Bitcoiners didn’t want the looping feature of a complete programming language so it uses Script.
  5. A Turing complete language is a code that allows loops to be programmed (the computer executing a repeated task.)
1 Like
  1. What does the EVM do?

It reads a script (instructions) and delivers them to the CPU. This executes a smart contract.

  1. 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 a programming language that is used to write smart contracts. These smart contracts can be compiled with Bytecode.

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

It is not a Turing Complete language, like for example it can´t run loops.

  1. What is a Turing Complete programming language?

(theoretically) Anything can be programmed in a Turing Complete language.

1 Like
  1. proccess in bytes the ‘‘manual’’ written in solidity as a smart contract
  2. bytes
  3. solidity is the language to write the smart contracts and then it is compiled in bytecode for the evm to read
  4. it only has script language which can only understand multisig additions to the tx
  5. the option to program anything into the code
1 Like
  1. The EVM reads the code and executes the instructions, then transmits this to the CPUs
  2. Byte code
  3. Smart contracts are written in Solidity language. Solidity code needs to be compiled into Byte code to be executable by the EVM
  4. Bitcoin’s language Script is not turing complete, what you can code is very limited
  5. Turing Complete means that you can program anything you want in the code
1 Like
  1. What does the EVM do?
    EVM stands for Ethereum Virtual Machine. EVM reads the instructions in smart contracts and tell the CPUs across the network to execute them. If all of the nodes reach the same final product, then the network has reached consensus and allows the smart contract to exist in the blockchain.

  2. What is the format of the instructions that the EVM can read?
    EVM can read byte code, which is compiled from the Solidity coding language.

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity code is compiled into bytecode, making it readable by EVM.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin cannot run the same type of programs as Ethereum because Bitcoin uses the Script coding language. Script is not a turing complete language, while Solidity is.

  5. What is a Turing Complete programming language?
    A Turing complete language is a language that theoretically can allow you to program any set of instructions, including complex loops. Solidity is an example of this.

1 Like
  1. Ethereum Virtual machine is where the smart contract runs.

  2. EVM can read instructions in bytes.

  3. Smart contracts are written in solidity while the compiler translates solidity to bytecode for the EVM to understand.

  4. Bitcoin can’t run the same type of complex programs ethereum can because bitcoin isn’t Turing complete.

  5. A Turing complete programming language is a language you can use to program anything.

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

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

  3. What is the relationship between the programming language Solidity and Bytecode?
    A programmer writes a program/smart contract content in Solidity. The program is compiled (or translated?) in byte code. Byte code is the language of the smart contract itself.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin is written in Script. Script is a programming language which is not turing complete. Only very simple tasks as txs and doble signature can be done. On the other hand, Ethereum is based on Solidity, a turing complete language, where you theoretically can program everything you think of.

  5. What is a Turing Complete programming language?
    A turing complete programming language is a language on which you can program very complex structure. Basically, you can programm everything you think of.

1 Like
  1. What does the EVM do?

EVM is a virtual machine that interacts with the CPU of the etherum network machines, this one contains the programability of Etherum

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

The format used is the bytecode, which is translated from the compiler

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

Solidity is the programming language that is used by humans to tell commands to the EVM and the bytecode is the way is read by the EVM, in between there is a compiler that translates from human to computer and viceversa

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

Because bitcoin’s internal programming language is limited to few operations, as a consequence is unable to perform complex calculations

  1. What is a Turing Complete programming language?

Is a programming language that is capable of performing complex operations such as loops.

1 Like
  1. EVM is used to read, interpret and execute the solidity/viper code that the developer has written.

  2. Bytecode

  3. Solidity is the readable language that is used and written to the EVM to be executed and interpreted as Bytecode as that is the ‘language’ the EVM understands.

  4. Bitcoin is a non-turing complete language

  5. A Turing complete programming language is a language that you can program anything you want in theory.

1 Like
  1. What does the EVM do?
    EVM renders each byte-code smart contract, and then tells or not to cpu resource to execute this smart contract. EVM prevents to malicious code on smart contract to be executed. EVM produces a result from each smart contract and ensures that all others EVMs has the same result (this step creates the consensus of ETH network).

  2. What is the format of the instructions that the EVM can read?
    EVM can read byte code format, regardless of programming language used.

  3. What is the relationship between the programming language Solidity and Bytecode? When the Solidity language is compiled by the compiler, it generates byte code that is readable by each EVM.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin runs with scripts, Ethereum with POO Turing Complete programming language, so it’s not the same complexity. No loop functions for Bitcoin.

  5. What is a Turing Complete programming language?
    This is a programming language based on POO (Programmation Oriented Object). This language has some complex features enabling each of us to create some complex smart contract with advanced business logic.

1 Like
  1. What does the EVM do?
    The EVM will execute the Etheruem smart contracts by using the computer resources that it runs on.
  2. What is the format of the instructions that the EVM can read?
    Ethereum byte code
  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is the readable program language, and that compiled to machine language that EVM can interpret is Bytecode.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because it is not Turing Complete, so it basically cannot run loops.
  5. What is a Turing Complete programming language?
    A Turing Complete programming language is one that can do complex things, but most importantly it can run loops in the program.
1 Like
  1. What does the EVM do?
    The Ethereum Virtual Machine (EVM) is the runtime environment for Ethereum smart contracts. The runtime environment is where a program or application is executed and is composed of the hardware and software infrastructure that supports the running of a particular software application in real time. It is Turing-complete because Solidity (Ethereum smart contract programming language) is Turing-complete. Every Ethereum node runs on the EVM to maintain consensus across the blockchain.

  2. What is the format of the instructions that the EVM can read?
    Bytcode is the format which EVN can read. Bytecode is also known as portable code or p-code and is a form of non-executable code used by a software interpreter such us EVM.
    Bytecode program code is compiled from source code into low-level code designed for a software interpreter. A popular example is Java bytecode, which is compiled from Java source code and can be run on a Java Virtual Machine (JVM)

1 Like
  1. What does the EVM do?
    Read the instructions in smart contracts, run the calculations and give the CPU of the computer instructions what to do

  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 creates the data structure/code and with compiler SW this logic is transformed in the structure of EVM bytecode which is used by EVM after then (reading the instructions).

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

  5. What is a Turing Complete programming language?
    This means that in a certain way it is possible to develop any application on top of the Ethereum blockchain

1 Like

1. What does the EVM do?
Runs the smart contracts in an encapsulated distributed virtual machine
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?
The Solidity code is compiled to Bytecode
4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin’s limited programming language Script doesn’t allow for it since it isn’t Turing Complete. It would also risk clogging up the mempool since the time interval for block mining is much greater.
5. What is a Turing Complete programming language?
A programming language designed to be able to solve any problem. Utilizes loops, etc.

1 Like
  1. What does the EVM do?
    The EVM (Ethereum Virtual Machine) is an application that every node in the Ethereum network runs on top of their hardware.
    The EVM reads the smart contracts and executes them (tells the node’s CPU what to do).
    The EVM encapsulates the CPU in order to protect it, the computer, and the Ethereum network from malicious code (malicious smart contracts).

  2. What is the format of the instructions that the EVM can read?
    The EVM can read bytecode (compiled solidity or viper code).

  3. What is the relationship between the programming language Solidity and Bytecode?
    The smart contracts are written in a Turing-Complete programming language (Solidity or Viper) that is then compiled into EVM bytecode (the Compiler - an application - takes the Solidity code and compiles the logic and the instructions from this code into bytecode) that the EVM reads. This means that other programming languages than Solidity can be used to write smart contracts. The EVM only cares about the bytecode and it only executes bytecode.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    BTC uses a programming language that is not Turing-Complete (it can not solve complex problems) named script.
    On the other hand, Ethereum uses Solidity and Viper, programming languages that can be used to solve complex problems. This complex problem-solving capability is the result of an intrinsic feature that all Turing-Complete programming languages have, that allows the programmer to instruct the software to do 1 thing several times (the feature is called a loop).

  5. What is a Turing Complete programming language?
    A programming language that can be used to solve complex problems.

1 Like

The EVM reads and executes the information conveyed in Bytecode on a smart contract and also serves as a layer of security between the smart contract and a cpu.

EVM Bytecode

Everyone can code a smart contract with instructions for the EVM using Solidity and then a compiler will translate that into Bytecode in order to let the EVM understand those instructions.

BTC uses a programming language called Script which has very primitive smart contract capabilities but is not turing complete.

A turing complete programming language has unlimited programming capabilities and one example would be ‘loops’

1 Like
  1. What does the EVM do?

It reads and confirms the instruction for example a smart contract before the CPU will execute it.
The EVM ensures that no malicious activity is happening in a smart contract

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

IT can read bytecode such as Solidity

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

Its what the compiler gives out after complying with the Solidity code to Bytecode which then gets executed through EVM

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

its a different langue script and its a none turning programing language, it wasn’t designed for complex programs

  1. What is a Turing Complete programming language?

it’s a complete programing language that has loops etc.
you can write a full complex program with the language

1 Like
  1. What does the EVM do?

EVM executes byte codes that are compiled from Solidity or Viper

  1. 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?

bytecode is a compiled version of the solidity codes

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

Because in case of Bitcoin a script language is used. Script language is not Turing complete. This means that not all kinds of logical operation can be executed. for example loops can not be deployed and it would be not lifelike if i have to wtrite for example 1000 times an operation.

  1. What is a Turing Complete programming language?

turing Complete language allow us to execute all kinds of logic that we can imagine. Scrit languages, which are not Turing Complete are not capable for this.

1 Like
  1. What does the EVM do?

EVM makes it possible to execute code on the network in such a way that we are in consensus about what the results should be.

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

The format is Bytecode.

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

Programmers use a programming language called Solidity, which is like Javascript and it compiles to bytecode. EVM only cares about the Bytecode.

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

Bitcoin developers wanted to prevent getting spammed by someone possibly creating instructions that needed to be executed multiple times in loops and clogging the network up increasing the size of blocks slowing transactions. After all, Bitcoin is digital money or digital gold, doesn’t make sense too. Plus, it’s not Turing Complete.

  1. What is a Turing Complete programming language?

It’s unlimited to solve problems and has Loops that tells software to do one thing multiple times.

1 Like