Homework on EVM

  1. What does the EVM do?
    The EVM is an app that runs on top of the CPU. To protect the CPU the EVM has its own security code written into it.
  2. What is the format of the instructions that the EVM can read?
    The EVM programming instructions are written in Solidity. The EVM translates these instructions into Bytecode for the CPU.
  3. What is the relationship between the programming language Solidity and Bytecode? Solidity is written in English, a compiler translates this into Bytecode for the CPU.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    BTC doesn’t use a Touring complete language. Also, SC’s take up a lot of space on the blockchain and BTC’s blockchain is already slow.
  5. What is a Turing Complete programming language? It is a language that can be scaled to solve any problem.
1 Like
  1. It read the smart contract and convert it to machine language for the node’s CPU to execute.This prevente any smart contracto to have direct access to the nodes resources.
  2. EVM bytecode.
  3. Solidity is a higher level language that is used to write smart contract, then compile it into EVM bytecode for the EV to execute.
  4. Because the EVM is Turing Complete. But Bitcoin’s programming language (script), by design is not Turing complete to prevent someone from spamming the network and to make sure that Bitcoin is only used as a currency.
  5. Turing complete which means that any logical step of a computational function
    like loops.
1 Like
  1. The EVM (Ethereum Virtual Machine) acts similarly to a CPU. It follows a set of instructions, and interacts with the CPU in a node to execute those instructions. It does so while still remaining isolated.
  2. The EVM can read Bytecode
  3. The instructions for a smart contract are written in solidity and then compiled into Bytecode.
  4. Bitcoin’s programming language is not Turing Complete
  5. A Turing Complete programming language is a language that be used to create a wide variety of programs that can follow virtually any instructions you give it.
1 Like

The EVM will read and execute the byte code programmed onto the ethereum blockchain.

Bytecode

You will write your code on Solidity, it will be converted to bytecode and put it on the blockchain, where the EVM, which each node has, will read and execute the bytecode.

The programming language that the bitcoin blockchain uses is called script, and it is not Turing complete.

When a language is Turing complete, that language has theoretically no bounds to what you can program, it can solve high level equations and execute large and long lasting strings of code.

2 Likes
  1. Earned value management is a project management technique for measuring project performance and progress.
  2. The evm reads byte code
  3. Solidity is one of the first programming languages with support to compile to bytecode that can be run on the Ethereum Virtual Machine. As a result, it has more tools and has grown in popularity compared to other existing languages for the same purpose.
  4. Bitcoin is nothing more than a currency, whereas Ethereum is a ledger technology that companies are using to build new programs.
  5. Turing completeness is often loosely attributed to physical machines or programming languages that would be universal if they had unlimited storage. All modern computers are Turing-complete in this sense.
1 Like

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

Quite close sir, but Solidity is the programming language that you use to create/design smart contracts, after that, it will be compiled into ByteCode, so the format of the instructions that EVM reads is Bytecode.

Hope you find this useful! :slight_smile:

Carlos Z.

1. What does the EVM do?

Hello Miss, i think you misunderstood the question, EVM stand for Ethereum Virtual Machine, at least in when we are speaking into the Ethereum keywords field. Could you please redesign the answer?

Although the answers are really good!

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

Carlos Z.

1. What does the EVM do?

The Ethereum Virtual Machine is the middle man between a smart contract and the Ethereum CPU network. Its primary function is to act as a security layer of the Ethereum network. It will read Bytecode from a smart contract and then send those instructions to each CPU in the network for consensus.

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 are written in Solidity. They are then converted to bytecode for the EVM to read.

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

Bitcoin is not turing complete. Ethereum is Turing complete.

5. What is a Turing Complete programming language?

Turing Complete is a very versatile language that allows programmers to build and develop whatever they want or need to.

1 Like
  1. EVM reads smart contracts and tells the CPUs and other programmes of the nodes what to carry out. It enables security and consensus of the network.

  2. byte code

  3. Solidity is the programmable language for smart contracts on the ETH network. It is then complied down into byte code which the EVMs read.

  4. Bitcoin was designed to be digital money and carry out simply tasks like multi sig. It wasnt designed to carry out more complex tasks like true smart contracts. Bitcoin is not "turing complete’ which means it is not truly programmable like ETH is.

  5. Loops is a type of turing complete language which is able to carry out tasks many times over by itself.

1 Like
  1. The EVM allows for smart contracts to run on the Ethereum network in a decentralised way.

  2. The EVM can read Bytecode.

  3. Solidity is a programming language for Ethereum. Code written in Solidity is compiled into Bytecode.

  4. Because the programming language used to program on bitcoin is not Turing Complete and has limited abilities.

  5. A Turing Complete programming language is a language that allows you to program with full functionality to solve any problem. It also is able to run loops.

1 Like
  1. What does the EVM do?
    The EVM can make the network reach consensus and provides security for the CPU and the smart contract.

  2. What is the format of the instructions that the EVM van read?
    It is called bytecode. Which can be read by languages like Solidity for example.

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

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    The bitcoin code, Script, is not turing complete.

  5. What is a Turing Complete programming language?
    A programming language that has loops and with no limits.

1 Like

1: EVM can read and execute smart contracts. EVM does this by running through a smart contract the same way a CPU would run through a program.

2: Byte code

3: Solidity is the programming language which is used in the EVM bytecode

4: Because Bitcoin uses Script which is not a turing complete programming language.

5: A turing complete programming language is a language that can be used to code everything theoretically. An example would be the use of loops that are present in the ethereum blockchain but not in the bitcoin blockchain. There are both pros and cons to this as it serves a problem with scalability, but enables so much more than what Script offers to the bitcoin blockchain.

1 Like
  1. EVM is a virtual machine that executes smart contracts.

  2. Bytecode.

  3. A code made with solidity is compiled into Bytecode.

  4. Bitcoin’s script-language is not Turing Complete.

  5. Turing Complete programming language is a language, that can be used to program any computational problem.

1 Like
  1. The EVM or the Etheruem virtual machine reads and excutes the byte code of the program/smart contract then gives it to the cpu to compute.
  2. The EVM reades the byte code after it is been compiled by either solidity and or viper. After the they are compiled by the languages it is able to be computed
  3. Using the program/smart contracts are written in solidly the complied into bytecode for the EVM to read and execute.
    4.The script language can not handle complex computation. If they did try to go ahead and do this will take up space on the blockchain making it slow and dangerous because of loop functions.
    5.A complete turing programming language allows you to call other program and manipulate them.

Yes i misunderstood the question i though it was asking what is a turing complete programming language, as in state one that was. Now that you have restated it as to describe what a turing programming language is i can better answer the question

In a truing complete programming language you can program anything you want with no limitation keeping time and cost in mind .
Turing complete programming languages have loops, where you can program the software to do one thing several times.

1 Like

5. What is a Turing Complete programming language?

Quite right sir, but that could be one of the abilities of the Turing Complete programming language, could you please describe it in general terms?

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

Carlos Z.

  1. An application on top of the nodes that can read and execute the instructions in the smart contract.
    2.programming language Solidity
  2. A compiler translates the solidity program to the byte code instructions. The EVM reads and executes the byte code instructions of thre smart contract.
  3. Bitcoin has a simple programming language called script which is not capable of handling complex instructions
    5.It can solve all complex instructions
1 Like

1 it executes programs (smart contracts) isolated from the system-ressource on eth-nodes. they were compiled from a program language to bynary-code
2 eth-specific binary format (EVM bytecode). the contracts are usually written in a higher level language like solidity and then compiled using the EVM compiler into byte code.
3 solidity is a higher proamming language (easy to code), the bytecode is an optimized-machine-readable-bytecode, than can be read and executed by the EVM
4 It does not have a touring-complete programming-environment, but only a very simple scripting-environment. besides: those transactions are/were not welcome on btc
5 in theory it means a system in which a program can solve any computation problem. for that we need instruments like “loops” for example, we code a loop that does something as many times as a conditions is fullfilled.

1 Like
  1. What does the EVM do?

The EVM sits ‘between’ a Smart Contract and a CPU in a node. It serves to both verify the results of the Smart Contract and act as a security layer so a Smart Contract can’t access the CPU.

  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 an Ethereum programming language (another language called Vyper being developed now) . It is converted by compilers into Bytecode, which is what is inside the actual smart contracts and read by the EVM.

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

Bitcoins programming language is Script which is limited in its capability. This was/is a conscious decision by the Bitcoin community, which believes BTC should remain simply a digital asset like gold.

  1. What is a Turing Complete programming language?

A language that can - in theory - solve / execute anything that you can imagine to program.

1 Like
  1. Ethereum Virtual Machine (EVM) reads and executes smart contracts

  2. bytecode

  3. solidity is a human-readable programming language. once finished our code in solidity, it has to be compiled into bytecode.

  4. because Bitcoin is based on a simpler type of programming language called “script” that is not turing complete. This characteristic (turing completeness) is needed for smart contracts.

  5. a turing complete language can execute loops. this way you can have kind of functions that run and run again until something defined happens (i guess you can program a loop that says “check every day if my son has passed his exam. if true, then send him the money in the smart contract”)

1 Like