Homework on EVM

1. What does the EVM do?
The Ethereum Virtual Machine (EVM) makes it possible to execute code in the network. It is an application (a piece of code) that is running on top of the hardware of each node (each computer in the network).
The EVM can read and execute smart contracts (instructions written in the Solidity or Vyper language)

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

3. What is the relationship between the programming language Solidity and Bytecode?
The instructions are first written in the Solidity language and then are compiled it down to byte code through a compiler before the EVM can read it all.

4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Because bitcoin uses Script. A language that is not Turing complete.

5. What is a Turing Complete programming language?
A language capable implementing a Turing machine. A Turing machine is a mathematical model of computation that can, in principle, perform any calculation that any other programmable computer can.
Turing complete languages can for example, have the with the capability writing loops.

1 Like
What does the EVM do?

*The EVM uses the resources of computers in the network to operate. But this in a isolated way from them computers. It is a global calculating machine for Smartcontracts.

What is the format of the instructions that the EVM can read?
  • It has to be in Bytecode.

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

  • Solidity is the higher language and bytecode the lower language. EVM nderstand bytecode.

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

  • because Bitcoins language script is not touring complete. It can not do loops for example.

    What is a Turing Complete programming language?

  • You can run any kind of code on it. Even loops etc.

1 Like

1, It read and execute smart contracts on nods with EVM using their CPU to do the calculation,

2, it can read byte code,

3, Solidity is a programming language of texts and it can be complied into byte code

4, because it using scrip as programming language that is not turing complete,

5, tuing complete mean it can be used to write any program and solution,

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?
    Answers
    1). The EVM is responsible for executing smart contract bytecode.

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

3). The programming language solidity is a high-level language used to write smart contracts which needs to be compiled to bytecode in order to be executed by the EVM.

4). Bitcoin can’t run complex programs like Ethereum can because bitcoin only allows a scripting language which is not Turing complete, while Ethereum on the other allows programming language such as solidity which Turing complete.

5). A Turing complete programming language is the one that allows for looping and can solve complex problems that can be solved by other programming languages.

1 Like
  • What does the EVM do?
  • What is the format of the instructions that the EVM can read?
  • What is the relationship between the programming language “Solidity” and Bytecode?
  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
  • What is a Turing Complete programming language?
  1. EVM runs smart contracts on the ethereum network, ensuring no malicious activity occurs within the confines of the smart contract, hence protecting the cpu and all other nodes in the network, another layer of security.

2.Byte code.

  1. Solidity is a programming language used to write smart contracts, compiled to byte code before being read by the ethereum virtual machine.

  2. Bitcoins stack based programming language called “script” is limited in its abilities, it can not perform loops which are a requirement of smart contracts.

  3. It is a computer program language which is able to recognise and or decide upon another data manipulated rule set ( another programming language)and , is therefore able to compute every Turing compatible function. Essentially to be Turing complete the programming language is computationally universal.

1 Like

EtheriumVirtualMachine - a program running on many CPUs, keeps smart contracts in check

bytecode

Solidity (or maybe in future Viper) code has to be ‘compiled’ to Bytecode that is read by the EVM

BTC is not Touring Complete

Touring Complete- program anything you want!

1 Like
  1. EVM reads the instructions of a smart contract
  2. byte code
  3. solidity can be compiled into bytecode
  4. because it’s Turig incomplete
  5. That which one can program virtually anything upon
1 Like

1-EVM runs on top of CPU, reads and executes smart contract

2-EVM uses Byte Code

3-Solidity is language used to write Ethereum smart contracts & Byte Code is language used by EVM to read and executes contract. Solidity must be compiled into Byte Code to run the smart contract.

4-Bitcoin does not use a Turing complete language, so it does not have the flexibility to execute many aspects of smart contracts; for example like loops.

5-Turing complete means that the programming language has the flexibility & ability to execute many different types of functions; for example, like loops. Turing incomplete languages are much more limited & may not be able to run loops or other functions.

1 Like

1 It gives instructions to the CPU about what action to make.

2 Byte code complied from Solidity,

3 Its the programing lenguaje that will say the instructions through Byte code.

4 Because Bitcoin uses Script lenguaje and its not turing complete.

5 Its a lenguaje that let the software to execute certain task several times.

1 Like
  1. What does the EVM do?
  • An EVM or Ethereum Virtual Machine is like a distributed computer. It is actually a piece of code that all nodes have agreed to run, all with the same version. It can read machine code, it can isolate individual contract code for security and it can also execute smart contracts.
  1. What is the format of the instructions that the EVM can read?
  • The EVM can read Smart contracts which are written in the programming language Solidity.
  1. What is the relationship between the programming language Solidity and Bytecode?
  • Once written in Solidity, an application called a compiler converts these instructions and logic into Bytecode.
  1. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
  • Bitcoin can carry a basic form of contract, but the language of Script is limited to be able to run complex programs as it is not a Turing complete language.
  1. What is a Turing Complete programming language?
  • A Turing Complete language is a language that can program absolutely anything, it has the ability to program repeat actions due to utilising Loops.
1 Like
  1. What does the EVM do? EVM is (the Ethereum Virtual Network) where the code is executed on the network.
  2. What is the format of the instructions that the EVM can read? solidity
  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? B itcoin does not have Turing complete
  5. What is a Turing Complete programming language? Create any contract
1 Like
  1. What does the EVM do?
    It executes universally expressed Solidity code on many different computers.

  2. What is the format of the instructions that the EVM can read?
    The EVM runs instructions written in Byte Code.

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity translates human readable instructions into Byte Code, which can be run by any EVM.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    BTC’s programming language, Script, is not Turing complete.

  5. What is a Turing Complete programming language?
    A Turing complete language can program for solving any possible problem. This necessitates the usage of loops.

1 Like
  1. What does the EVM do? Code running on top of all Ethereum nodes, on top of their CPUs, and these run the smart contracts. EVM reads the smart contracts in solidity, then compiles into byte code to run and executed on the CPU. Then EVMs of each node must reach consensus on the state or results of the smart contract.

  2. What is the format of the instructions that the EVM can read? Programmed in solidity but compiled into byte code to be run on the CPU

  3. What is the relationship between the programming language Solidity and Bytecode? EVM compiles Solidity into byte code and byte code is run by the CPU

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? Bitcoin has multi-sig but is not Turing complete, so it’s limited that it cannot execute loops. Bitcoin programmers didn’t want Turing complete programming on bitcoin for fear of spam and too much complexity and congestion on the network.

  5. What is a Turing Complete programming language? — means it can execute loops

1 Like
  1. EVM is the Ethereum virtual machine, it is a piece of code that nodes have in their network. It controls the CPU and runs the smart contract code.

  2. Byte code

  3. EVM can only execute instructions in Byte code. Ethereum is coded in solidity and the compiler turns the code into Byte so EVM is able to read it and hence execute it by going through the instructions.

  4. Because the language in which Bitcoin, namely Script, is not Turing complete.

  5. Turing complete languages are capable of coding and programming anything. They have loops that help in telling the software to do one task multiple times.

1 Like
  1. What does the EVM do?
    The Ethereum Virtual Machine executes Solidity code (and in the future other languages) and
    isolates the smart contract code from the physical computer. Many languages use Virtual Machines,
    the major benefit being it allows the same language to run on any underlying hardware since the
    program being run doesn’t change but the version of the Virtual Machine does, to translate from the
    computer language, to the hardware language of the CPU
  2. What is the format of the instructions that the EVM can read?
    English? A C++ like language? Or the bytecode which is a compiled version of the English version of
    the program where high-level English-like instruction is boiled down to just a number or byte
    representation. It’s not the CPU language, but just a compressed and optimized version/analogy of t
    the original Solidity code.
  3. What is the relationship between the programming language Solidity and Bytecode?
    The Bytecode is the compiled, compressed, optimized version of the Solidity English-like code and is
    faster and smaller for the EVM to execute.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    It’s “EVM” is not Turing complete (no branching and no loops)
  5. What is a Turing Complete programming language? One that has memory and branching (variables,
    if and goto, and by virtue of those things, loops)
1 Like

1)EVM i.e Ethereum Virtual Machine that reads the smart contracts and tells CPU to do according to it and also ensures the security of network by preventing malicious acts
2)Byte code
3)Solidity uses compiler to compile instructions of smart contracts into bytecode so that EVM can read it
4)Bcz bitcoin’s programming language is script which is turing incomplete language that can only do simple functions
5)Turing complete programming language means that the language which can solve any complex problems

1 Like
  1. What does the EVM do?
    It is code that every ethereum node runs and not only executes smart contracts, but also provides the mechanism for the network to reach consensus as well as encapsulate the actions of the smart contract to protect them from accessing other parts of your server or computer.
  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 code is compiled into bytecode which is what is deployed on the ethereum blockchain and is what the EVM reads and executes
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because it is not a turing complete language
  5. What is a Turing Complete programming language?
    A language that basically allows a developer to be able to develop any requirements they have.
1 Like
  1. The EVM acts as a bridge between the blockchain and the hardware. It allows for the execution of smart contract and transaction validation.
  2. On the EVM code written in solidity is converted by a compiler to byte code and executed.
  3. Solidity is easier to program, similarly to JavaScript, but needs to be converted to bytecode by a compiler before being executed on a machine. In this way it adds a layer of security.
  4. Because the Bitcoin language script is not turing complete and can solve only a limited amount of problems.
  5. A turing complete language is versatile and can be adapted to solve any problem.
1 Like
  1. EVM is running on top of the hardware of all computers on the network and will read and execute smart contracts.

  2. EVM is reading instructions in byte code

  3. Solidity language will use a compiler which will translate the instructions in byte code which is then read by the EVM

  4. Programming language used for Bitcoin is not Turing complete

  5. Turing complete language will allow code that can implement any possible application.

1 Like
  1. Reads and executes smart contracts.

  2. Byte code.

  3. Solidity is compiled into byte code. Then the byte code runs on the CPU of a node.

  4. Because Script is not Turing Complete.

  5. A programming language that can have any program written on it.

1 Like