Homework on EVM

EVM (Ethereum Virtual Machine) interprets and executes smart contracts and is also created to secure CPU and the whole network against the malicious apps deployed into the network.

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

Byte code.

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

A smart contracts instructions is written in the programming language Solidity. Then a compiler is used to convert that language into byte code so EVM and CPU can be able to understand it.

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

Because the language ( SCRIPT) used on the btc blockchain is not turing complete (TC), so it can only do a small set of simple calculations and can’t run loops. Ethereum is using Solidity which is TC and can therefore perform the more complex functions required by Smart Contracts.

What is a Turing Complete programming language?

A TC program is a language which can perform smart contracts, because it´s able to perform complex mathematical operations. It can in theory do anything and solve any (computational) problem.

1 Like
  1. EVM execute code (instructions) on the network in such a way that all nodes are in consensus about what the result should be.
  2. EVM reads compiled byte code from another programming language
  3. Solidity allows programmers to decrypt the instructions in byte code, which are found in smart contracts.
  4. Bitcoin’s programming language is script, which is a non turing complete language.
  5. A turing complete language can be used to solve computational instruction.
1 Like
  1. The EVM reads smart contracts and executes them by telling the CPU what to do. It also prevents harmful smart contracts to be released into the network.
  2. Byte code
  3. Users create smart contracts with Solidity and it is then compiled into bytecode for the EVM to read and execute.
  4. Bitcoin’s programming language isn’t turing complete and their block size is too small.
  5. Any programming language that can solve every math problem.
1 Like
  1. The EVM is the Ethereum Virtual Machine. It executes the smart contract code on the blockchain nodes instead of having that code executed by the CPU.
  2. It is executed as Bytecode.
  3. Solidity is used to program the smart contracts. Solidity code is then compiled into Bytecode which is run on the blockchain nodes inside the EVM.
  4. Bitcoin does not have the ability to run loops. It is not Turing complete.
  5. Turing complete programming languages can be used to solve any computational problem.
1 Like
  1. It connects all CPU’s from the nodes in the network with each other creating a virtual machine
  2. Bytecode
  3. Solidity is the programming language and Bytecode is the basecode of smartcontracts. Solidity is compiled to bytecode that is executable on the EVM.
  4. Because BTC is not Tuning complete
  5. It is a developers language that allows you to program all kinds of functions / applications
1 Like

Response:

  1. The EVM acts as the middleman between the contract and the CPU. It reads and executes the commands, then spreads it to the other nodes on the network.
  2. Instructions for the EVM are made up of bytecode.
  3. Solidity and bytecode work together thru a compiler; programs/commands are coded in solidity -> compiled into bytecode in order to be shared to the network.
  4. BTC cannot run the same programs as ETH due to the fact that it runs on script and it is not a turing complete language. Looping, for one, would confuse the BTC network into thinking it’s being spammed.
  5. Turing complete language is a program that does exactly what you ask of it (in theory).
1 Like
  1. It works like an cpu and executes code/instruction for smart contracts on top of the nodes in the ethereum network.

  2. It’s bytecode, also called 0’s and 1’s.

  3. Solidity is the programming language you use to write code or smart contracts that later on compiles to bytecode so the EVM can read it and execute it.

  4. Because bitcoin programming language is script and that language isn’t a turing complete language which means you can only write easy instructions and it’s a more primitive language where solidity(ethereum) is a more complex language making it possible to create any programs you want.

  5. It’s basically when a language can solve all kind of different mathematical problems which makes it possible to write any tpe of instructions or code to be executed.

1 Like
  1. EVM, Ethereum virtual machine as an app , pice of code wich run in all the nodes, will read the Smart contracts and then will tell CPUS follows intructions, increasing the security, prevent that nothing malicious happens, due the possibility of smarts contrats to command directly the networks cpus.

  2. Is Bytecode

  3. Solidity is a language wich will compile into Bytedoces the instructions of smarts contracts.

  4. Due the programming language, Bitcoin has Script language wich is not Turing complete ( limited), on the other hand, Ehtereum has Solidity wich is Turing complete language wich allows to programming many things.

  5. A Turing Complete Language allows to programming anything anw will have Loops wich is a feature of programming language wich can orden the software to repeat an action several times.

1 Like
  1. What does the EVM do?
    Answer: The EVM, Ethereum Virtual Machine, makes it possible to execute code on the ethereum network so that consensus can be met. The EVM reads the byte code that is compiled from the programming language in order to execute the smart contract and the instructions within in to reach the result or final state of the contract.

  2. What is the format of the instructions that the EVM can read?
    Answer: The EVM reads byte code which can be compiled from any programming language.

  3. What is the relationship between the programming language Solidity and Bytecode?
    Answer: Ethereum is written in the programming language Solidity which can be compiled to byte code so that the EVM can read the instructions of a smart contract.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Answer: Bitcoin cannot run the same type of complex programs like Ethereum because Bitcoin is written in Script, which is not a Turing Complete programming language.

  5. What is a Turing Complete programming language?
    Answer: A Turing Complete programming language is a complete programming language that allows loops to be programmed into different algorithms which can perform complex tasks over and over again.

1 Like
  1. What does the EVM do? The Ethereum Virtual Machine computes code on the Ethereum Network for all nodes (instead of each node’s 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 programmed in solidity get compiled into bytecode for the EVM to read & execute.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? The script programming language used by Bitcoin is not Turing Complete.
  5. What is a Turing Complete programming language? Allows for programming of complex mathmatical sets of rules that can loop in execution, allowing for theoretically solve any computational problem.
1 Like

[quote=“filip, post:1, topic:8443”]

  • What does the EVM do?
    EVM is a sandboxed virtual stack embedded within each full Ethereum node, responsible for executing contract bytecode. Contracts are typically written in higher level languages (Solidity,etc) then compiled to EVM bytecode.

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

  • What is the relationship between the programming language Solidity and Bytecode?
    Solidty is a programatic language used to code smart contracts on Ethereum. When it is compiled each instruction is compiled to bytecode and then used within the EVM

  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin is not Turing Complete.

  • What is a Turing Complete programming language?
    A computer system that is able to recognize or decide other data-manipulation rule sets.

1 Like
  1. EVM reads and executes the smart contracts on the ethereum network. It is an application (piece of code), that runs on every computer on the ethereum network.

  2. The EVM can read instruction written in Bytecode.

  3. Solidity is a programming language that developers use to write the smart contracts (code, set of instructions). The smart contract is then compiled into a language that a computer can read = bytecode. That said, the computer doesn’t care in witch programming language you write your code, because everything is then compiled to bytecode.

  4. Because Bitcoin is written in a programmable language Script, that is not Turing complete. This means that it can not solve everything you want.

  5. It is a programming language that can solve everything you want. Every piece of code you write, can be executed.

1 Like
  1. What does the EVM do?
    EVM Ethereumn virtual machine is a virtual machine to run smart contracts on nodes on the network, The EVM ensures that no malicious activity is happening in a smart contract, and is like a security layer for the network.
  2. What is the format of the instructions that the EVM can read?
    In byte code, but a compiler turns the solidity language into byte code so that the EVM can run it.
  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is compiled into byte code using a compiler, and the byte code then runs on the EVM nodes.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin uses a script that’s non-Turing complete, the developers didn’t want to increase the block size with extra spam. That why bitcoin is a good store of value aka digital gold.
  5. What is a Turing Complete programming language?
    Loops are used to run Turing complete programs, A non-turing programming language like bitcoin script doesn’t have this function. So a Turing complete language would be able to solve any complex problems.
1 Like
1. The EVM stands in between the smart contract and the CPU to protect the network. 

2. EVMs execute Byte code translated from Solidity.

3. Solidity is the language programmers use and then it is compiled into Bytecode for the EVM to read and execute.

4. Bitcoin can't run the same type of complex programs like Ethetrium can because Bitcoin does not run on a Turing Complete programme.

5. A Turing Complete programming language has complete programmibility and scripting which means that in theory a programmer can programme anything into a smart contract. 

A Turing Complete language has Loops as a feature of the programming language, which allows the programmer to programme one command many times, or repeats… This is useful because it reduces the need to write all instructions by hand and is useful when there are variables in the smart contract.

1 Like
  1. What does the EVM do?
    A. The EVM reads the smart contracts, then instructs the CPU on what and how to execute
    commands. It is also a security layer that prevents smart contracts from taking over
    computers on the network.
  2. What is the format of the instructions that the EVM can read?
    A. Programmers use a programming language called Solidity which is compiled through
    a computer application and put in smart contracts which the EVM can read as
    Byte Code
  3. What is the relationship between the programming language Solidity and Bytecode?
    A. Solidity is the programming language used by programmers to write smart contracts.
    The Bytecode is the result of the programming language after it is converted by the
    compiler application for the EVM to read.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    A. Because Bitcoin uses a programming language called Script, which is not
    Turing Complete.
  5. What is a Turing Complete programming language?
    A. A Turing Complete language allows you to program “theoretically” anything you can
    think of. It has the ability to perform complex functions and has the capability to
    perform the “looping function”.
1 Like

What does the EVM do?
Reads the code/instruction of smart contracts on the ethereum blockchain and checks that conditions are met. Maintains network security via consensus.
What is the format of the instructions that the EVM can read?
Byte code
What is the relationship between the programming language Solidity and Bytecode?
Solidity is the “human readable” code for programming ethereum smart contracts. It is then compiled to bytecode, which is the “cpu readable” language that the EVM reads
Why can’t Bitcoin run the same type of complex programs like Ethereum can?
It is not Turing complete
What is a Turing Complete programming language?
A programming language that (in principle) can solve any computation problem

1 Like
  1. What does the EVM do?
    It is a virtual machine which comprehens and execute Bytecodes in smart contracts on Ethereum Blockchain.

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

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is the high-level programming language for Ethereum Blockchain, but they need to be complied to Bytecode before it could be executed.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    The instruction set of Bitocin Script is not Turing-Complete.

  5. What is a Turing Complete programming language?
    A Turing Complete programming language is a programming language which is able to recognize or decide other data-manipulation rule sets, so theoretically it can be used to solve any kind of problems which needs computational solution.

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?

  6. The EVM sandboxes code so it runs in a virtual environment, this way we can assure that the code runs the exact way on every node.

  7. The EVM can read bytecode which we can compile solidity too.

  8. Solidity is the human-readable programing language, we can compile it to bytecode which the EVM can understand and run.

  9. Bitcoin has a simpler programing language by design. it is not turing complete.

  10. A programming language that in theory can solve any mathematical problem we want it to.

1 Like
  1. What does the EVM do?

EVM is a virtual machine that runs on all the nodes in the Ethereum network. The EVM executes the smart contract and then instructs the node’s CPU to deliver the instructions.

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

The EVM reads byte code.

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

Solidity is run in a complier which converts the language into byte code.

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

Bitcoin does not have a Turing complete language.

  1. What is a Turing Complete programming language?

A turing complete language is one that is complete and can create complex structures. E.g. the exclusion of the ability to implement loops can be defined as a non-turing language.

1 Like
  • What does the EVM do?
    Ans: Firstly, the EVM adds a layer of security to the Ethereum network. Secondly, it translates instructions from Solidity to bytes, which is then sent to the CPU to understand and process.

  • What is the format of the instructions that the EVM can read?
    Ans: Bytes.

  • What is the relationship between the programming language Solidity and Bytecode?
    Ans: Solidity is a high-level programming language that is meant for users/programmers to use, which means it is readable and writable by a human being. On the other hand, Bytecode is a low-level programming language that is meant to be understood by a software interpreter such as the Ethereum Virtual Machine.

  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Ans: Because the programming language of Bitcoin is not Turning Complete.

  • What is a Turing Complete programming language?
    Ans: A Turing Complete programming language is one on which you can perform any kind of math and logic.

1 Like