Homework on EVM

  • What does the EVM do?

EVM reads smart contracts and interact with CPU.

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

EVM can read Bytecode.

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

Soluditi translates to Bytecode by compiler.

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

Because Bitcoins programming language is not Turing complete.

  • What is a Turing Complete programming language?

Is a language that has no restrictions, anything can be programed in it.

2 Likes
  1. What does the EVM do?
    EVM reads from Smart Contract, compiles it and run it on all nodes. => Distributed machines to track Smart Contract’s states.

  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?
    Programmers write in Solidity and Solidity compiler compiles the code to bytecode.

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

  5. What is a Turing Complete programming language? Contains loops.

1 Like

1. What does the EVM do?
EVM (Ethereum Virtual Mashine) looks, reads and calculates smart contracts, gets a result and tell CPU then what to do.
2. What is the format of the instructions that the EVM can read?
Solidity programming language turned by a compiler into byte code.
3. What is the relationship between the programming language Solidity and Bytecode?
As mentioned above, Solidity is the language which EVM can read, but for security sake its compiled into byte code to prevent the CPU from directly working on it.
4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
It can, but it’s been decided that it wont. Bitcoin is simply meant to be utilized as online money or gold. That’s all. Hence it’s not Turing complete.
5. What is a Turing Complete programming language?
A Turning Complete language is for example Solidity, which hasn’t got any theoretical limitations in terms of what one can program. It also allows for loops which is a key feature.

2 Likes
  1. EVM reads and execute the instructions in the smart contract (not directly to CPU)
  2. Bytecode -> smart contract
  3. The solidity code is compressed into Bytecode so it can be read by AVM
  4. Because it doesn’t allow these kind of smart contracts that eth can. It can have some “script”, but it is very limited
  5. It is a language that allows loops into the program.
1 Like
  1. It means Etherium Virtual Machine and is where the smart contracts run
  2. EVM reads bytecode
  3. Solidity is the language you write in and bytecode is the processed language by the EVM
  4. It is not Turing Complete, e.g. cannot write loops
  5. A language where you ca program anything (in theory)
1 Like
  1. What does the EVM do?

<Reads and executes smart contracts on the CPU ogf a blockchain node

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

binary code compiled from the solidity compiler

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

Solidity is a programming language like javascript which is compiled to bytecode before deployed to the EVM

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

Becaus the bitcoint script language stript is not touring complete. For example no loops allowed

  1. What is a Turing Complete programming language?

A progr. language whith all nessecary elements like loops, objects, if-clauses… so solve any programming task.

1 Like

1. What does the EVM do?
The EVM executes the smart contract code across the network. The EVM sits as a layer between the smart contract code and the physical hardware that runs the Ethereum network.

2. What is the format of the instructions that the EVM can read?
Solidity programming language compiled into byte code.

3. What is the relationship between the programming language Solidity and Bytecode?
Solidity is the human readable code and byte code is what the computer executes.

4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin is not Turing Complete. It was intentionally limited in it’s capabilities. The community only wants it to function like digital money without additional functionality that could slow the network.

4. What is a Turing Complete programming language?
A programming language that includes all of the functionality to run loops, conditional statements, and other functions.

1 Like
  1. As a security precaution and as a method of consensus, the EVM reads the Smart Contract instructions.
  2. The EVM reads the instructions in bytecode.
  3. Solidity is the programming language for the instructions in bytecode.
  4. Bitcoin is “Non-Turing Complete”.
  5. A programming language that can execute complex, repetitive tasks such as loops.
1 Like
  1. What does the EVM do?
    EVM can read and execute smart contracts on the ethereum network.

  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 used for programming then it’s compiled to bytecode before deploying to EVM.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because Bitcoin’s language script is very basic and not turing complete, cannot handle complexity.

  5. What is a Turing Complete programming language?
    A turing complete language allows the user to program anything they want, can handle complex tasks and repetitive tasks as well such as loops.

1 Like
  1. EVM is the Etherium Virtual Machine which is the computer which all nodes use to run the etherium network separate from the node own operationg system. this means the node will be isolated or siloed away from OS.

  2. EVM can read the instructions in bytecode.

  3. Solidity creates the code and the code is then compiled into byte code which the EVM then can execute.

  4. Bitcoin cannot run complex programs because the coding language is not Turing complete.

  5. Aturing complete language has looping in the code.

1 Like
  1. What does the EVM do?

The EVM reads the SC instructions and executes them consensually within the ETH network. It functions as a form of security wall between the Smart Contract and the CPU of the node.

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

All instructions are read in bytecode

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

Solidity is a programming language similar to JavaScript used to program all instructions in the SC. With special applications these instructions are then compiled down to byte code so the EVM is able to read it.

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

Bitcoin´s programming language is Script, which unlike solidity isn´t turing complete. In other words it is limited in what it can do e.g., can´t loop. Back when Vitalik worked for Bitcoin he proposed to implement a turing complete language, but it was rejected, due to the people wanting bitcoin to stay as it is, namely digital money. Furthermore they didn´t want the network to get spammed and wanted to stay away from all those SCs being implemented in the blockchain and consume all the space in the blocks.

  1. What is a Turing Complete programming language?

A programming language is Turing Complete, whenever it´s able find an answer to any given problem.

1 Like
  1. Read and execute byte code (Smart Contract) and ensure Security in Nodes
  2. Byte code
  3. Solidity copile into bytecode
  4. Because Script is not a Turing Complete language
  5. A Turing Complete programming language can solve any computational program. Simple example can run loops
1 Like
  1. Ethereum Virtual Machine, it reads and execute smart contracts on the Ethereum Network.
  2. Byte Code.
  3. Solidity is compiled into byte-code which EVM receives and executes the byte code instruction by instruction.
  4. Scripting language in Bitcoin is very limited, it is not turing complete, it cannot solve all problems that it might have to solve. While Solidity language in Ethereum is turing complete you can program anything you want, it can be done.
  5. Turing Complete programming language is Solidity, it is used solve any computation problem.
1 Like
  1. What does the EVM do?
    Read and execute code (Smart Contracts) on the Ethereum network and then give instructions to the CPU.
  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?
    Smart contracts are coded in Solidity and are then compiled into Bytecode which can then me read by the EVM.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because the coding language used in Bitcoin, script, does not allow it. It is not Turing Complete.
  5. What is a Turing Complete programming language?
    A Turing Complete language can write code that will find an answer/solve any computation problem.
1 Like
  1. EVM reads and executes smart contracts on the Ethereum Network.
  2. Instructions are read by Bytecode.
  3. Solidity is the programming langue used to program the instructions in the smart contract. These instructions are compiled to bytecode so the EVM can read and execute.
  4. Bitcoin uses a very limited langue called script. Script is not turning complete and is unable to run the complex programs on the Ethereum network.
  5. A turning complete program is a programming langue that allows you to execute complex tasks such as loops.
1 Like

1.) EVM (Etherium Virtual Machine) is a code that runs on each cpu/node on the Etherium network. It reads all of the commands of the Smart Contract in a language called Solidity/Viper, then translates the commands in a language called Bytecode, telling the CPU what to do, per the commands.

2.) Solidity and Viper are the languages that the EVM read.

3.) The relationship between SOLIDITY and Bytecode is as such: the EVM reads Smart Contracts in Solidity, then it translates their commands to the nodes in Bytecode.

4.) Bitcoin runs a programming language called Script. Script is not “Turing-complete”, meaning it is limited in terms of what all it can do.

5.) A Turing-complete programming language is fully programmable. Whatever you want it to do, it can be done in a Turing-complete language.

1 Like
  1. The EVM incapsulates the smart contract so it can’t hurt your CPU. The EVM sends the information to your CPU. All nodes run the Ethereum Virtual Machine.
  2. EVM reads in Bytecode, which is a code made out of Solidity or Viper.
  3. Bytecode basically is Bytecode, but compiled and readable for the EVM.
  4. Because btc’s code is not Turing Complete.
  5. Turing Complete programming language is highly programmable, you can basically program anything you want.
1 Like
  1. The EVM is an application that runs on top of each node’s respective CPU in order to read and execute byte-code. This allows the CPU to indirectly execute transactions and smart contracts while keeping this EVM data separate from the CPU itself. (@Maki is this right? oh no - are you not part of the Ethereum thread?)

  2. Either Solidity or Viper. Point is, it is a programming language that is Turing-Complete

  3. Solidity is written on top (?) of existing byte code so that the EVM can read it

  4. Bitcoin’s programming language (script) is intentionally kept simple so that it can act strictly as a digital currency. Its programming language is non Turing Complete.

  5. A programming language that theoretically allows coders to program whatever they choose to into it.

(any help on this would be greatly appreciated. I’m coming straight from the Bitcoin/Blockchain 101 course, but I’m still quite confused regarding the code-types) :frowning:

1 Like

@filip maybe you can help? There are many answers on this thread, but it’s hard to filter everything out to the most concise ones :frowning:

I’d really appreciate it! :slight_smile:

1 Like
  1. What does the EVM do?

EVM is Ethereum virtual machine that takes commands from the code and translates it to a CPU. It also protects CPU from harmful commands.

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

Bytes.

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

Bytecode is a compiled code that Solidity employs.

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

Because Bitcoin is built on the Not Turing complete language.

  1. What is a Turing Complete programming language?

It is a language that allows you to program whatever you want and resolve any occurring problems.

1 Like