Homework on EVM

EVM runs on the nodes to execute the instructions given to it by the smart contract.

Bytecode compiled written it solidity

Bytecode is created by solidity to be read by the EVM

It is not Turing Complete.
Script is programmable but it is very primitive.
It wants to be seen as digital gold.
Free of spam

A Turing complete language contains all the modern functionality of a modern programming language.

1 Like
  1. What does the EVM do?
    The EVM enables us to execute code on the network in such a way that the network can reach a consensus on the result of a smart contract execution.

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

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity compiles instructions for the EVM to read in Bytecode.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin can’t run complex programs like Eth because like script, bitcoin is not turning complete. Solidity is Turing complete.

  5. What is a Turing Complete programming language? A Turing complete language that can be programmed to do just about anything and can solve any computational problem. It has the capability of loops which allow a programmer to make a program repeat a function as many times as they want.

1 Like
  1. The EVM makes possible to write programming code that will be ran in every single node in the network. It is executed in the EVM and not in the CPU for a security reason.

  2. It can reads Bytecode

  3. With solidity you compite the code into Bytecode

  4. Because it is not turing complete.

  5. In a turing complete programming language you can program whatever you want. One important caracteristic is that it lets the use of loops.

1 Like
  1. What does the EVM do?

A. The EVM reads smart contracts and communicates the data to the CPU. It is an application run by all nodes, that can read and execute smart contracts, and protect the CPU from malicious code.

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

A. The EVM reads bytecode.

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

A. Solidity writes the smart contracts made of byte code that the EVM’s job it is to read.

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

A. Different languages. Bitcoin uses Script which is not Turing complete, unlike Ethereum which uses EVM and is Turing complete.

  1. What is a Turing Complete programming language?

A. A language wherein anything can be programmed and all problems solved.

1 Like
  1. What does the EVM do?
    You have the ability to write a program to be able to run on the Ethereum blockchain.

  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?
    EVM compiles Solidity into Bytecode

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin is not Turing complete, you can’t program smart contracts on bitcoin to prevent spam.

  5. What is a Turing Complete programming language?
    Ethereum is a Turing complete language where you can theoretically program whatever commands you can think of.

1 Like
  1. The EVM runs code in a sandbox isolated from the node’s base OS.
  2. It can read instructions in the EVM bytecode language.
  3. Solidity is a human-readable programming language similar to JavaScript. It is used to write code that can be executed by the EVM in the Ethereum network after being compiled into EVM bytecode.
  4. Because Bitcoin includes a limited programmable logic (not Turing complete) that allows for only simple operations.
  5. It’s a language that can run any possible algorithm in it.
1 Like
  1. What does the EVM do?

EVM runs the Ethereum code in a distributed away across all nodes

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

bytecode

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

Solidity is the human-readable/writable language (similar to javascript) that gets compiled to bytecode

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

it only has a rudimentary scripting language (“script”) and is not Turing complete like Ethereum

  1. What is a Turing Complete programming language?

it is capable running any imaginable program and doing any math

1 Like

1.EVM reads the contract and compiled it through EVM byte code and it also keeps the files from modifying.
2.the format of the instructions that EVM can read is EVM byte code.
3.Solidity is an object oriented programming language writing smart contracts, and smart contracts are being compiled by EVM to EVM bytecode.
4.They wanted to avoid being spammed and to a avoid the increase in size of the blocks(which is a problem for the Bitcoin)
5.Turing complete programming language is a language that is capable of answering complex problems.

2 Likes

EVM reads the bytecode of the smart contracts in the Solidity programming language , executes the smart contract and the gives the instructions to the cpu of the computer running the nodes on the ethereum network. If the result on all the EVM’s on all the nodes of the Eth network is the same then consensus has reached and the smart contract can execute.

Bytecode

The instructions of a smart contract will be in Bytecode, but programmers are using the Solidity programming language to get acces to the bytecode. Solidity uses a compiler and compiles into bytecode and the EVM will read the bytecode and will share the instructions of the smart contract to the cpu.

BTC pogrammers didn’t want this out of fear of TC loops that could spam and clutter the BTC network.

A Turing Complete programming language means that you can program anything you want, can create loops etc.

1 Like
  1. What does the EVM do?
    The EVM is bale to read the smart contracts. In ethereum the CPU doesn’t read a smart contract, for mostly security reasons. Instead the EVM reads the smart contract and then passes it on to the CPU.

  2. What is the format of the instruction that the EVM can read?
    The format of the instruction that the EVM can read is called Byte code.

  3. What is the relationship between the programming language Solidity and Bytecode?
    When you are programming a smart contract in the ethereum blockchain you first have to program is through Solidity. Then you have to put it through a compiler. This changes the Solidity into Bytecode.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin can’t run the same type of complex programmes like Ethereum can because Bitcoin’s programming language is not turing
    complete. While Solidity in Ethereum is turing complete.

  5. What is a Turing Complete programming language?
    A Turing complete programming language can in theory, anything you can think of you can program in Solidity.

2 Likes

1.it reads and executes smart contracts that have been compiled into byte code.
2 byte code
3. Solidity is the language used by the programmers then it is compiled into byte code for the EVM.
4.Because it uses Script a non Turing complete language.
5. Solidity is a Turing complete language it allows ( in theory )to program it to do anything

1 Like
  1. Execute & run smart contracts + act as a security preventative towards malicious code.
  2. Bytecode
  3. Solidity transforms code into bytes (bytecode), executable on EVMs.
  4. BTC doesn’t have a turning complete language which limits it’s programming abilities.
  5. A language that allows you to create anything - you aren’t limited to anything.
1 Like
  1. The Ethereum Virtual Machine EVM is a piece of code reading byte code (2. format) written smart contracts that the whole blockchain network of computers can read, execute, and are in a consensus of what the SC results should be. They are then working with Proof of Work PoW BTC-like.

  2. The in TC - turing complete (3. and 4.) Solidity programmed instructions pass through a translator - compiler - writing these instructions in byte code into a so secured smart contract.

  3. The BTC script doesn’t include loops - at will predefined to repeate commanded tasks - what makes its possible smart contracts primitive regarding of the abundant possibilities Solidity offers on ETH.

1 Like

1. What does the EVM do?

The “Ethereum Virtual Machine” is a program that every node must run in order to interpret smart contracts and reach consensus. This EVM is capsulated meaning the code of a smart contract can not affect youre system.

The EVM is necessary because when executing a smart contract all nodes must execute the code, reach the same result and propagate it through the network in order to reach consensus.

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

The format of the instructions the “EVM” can read is called “BYTEcode”

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

If i understood correctly ( correct me if wrong please ). Solidity is the programming language that “builds” the smart contract, then it is compiled into BYTEcode in order for nodes and their EVM to make use of them.

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

Because bitcoins programming language “Script” is not turing complete. Meaning that unlike Solidity there are things that can not be done with Script.

5. What is a Turing Complete programming language?

A Turing complete programming language is a language that can “in theory” program any application you want. Like C++ for example. Solidity would also be defined as Turing complete.

1 Like
  1. It connects all different CPUs around the world to the same contract so that any computer can access the ETH network.
  2. Byte Code
  3. Solidity is converted into bytecode so that EVM can read it.
  4. Because BTC isn’t Turing complete while ETH is.
  5. A close to an infinite list of ones and zeros that allows programmers to do almost anything.
1 Like

reads and execute the smart contracts

bytecode

solidity is programing language, bytecode is format

bitcoins programming language is not turing complete

language able to perform very complex functions, limited by our imagination only

1 Like

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

indeed, also will be better to said that bytecode is solidity but compiled (you program in solidity, you compile it to bytecode).

If you have any more questions, please let us know so we can help you! :slight_smile:

Carlos Z.

1 Like

What does the EVM do?
The Ethereum Virtual Machine ( EVM) is a powerful, sandboxed virtual stack embedded within each full Ethereum node, responsible for executing contract bytecode. Contracts are typically written in higher level languages, like Solidity, then compiled to EVM bytecode.
2. What is the format of the instructions that the EVM can read?

  1. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is compiled to bytecode that is executable on the EVM. With Solidity, developers are able to write applications that implement self-enforcing business logic embodied in smart contracts, leaving a non-repudiable and authoritative record of transactions.
  2. Why can’t Bitcoin run the same type of complex programs like Ethereum can? A Turing complete programming language can be written to do anything
  3. What is a Turing Complete programming language?
    In computability theory, a system of data-manipulation rules (such as a computer’s instruction set, a programming language, or a cellular automaton) is said to be Turing - complete or computationally universal if it can be used to simulate any Turing machine
1 Like

1… It allows anyone to execute code in a trustless ecosystem
2. The EVM is Turing complete, which
3.
4. Because of the programming language limitations. Bitcoins uses Scrypt language not a turing complete language, whereas Ethereum run on Solidity which is a turing complete language
5. refers to a system capable of performing any logical step of a computational function

  1. The EVM creates a more secure environment and establishes consensus among all nodes of a blockchain network by acting as an intermediary between the CPU hardware of each node and a smart contract established in that network.
  2. The format of the instructions that the EVM reads is byte code.
  3. The relationship between the programming language Solidity and Bytecode is that Solidity converts instructions from its language into bytecode.
  4. Bitcoin cannot run the same type of complex programs like Ethereum can because Bitcoin is not a turing complete language. Bitcoin is limited in what it can be programmed to do.
  5. A Turing complete programming language is able to program software to do whatever you want. The EVM is able to read the byte code and apply it to a smart contract based on the consensus of that contract.
2 Likes