Homework on EVM

  1. What does the EVM do?
    Etherum Virtual Machine (EVM) executes the smart contract.

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

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is the coding language used in the smart contract, however then compiled into byte code for the EVM to execute.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    This is because the code set is turing incomplete, and is only capable to programming “simple” routines, this is by design.

  5. What is a Turing Complete programming language?
    This is a language where in theory you can programme anything you want.

1 Like
  1. What does the EVM do?

EVM is a piece of code that all computers in the network are running. It executes smart contracts on computers and runs on the top of CPU. IIt reads smart contract instructions and tells the CPU what to do. All nodes need to reach the same results and this how the consensus is made.

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

It is byte code. Programmers use Solidity to read byte code.

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

Compiler takes Solidity code and it will compile logic from Solidity to Byte code and EVM will read all of the instructions.

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

Bitcoin does not have that programality as Ertherum. Script is limited. It is not Turing complete meaning that it cannot solve all problems

  1. What is a Turing Complete programming language?
    Can solve any problem we have and it has loops.
1 Like
  1. Reads and executes smart contracts on the Ethereum blockchain.?
  2. Bytecode (compiled solidity code)
  3. Solidity (like many programming languages) are compiled to bytecode so a software interpreter (such as the EVM) can read
  4. Bitcoin language (script) is not TC complete.
  5. TC language can solve any problem (must support loops)
1 Like
  1. What does the EVM do?

Ethereum Virtual Machine executes the smart contract line by line.

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

It reads Byte code. Typically this is written in Solidity or perhaps Viper.

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

The contract is written in the programme language Solidity. Then, the compiler converts it in to a basic computer language called Byte code.

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

Bitcoin isn’t Turing Complete. The script is limited and not as versatile in it’s programmability. Bitcoin was designed to be simple and not support loops to avoid spam attacks, but however without loops it cannot adjust for variables.

  1. What is a Turing Complete programming language?

It is completely versatile and can allow pretty much anything to be programmed onto it. It supports loops and can be programmed to account for variables.

1 Like
  1. The EVM sits on each of the nodes and is a virtual machine that executes smart contracts (instead of those contracts running directly on the cpu of the nodes)

  2. The EVM reads bytecode

  3. solidity is the language in which smart contracts are created - this is then compiled into bytecode, which runs on the evm

  4. Script, the language that bitcoin uses to run programs, is not turing complete, and is a very simple language without many of the features that solidity has

  5. A turing complete language is one in which all possible mathematical operations can be performed

1 Like
  1. What does the EVM do?
    EVM is a piece of code which is installed on every single machine / node on Ethereum network to enable the nodes to read and execute the smart contracts.

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

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is a programming language which is compiled by a compiler to Bytecode so that EVM can read the instructions and the logic of the smart contracts written in Solidity

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because the programming language used in Bitcoin network is Script that is not a turing Complete programming language, i.e: cannot program the complicated smart contracts while Solidity, the programming language on Ethereum is.

  5. What is a Turing Complete programming language? It is a programming language that can be used to program anything.

1 Like
  1. The EVM acts as the global decentralized computer of the Etherium network. It’s function is to act as a security layer between the smart contract and the nodes on the network. All smart contracts are processed within the EVM.

  2. The EVM reads code in bytecode which is compiled from Solidity (or other future compatible languages)

  3. Solidity is the language the contracts are written in Bytecode is the language that EVM reads and executes the contracts in.

  4. Bitcoin was built to be Turing Incomplete, its a feature of Bitcoin that complex smart contracts cannot be written as it’s intended use case is as a currency and store of value. Building a smart-contract compatible language would reduce the security of the system.

  5. A programming language is Turing complete if you can implement any possible algorithm with it.

1 Like
  1. EVMs read instuctions from the smart contracts and tell the CPU what to do.
  2. Byte code
  3. In oder to get the instructions in byte code (necessary for EVMs) you need to create the smart contract with Solidity. You then get the byte code through a compiler.
  4. Because the blockchain would become too heavy.
  5. A turing complete programming language is a language that allows you to do a lot of different operations including loops. (repeat operations several times)
1 Like
  1. What does the EVM do?
    Reads the solidity and/or viper and compiles it into byte code for execution on the Ethereum blockchain which allows the entire network to reach concensus.
  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 compiles into Bytecode through EVM.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because script (Bitcoins programming language) is NOT turing complete meaning that it cannot iterate code such as loops.
  5. What is a Turing Complete programming language?
    This is a programming language that allows smart contracts to function, and allows various types of loops and functions to be executed.
1 Like
  1. What does the EVM do?
    A. EVM reads the smart contracts before passing information to the CPU. This prevents breakout of malicious code taking over or corrupting nodes.
  2. What is the format of the instructions that the EVM can read?
    A. Bytecode.
  3. What is the relationship between the programming language Solidity and Bytecode?
    A. Solidy is the language the code is written in before compiling into Bytecode for the EVM to read.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    A. It doesn’t have a TC language.
  5. What is a Turing Complete programming language?
    A. A complex language capable of running anything which can be imagined. Also has capability of running loops.
1 Like
  1. Executes the smart contract on each individual node in the system telling each CPU what to do.

  2. Byte Code

  3. Byte code is derived from the programming language Solidity using a compiler.

  4. It’s programming language Script is not turing complete.

  5. It can solve anything and has the ability to deploy loops.

1 Like

The EVM is a virtual machine that runs on ethereum.

It can read the programming language particular to ethereums’ programming on the blockchain that they use in its’ virtual machine.

Solidity is a programming language for ethereum while bytecode is one for bitcoin.

It was not set-up to run smart contracts like etherem is.

I think that that program was one in which it was set-up to run loops. It is practical because it would be too complicated and costly to run and write out each line of code one by one.

  1. What does the EVM do? The EVM reads the instructions in the smart contract executes it and sends to the CPU. This is done on each node of the network until it reaches consensus.

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

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity compiles the logic and instructions down to Bytecode.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin has a programing language called script which is not Turing complete. This language has limited capabilities that cannot solve all applications. Bitcoin is meant to be a store of value. If it had a Turing language, the network would be more at risk. For example Bitcoin does not allow loops. Loops would make the Bitcoin network vulnerable to spams.

  5. What is a Turing Complete programming language? A Turing complete language such as Solidity can be used to program anything.

1 Like
  1. The EMV executes contract bytecode
  2. Byte code, which got compiled from the solidity source code
  3. Solidity is the programming language which its source code gets compiled to byte code
  4. The programming language of Bitcoin is not turing complete. It doesnt allow loops, in case of spamming
  5. A programming language which you can do anything, theoretically
1 Like

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

  1. What does the EVM do?
    EVM reads the smart contracts and sends them to cpu to execute.

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

  3. What is the relationship between the programming language Solidity and Bytecode?
    You can program a code on solidity and convert it into bytecode so that the EVM can read your code

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because the bitcoin language is not turing complete

  5. What is a Turing Complete programming language?
    Is a program language wich can perform anything

1 Like
  1. EVM runs smart contracts program and then sends them to cpu to execute on the chain
  2. Byte
  3. Solidity is programming language and bytecode convert it to a EVM readable code
  4. Because the programming language of Bitcoin is not turing complete
  5. Turing Complete programming language is that one which can preform anything
1 Like
  1. What does the EVM do?
    Is a computer program that runs on all the ethereum network computers. It can execute smart contracts and secure the ethereum blockchain database.

  2. What is the format of the instructions that the EVM can read?
    Bytecode. Solidity code is complied by the compiler to create bytecode, which the EVM can read.

  3. What is the relationship between the programming language Solidity and Bytecode?
    The compiler will compile Solidity programming language to create the bytecode, which the EVM reads.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin uses script programming language. It is a more simpler language.

  5. What is a Turing Complete programming language?
    Is a language that is very flexible and capable of being able to solve very complex problems.

2 Likes
  1. What does the EVM do?

Ethereum is a network of computers where all participants communicate and all have a version of the EVM.
EVM is a software that executes all codes in a trustless system.
These scripts are called smart contracts that allow developers to create Dapps.

Today you have to trust your bank with your money, and trust someone like DropBox with the security of your files and Facebook with your pictures. Ethereum makes it possible to recreate these services as decentralized applications and EVM is what makes it possible. EVM is written in solidity, reads the smart contract in bytecode and gives instruction to the CPU of each node and adds security for the network. .

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

Ethereum bytecode

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

The instructions written in smart contracts are written in bytecodes.
Programmers use solidity programming language, then a compiler, translates the solidity code and instructions compiles it down to bytecodes so the EVM can read and execute these instructions.

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

Bitcoin runs only simple scripts. A simple and limited programming language that is processed from left to right. A not Turing complete language that can’t solve complex problems or actively change the state of the system.

  1. What is a Turing Complete programming language?

A Turing complete language will have loops that can allows programmers to solve any complex problems.

1 Like
  1. EVM is a program (layer) running on the node/ computer CPU that reads, compares the outcomes and verifies all the commands of the smart contracts and adds the security to the database

  2. Eth bytecode

  3. Solidity has a compiler that translates commands into bytecode

  4. Bitcoin was made to be money and nothing else. BTC code is simpler and shorter that way

  5. Turing Complete allows loops in the programming

1 Like
  1. EVM is able to read the data from a smart contract or a program and transfer it to the CPU in to the Ethereum network.
  2. EVM can read byte code.
  3. Solidity is the language in which the byte code is written.
    4.Because is not TC and its programing language is called script.
  4. A touring complete programing language offers access for developers to build on the network different applications.
2 Likes