Homework on EVM

Homework: EVM
Ethereum Introduction

  1. What does the EVM do?

The EVM reads smart contracts, and executes on them and tells CPU what to do. On Ethereum network every CPU has the application EVM on it. It makes it so that we can reach consensus of the smart contracts.

  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?

You program in Solidity and with a compiler you translate it into bytecode.

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

It is not having a Turing Complete programming language.

  1. What is a Turing Complete programming language?

Where you can program anything. And it has loops.

1 Like

1. What does the EVM do?
Is a code that all the nodes have in it.
This allows the possibility of executing smart contracts by conditions.

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?
On Etherum we run Solidity language to program and then it will be a ByteCode, this ByteCode will be sent to the EVM.

4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Because the Script language (1st gen of blockchain) is not Turing complete.

4. What is a Turing Complete programming language?
A TC programming language allows running complex functions and codes in loop form.

1 Like

1. What does the EVM do?
Runs virtual machine on the node
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 using compiler are translated into a bytecode
4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
It is not touring complete
5. What is a Turing Complete programming language?
Allows to run variety of instructions such as loops

1 Like
  1. What does the EVM do?
    Ethereum Virtual Machine is the calculation / direction mechanism of the Ethereum Ecosystem that directs the nodes (CPUs) to execute the conditional transaction directives.

  2. What is the format of the instructions that the EVM can read?
    *EVM reads the application designed for money TX / Transactions called “Solidity”; which is a byte code similar to (JS) Java Script. A new application called “Viper” is in the works at this time.

  3. What is the relationship between the programming language Solidity and Bytecode?
    EVM reads Solidity which is a bytecode programming language like Java Script.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    BTC has a script function that is limited in programming ability. Ethereum has a programming language feature that enables smart contracts and other conditional criteria to be applied to a transaction. The term for this ability “Turing Complete”, BTC is not Turing Complete but Ethereum has a programmable language that is Turing Complete.

  5. What is a Turing Complete programming language?
    Turning Complete (TC) means that the bytecode language is fully programmable in its application like Solidity or Viper.

rjr
2021-03-10T05:00:00Z

1 Like
  1. EVM is the mechanism that operates within the Ethereum ecosystem and is a bridge between CPU and smart contract. The EVM executes conditional elements of a smart contract without allowing the smart contract to “take over” a host CPU.
  2. Byte Code
  3. Solidity is the programming language used by programmers. This content is compiled into bytecode for the EVM to read.
  4. BTC uses script, which is not Turing Complete.
  5. Turing Complete allows for complex instructions to be triggered and is considered a fully programmable language. An example would be triggering a loop.
1 Like
  1. EVM is avirtual machine running smart contracts from the etherium blockchain by using cpu/gpu of nodes.

2 EVM is reading byte code.

  1. Solidity is compiled to bytecode.

  2. Bitcoin is not turing complete

  3. With a turing complete language you can program everything you can think of.

1 Like

Answers to updated Homework on EVM questions:

1. What does the EVM do?

The EVM (Ethereum Virtual Machine) is the application layer that runs on the Ethereum network’s nodes and executes the code for smart contracts.

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

The EVM reads Bytecode.

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

Solidity is the language used by a programmer to write smart contracts for the Ethereum network. It is designed to be easily understood by humans. Then, a compiler takes the Solidity code and converts it into Bytecode to be read by the EVM in a format that is very difficult for humans to interpret but is executable by a computer.

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

The Bitcoin network was not designed with smart contracts in mind. To put it simply, the Bitcoin protocol lacks this feature. Instead, Bitcoin’s network uses a simple scripting language called “Script” that can be used to program transactions. The Bitcoin developers did not want to add smart contract functionality because it would cause blocks to fill up with smart contracts rather than transactions, could potentially slow down the network, would open up the network to exploits, and would necessitate a hard fork of the blockchain.

5. What is a Turing Complete programming language?

A Turing Complete language can solve any mathematical problem. Non-Turing Complete languages are limited in what problems they can solve. Examples of Turing Complete languages include JavaScript, Perl, and C++ to name a few.

1 Like
  1. The EVM reads the smart contract from the Ethereum blockchain, assess, compile and pass to the node’s CPU for executing.
  2. The EVM is able to read the code written in Solidity.
  3. Solidity is the language the programmer writes and bytecode is the language the node’s CPU understands. The EVM reads the solidity code and compile it in bytecode format to be executed.
  4. Because of bitcoin’s script language limitations and community concern for the size of the blockchain.
  5. Basically a Turing Complete language is a language that is able to execute loops and therefore is able to sustain complex programs.
1 Like

1. What does the EVM do?

  • The EVM reads the smart contract’s instructions.

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

  • the EVM reads only bytecode

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

  • Solidity is what a developer writes the smart contract in, and then the Solidity code is compiled into bytecode that can be run by the EVM

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

  • Because it is not Turing complete

5. What is a Turing Complete programming language?

  • Solidity is a Turing complete language. So is JavaScript.
1 Like
  1. The EVM acts as a virtual machine for Ethereum that essentially reads byte code and sends it to the CPU of the computer the node is running on for interpretation and execution.
  2. EVM instructions are written in Solidity and compiled into byte code.
  3. Bitcoin is not a turing complete language and due to this the blockchain would be impacted negatively with the use of smart contracts due to bottlenecks and blockchain size. Non turing languages cannot make decisions, only mathematical inputs
  4. A turing complete programming language is a language that can interpret instructions from memory that are more complex than arithmetic. Turing complete languages can solve far more complex equations.
1 Like

1 Etherium Virtual Machene. Evm makee it possible execute code on network in such a way we are all in consensus about what the result should be.
2 evm reads in bytecode.
3 Solidity is the language that is used by programers than a compiler is used to tranfer it into bytecode so the EVM can read it
4 Bitcoin has already some programmability called script and its not turing complete meaning that it might have to solve if you want to program some kind of application. Solidity is turing complete

1 Like
  1. Processes smart contracts. Insulates smart contracts from CPU’s
  2. Bytecode
  3. Solidity is the programming language that gets compiled to bytecode
  4. Bitcoin does not have a turning complete code, which is required to run contracts of what ever can be thought of
  5. I means the code can be used to create any possible function thought of
1 Like

What does the EVM do?

The EVM runs on the nodes in ETH network, it exectues smart contracts using cpu of the node’s computer.

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

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

On Etherium you do the programming on Solidity and afterwards it can be compiled to Bytecode for it to be readable by the EVM.

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

Because ETH is turing complete, while BTC is not. Meaning that on BTC you can build only really basic programability.

What is a Turing Complete programming language?
Turing complete programming language has almost no limitations on what you can build on it.

2 Likes
  1. What does the EVM do?
    The Ethereum Virtual Machine (EVM) is a program that operates on ethereum network nodes. It reads instructions from smart contracts and tells the CPU how to execute those contracts. It’s decentralized, and cannot be manipulated thus providing an extra layer of security and permanence for users.

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

  3. What is the relationship between the programming language Solidity and Bytecode?
    Smart contracts are written in Solidity. The EVM converts the contract into EVM bytecode, which then the EVM takes that understanding and informs the CPU on how to execute the contract.

4+5. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin’s Script programming is more primitive than ethereum. This is okay, Bitcoin’s simplicity makes it perfect for what it’s supposed to be: digital gold, a store of value. Ethereum’s Solidity programming, on the other hand, is a Turing-complete language. That means in theory you can program it to compute any computational problem and is able to conduct loop functions.

2 Likes
  1. EVM runs all the applications, read the SmartC and demands CPU to do all calculations compiled in the EVM. (Ethereum Virtual Machine)

  2. Bite code

  3. Solidity is a language program who compiles the logic into byte code because EVM only read bite code.

  4. Use a script not able to solve issues and it is very limited.

  5. Truly complete means language that you can program almost anything you want.

2 Likes
  1. Interprets and executes smart contracts.
  2. Reads the byte code produced by Solidity/Viper compiler.
  3. Solidity is compiled into bytecode.
  4. Bitcoin is not turing complete
  5. Turing complete is capable of Loops which can program multiple X repetition of any instruction.
2 Likes
  1. Ethereum virtual machine reads the instructions programmed through the byte code to run the smart contract.
  2. Small programs of smart contracts
  3. It compiles the information and instructions through the EVM.
  4. Bitcoin is run on script which is primitive and not as scalable. It is not turing and complete
  5. Solidity is a turing complete language compiling the byte code.
2 Likes
  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 programmed in the Soldity Programming language which is compiled and read as bytecode by the EVM.
  3. What is the relationship between the programming language Solidity and Bytecode? Solidity is the programming language in which smart contracts are written. This is compiled and read in bytecode by the EVM,
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? Bitcoin cannot run complex programs because it’s language is not Turing Complete.
  5. What is a Turing Complete programming language? A Turing Complete language can run loops and therefore can conceptually be programmed to run anything.
2 Likes
  1. EVM can read and execute a smart contract. Once a smart contract code is written, it is uploaded and deployed on EVM.
    EVM is a runtime compiler to execute a smart contract. Once the code is deployed on EVM, every participant on the network has a copy of the contract.
  2. EVM bytecode
  3. The smart contract will be written in Solidity, but will be compiled into EVM bytecode.
  4. BTC use script wich is very simple and limited. It is not Turing Complete.
  5. You can program everything you want in TC language. In TC language you have Loops, which can tell the software to do things several times.
1 Like
  1. Is a powerful, sandboxed virtual stack embedded within each full Ethereum node, responsible for executing contract bytecode.

  2. Bytecode

  3. Solidity is compiled of bytecode that is subsequently executed on the EVM.

  4. Bitcoin uses script as a programming language. It is not turning complete.

  5. Turing completeness is used as a way to express the power of such a data-manipulation rule set.

1 Like