Homework on EVM

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

  1. What does the EVM do?

The Ethereum Virtual Machine (EVM) executes smart contracts that are deployed on the Ethereum network.

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

The EVM reads instructions in Bytecode, and then executes it with the help of each nodes’ CPU.

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

Solidity is developed as a language to more easily create Bytecode, that the EVM then can read.

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

The bitcoin scripts are more limited in possibilities than the smart contracts on Ethereum. In contrast to Solidity, it’s not Turing complete.

  1. What is a Turing Complete programming language?

A Turing complete programming language can, in theory, do anything you tell it to do.

1 Like

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

  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. Etherium Virtual Machine is used to execute the code on the network. All nodes run EVM and when each node has run the same script, concensus is reached.
  2. EVM reads instructions in bytecode.
  3. Solidity is used by the developer to create functions for smart contracts. A compiler is used to transform the instructions into bytecode.
  4. Bitcoin has a programming language called Script but this is not TC (Turing Complete). It can not execute more complex logic such as Loops and must all be handwritten.
  5. TC means it can solve all problems.
1 Like

Excellent answers sir, well documented! Please keep them like that :muscle:

Carlos Z.

  1. it makes it possible to execute codes on the network by taking responsibility to tell the CPU what to do.
  2. bytecode
  3. Solidity’s code is compiled into byte code
  4. it’s programming language is still primitive to make complex contracts
  5. a complex language and is able to do almost any kind of programming
1 Like

Homework: EVM

Answers below:

1. What does the EVM do?

Answer: Ethereum Virtual Machine is a piece of code installed and running on all Ethereum network computer nodes. EVM reads all the computer program instructions, performs the calculation ( i.e like for smart contract), and then EVM will communicate and tell the CPU what to do. EVM enables all computer nodes to come to and reach a consensus about the outcome.

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

Answer: EVM reads the compiled Byte Code format and executes the byte code instructions.

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

Answer: Solidity is the language used to program the computer node instructions. EVM Byte Code takes the computer node instructions, compile it so that the Ethereum Virtual Machine (EVM) that is running on each computer node hardware can read and execute those instructions.

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

Answer: Bitcoin programming language aka “Script” is not a Turing and Complete language and is too limited to run complex programs. Though it’s program is limited, Bitcoin’s “script” can run MultiSig, allowing two signatures to sign-off on a transaction. However, nothing too complex than that is possible without a Turing Complete program language.

5. What is a Turing Complete programming language?

Answer: Ethereum’s Solidity is a Turing Complete Language. With a Turing Complete language, complex instructions may be program; anything is possible with a Turing and Complete language using Solidity, such as a Smart Contract running across all Ethereum nodes.

1 Like
  1. The EVM is a piece of code running on existing computer hardware capable of reading and executing smart contracts.
  2. EVM reads instructions in Bytecode.
  3. Solidity is the programming language of ethereum, smart contracts are written with solidity. However, this language needs to be read in Bytecode by EVM.
  4. Because bitcoin’s programming language is not Turing Complete.
  5. A programming language that allows for critical functions such as the loop function.
1 Like
  1. It is a block chain based software platform. It is decentralized with no down time, and can not be changed. It is primary used for smart contracts or decentralized apps, Dapps.
  2. Bytecode.
  3. Solidity is a higher level language which needed to be complied to Bytecode so EVM can understand it and execute it.
  4. Because Bitcoin Script language is not Turing complete.
  5. It can do loops.
1 Like
  1. provides infrastructure for reading and executing smart contracts. built on top of blockchain based on POW. iow, an application running on all nodes in network executing smart contracts.
  2. smart contract
  3. the CPU (via the EVM code) reads smart contracts (written in Solidity) and compiled into Bytecode. a compiler translates solidity into byte code. the EVM reads the byte code.
  4. because it only runs Script, which is not a Turing Complete language.
  5. A turing complete language can solve any mathematical problem which can be solved (even if only theoretically).
1 Like
  1. The EVM can read and execute smart contracts.
  2. Byte code
  3. Solidity is the language in which you code the smart contracts, a compiler is then used to convert the code into byte code (the code the EVM reads)
  4. Because BTC is not a turing complete language
  5. A turing complete language is a language that can execute calculation, “if you can think it you can code it”
1 Like
  1. EVM (Ethereum Virtual Machine) - it reads the smart contracts. It compiles them into EVM Bytecode and tells the computer’s CPU to execute the smart contracts.
  2. EVM Bytecode
  3. Smart contracts are written in a programming language Solidity, this is then compiled into Bytecode.
  4. It’s because bitcoin is based on Script, a programming language which is not Turing complete, and can only perform simple operations.
  5. It’s a language which can perform mire more completely functions and solve complex problems.
1 Like
  1. Its Ethereum Virtual Machine that is run in your computer, and it creates a closed environment for the transaction handling and therefore protects you from any malicious programs

2.Byte code

  1. Solidity is used to code smart contracts and solidity is compiled into byte code, which is read and ran by your CPU like any normal code

  2. Because Bitcoin’s language Script is not turing complete and very primitive

  3. Turing complete language allows you to program basically anything you can imagine

1 Like
  1. What does the EVM do?
    The EVM reads and executes smart contracts.
  2. What is the format of the instructions that the EVM can read?
    The instructions are written in byte code
  3. What is the relationship between the programming language Solidity and Bytecode?
    The instructions are initially written in Solidity that is afterwards compiled into bytecode.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because bitcoin’s programming language (Script) is very primitive.
  5. What is a Turing Complete programming language?
    It means that you can basically program anything you can think of on a turing complete language.
1 Like
  1. What does the EVM do?
    EVM reads the smart contracts

  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?
    code is written in solidity then compiled into bytecode

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    bitcoin block-chain language code is script with is not Turing complete.

  5. What is a Turing Complete programming language?
    with Turing Complete programming language you can do complex functions and codes like solidity

1 Like
  1. EVM encapsulates the smart contract and ensures that nothing malicious is sent to the network.
  2. Instructions are in bytecode
  3. programs made in solidity, are compiled into bytecode for the EVM to read it.
  4. because it is not a Turing complete language
  5. Turing complete prog. lang. is a language in which you can program whatever you want.
1 Like
  1. EVM makes it possible to execute code (smart contracts) in a decentralized way on the ethereum blockchain.
  2. bytecode.
  3. solidity is the programming language in which you compose your instructions. a compiler consolidates your text or instructions into bytecode for the EVM to read.
  4. because Bitcoin uses “Script”, a programming language that is NOT Turing Complete. it is very limited and may not be able to solve all problems it may encounter.
  5. Turing Complete essentially means that you can program anything you can think of…(in theory)
1 Like
  1. What does the EVM do This is the Ethereum Virtual Machine. that runs on all nodes in the network. This is a security layer that secures the smart contract against any malicious intent. 2. What is the format of the instructions that the EVM can read? Instructions are written in the Solidity programing language. 3 3 What is the relationship between the programming language Solidity and Bytecode?Solidity must be converted into bytecode for the EVM to read it. 4.Why can’t Bitcoin run the same type of complex programs like Ethereum can? Bitcoin operates under the Script programinng language, which is limited in function. Ethereum uses a Turing complete language( Solidity) which was created to do much more than basic monetary TXs 5. 5. What is a Turing Complete programming language? TC language allows you to program anything. By utilizing “loops” which can perform simple tasks over and over w/o writing out volumes of instruction.
1 Like
  1. EVM contains and reads the code of smart contracts and tells the CPU to execute. Ensures security of the network .

  2. EVM reads bytecode .

  3. Solidity is the programming language for smart contracts that gets compiled into bytecode for the EVM to run.

  4. Bitcoin runs on script ,it can only make simple contracts and is not Turing complete.

  5. Turing complete language can solve any problem and allows programmers to create complex programs. It has loops.

1 Like
  1. What does the EVM do?
    The Etherium Virtual Machine (EVM) reads and double checks the smart contracts in order to reach consensus. It is like a security layer for the network.

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

  3. What is the relationship between the programming language Solidity and Bytecode? Solidity must be converted into bytecode for EVM to read it.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? Bc BTC is not turing complete - was not designed to be more than just a currency. It is written on script progamming language which is limited in function.

  5. What is a Turing Complete programming language?
    That means that theoretically everything is programmable on the ETH platform.

1 Like

EVM translates the Viper code into the binary code readable by CPU.
EVM can read Solidity or Viper format.
SOlidity is a programmable language which programmers understand and use, while Bytecode is used by CPU.
Bitcoin is designed to be robust, and safe. There is no “advanced” programming language like Solidity for Ethereum.
Turing complete programming language means theoretically you can programm anything by using it.

1 Like

Executes smart contracts.
Byte Code
Solidity is compiled into byte code to be read by the EVM
To keep from being spammed. BTC is not turing complete.
TC can program anything

1 Like