Homework on EVM

Hi, my answers are:

1. What does the EVM do?
EVM reads smart contract instruction codes on each node, make sure nothing malicious in smart contracts to protect the network

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

3. What is the relationship between the programming language Solidity and Bytecode?
Solidity is compiled down to bytecode so EVM can read it

4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Because its smart contract programming language - script is not Turing complete, it doesn’t have enough capacity to solve many problems related to money on the internet.

One important feature that script doesn’t have is loop (iteration).

All of the limits of Bitcoin is because Bitcoin developers want to keep Bticoin a digital peer-to-peer cash, or digital gold. They don’t want someone be able to spam on the network (using loops), they don’t want to increase block size to store all of small pieces of code (smart contracts). They want bitcoin to keep being a digital asset

5. What is a Turing Complete programming language?
It is a kind of programming language that is capable of giving developers the ability to create programs that can solve many problems

One of the important features is loop - which means executing some codes multiple times without manually typing them down. Sometimes, manually typing them down is impractical to create a program because in runtime, no one could predict what a certain value would be.

1 Like
  1. What does the EVM do?
    It lets users execute code in a way that allows for network consensus. The EVM also communicates between the smart contract and your computer’s CPU for security reasons.
  2. What is the format of the instructions that the EVM can read?
    The format of the instructions the EVM reads is Byte code.
  3. What is the relationship between the programming language Solidity and Bytecode?
    A compiler will take your solidity code, compile your logic and instructions into byte code, then the EVM will read all of the instructions.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin is not Turing Complete meaning it can not solve all problems that it may have to solve.
  5. What is a Turing Complete programming language?
    Turing Complete refers to the ability of a computer or system to run any algorithm or solve any computational problem, provided it is given the necessary instructions, time, and memory.
1 Like
  1. It allows you to execute smart contracts on the blockchain.
  2. Bytecode
  3. Solidity is compiled in bytecode
  4. They don’t want to along with t he fact it’s lacking a few key things to making it a Turing complete system.
  5. It is a language that allows loops to be created and ran along with everything else. Basically allowing anyone to build onto the blockchain.
1 Like

Homework - EVM

What does the EVM do?
The EVM runs the Ethereum smart contracts on your computer.

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

What is the relationship between the programming language Solidity and Bytecode?
The programming is written in solidity and then executed in the EVM as bytecode.

Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Because bitcoin is not Turing complete, meaning it can not do loops for instance. Bitcoin has been developed as digital gold that can be transacted amount people, nothing more, nothing less.

What is a Turing Complete programming language?
A language wherein you can program and execute everything programs or in the case of ethereum smart contracts.

1 Like
  1. What does the EVM do?
    The EVM is a piece of code that is running on top of all nodes on the Ethereum blockchain, and this code is able to read and execute smart contracts.

  2. What is the format of the instructions that the EVM can read?
    The format of the instructions that the EVM can read is a programming language called Solidity.

  3. What is the relationship between the programming language Solidity and Bytecode?
    The relationship between the programming language Solidity and Bytecode is that the EVM can read the Solidity language then relay those instructions to the CPU in bytecode to execute.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin can’t run complex programs like Ethereum can because of it’s limited scripting language and the fact that it is not Turing complete.

  5. What is a Turing complete programming language?
    A Turing complete programming language allows you as a programmer to solve all problems, anything you can possibly imagine can be solved with a TC language.

1 Like

1/The evm is the software that developers use to create Dapps on ethereum. Ethereum accounts and smart contracts live on the evm. The evm is what Executes and interprets the smart contracts also running every node and miner.
2/ Bytecode
3/ Smart contract code is usually written in the programming language Solidity, the code then gets compiled to bytecode by the evm and deployed to the eth blockchain
4/Bitcoin uses a non-turing complete SCRIPT language.
5/ Turing complete programming language is a language that can perform any computation

1 Like

The Ethereum Virtual Machine is a software framework which is capable of executing smart contracts / compiled into byte code in order to support the deployment of dApps on the Ethereum Blockchain. The EVM is deployed on the nodes of the Ethereum network (independently from the underlying operating system of the computer) and computes changes of the world state after being initiated by a transaction (which will cost a certain amount of gas, paid with the native coin ETH) - therefore the EVM enables changes of the world state of the network, which needs then to be validated and confirmed by the entire network of different, distributed nodes. The EVM is a global quasi-turing complete state machine.

ByteCode - Smart Contracts are written in Solidity (other languages possible) which is a derivative of JavaScript - the language must then be compiled into ByteCode.

Check Answer 2.

Bitcoin is based on a non-turing complete programming language - Script (=scripting language). Therefore it is not capable of running more complex operations, as it does not contain features e.g. loops. It’s limited.

A programming language which allows you do solve any kind of computational problem.

1 Like
  1. What does the EVM do?
    EVM reads the byte code on the smart contracts and tells the CPU what to do.

  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?
    The solidity code can be translated by compiler to be understood in the byte code.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because Bitcoin use a program language script that is which is Not Turing Complete, It means a limited ability to solve problems

  5. What is a Turing Complete programming language?
    It is the language such as Solidity which allows to solve many problems

1 Like
  1. Reads the smart contracts on the nodes and tells the CPU what actions to execute.
  2. solidity language turned to byte code using compiler
  3. it is the same instructions just read/presented differently
  4. because it doesn’t have sučh an advanced programming language it is not turing complete
  5. you can program anything you want. It has loops, that allows software to do 1 thing x times.
1 Like
  1. executes smart contracts
  2. EVM byte code
  3. Contracts are written in Solidity and then compiled in Bytecode
  4. BTC is not turning complete because it is written in Script
  5. A programming language that you can program anything ( in theory )
1 Like
  1. What does the EVM do?

Ethereum virtual machine (piece of code that on all the computers of the network is running)
It is running on top of the existing hardware of a computer. The EVM will use all other resources.
It can read and execute smart contracts, not just only programs.
EVM will read the small contracts (on solidity) on byt code.

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

The EVM makes use of byte code for the instructions. It doesn’t care which program is used.

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

Smart contracts make use of the programming language Solidity. The EVM will read solidity and then relays for those instructions on byte code. The EVM only cares about the byte code, not the program that has been used.

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

Bitcoin uses the program language ‘script’. This is used for easy executions as a need for several signatures to approve a transaction. It cannot solve all the problems so it is very limited.

  1. What is a Turing Complete programming language?

Solidity is turing complete because you can program pretty much everything with it, also the more complex things.

1 Like
  1. The EVM makes it possible to execute code on the ethereum network and plays an important role in security for sensitive information.

  2. ByteCode

  3. The relationship between solidity and bytecode is that solidity will compile all the info into bytecode

  4. Btc cant run the same type of programs like eth because its language (script) is programmed to only very simple problems whereas eth has a program that can solve anything (theoretically)

  5. A turing complete programming language can have loops and can perform complex instructions

1 Like
  1. The EVM is an application that runs on all computers that have nodes. It uses your CPU to execute smart contracts.

  2. The format in which the EVM can read is byte code.

  3. Using solidity code you compile the finished result into a byte code readable by the EVM. Essentially creating a smart contract.

  4. Bitcoin Cannot perform loops. It will affect block size because loops allow you to spam up the network.

  5. A Turing complete programming language enables things like loops. It allows you to repeat various tasks on targeted parts of the smart contract that don’t repeat the full contract.

1 Like

1.EVM or ethereum virtual machine read and execute the code into smart contracts
2.instructions read by the EVM is in bytecode
3.bytecode is solidity code after compiling
4.Because his programming language, script sis not turing complete
5.a turing complete programming language can solve complex programs

1 Like
  1. What does the EVM do?

It runs the Solidity code locally in an isolated environment using the resources of each node’s CPU.

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

The EVM reads Bytecode.

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

Solidity is the language that humans use to write code. This is converted into Bytecode which is the language that the EVM reads and implements.

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

It is not turing complete. The capabilities are limited.

  1. What is a Turing Complete programming language?

One in which it is possible to code anything you want.

1 Like

EVM-

  1. EVM executes smart contracts on the ETH blockchain.

  2. Bytecode

  3. Smart contarcts are written in Solidity then converted to bytecode for the EVM to execute,

  4. BTC is not turing complete.

  5. A language that can execute any smart contract that anyone can think up.

1 Like
  1. What does the EVM do?
    EVM reads the smart contract code and tells all the nodes/CPUs what it entails so that each node is on the same page.

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

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is the programming language in which your write the smart contract instructions, a compiler then makes it into byte code so that the EVM can read it.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin uses script which is a much simpler language. You cannot program anything in the BTC network like you can with ethereum.

  5. What is a Turing Complete programming language?
    Solidity is a Turing complete program, which means that you can program anything with it.

1 Like
  1. The EVM reads and executes smart contracts.
  2. The format is bytecode
  3. Code is written in Solidity and then complied into bytecode for the EVM to read and relay the instructions for the CPU to execute
  4. Bitcoin can’t run complex programs due to it’s programming language not being turing complete.
  5. Solidity
1 Like

Hi Shivani, Are you interested in group study & freelance?

I am Gaurav from Raipur, I have 10 experience in C++ & I have learned smart contract 201, and Now looking for partner for pair programming & projects

The EVM allows for execution of smart contracts on the Ethereum blockchain.
EVM can read byte code in solidity.
Solidity is like JS and compile to bytecode.
Bitcoin is not Turing complete.
A language that can compute anything another computational method can compute.

1 Like