Homework on EVM

1- The EVM enables the smart contracts to run on the block chain acting as a middle layer between the code and the CPUs in the network
2- byte code
3- Solidity can be compiled into byte code
4- Because their version of smart contracts are not turing complete
5- A turing complete language is one that can run any algorithm

1 Like
  1. The EVM’s purpose is to act as a buffer between the smart contract on the ethereum network and the CPU of the different nodes that run the network.

  2. The EVM uses byte code.

  3. Solidity is compiled into byte code.

  4. Bitcoin is not turing complete like Ethereum is.

  5. A turing complete programming language can be used to make software do whatever the coder wants it to do. They are only limited by imagination.

1 Like
  1. The EVM reads the smart contract and sends instructions to the CPU.

  2. The EVM reads smart contracts in Byte code format

  3. The smart contract is programmed in the programming language Solidity, a compiler is then used to convert the solidity code into Byte code, which can then be read by the EVM

  4. The script language used to programme bitcoin is not Turing complete where the Solidity language used to programme Ethereum is truring complete.

  5. Turing complete programming languages are capable of running loops

1 Like
  1. The EVM is kind of a bridge between the smart contracts and the hardware of the nodes. It separates it because of security reasons.
  2. The EVM can read any instructions in bytecode.
  3. Solidity is one programming language which can be translated into bytecode so that the EVMs can read and execute the contents.
  4. Bitcoin can’t run the same type of programs because the developers didn’t want to get the network spammed; in Solidity you can get loops executed which may cause a lot of traffic. Bitcoin is not turing complete which means the possibilities in the code execution are very limited.
  5. A turing complete programming language describes a programming language in which you can basically program and execute anything you want how often you want and when you want. It has theoretically no limits.
1 Like
  1. EVM is the virtual machine that reads and executes the smart contract and inhibits the smart contract to interact directly with the CPU
  2. byte code
  3. solidity is a programming language through which you can write a smart contract and this one is compiled into byte code
  4. bitcoin is written by a programming language called script which is not turing complete and it cannot solve advanced problems (e.q. no loops)
  5. Turing complete programming language allows more complex interactions
1 Like
  1. The EVM is able to read code and use the cpu of a node to execute this code. It also protects the node by not allowing any malicious code to reach the cpu.
  2. Bytecode.
  3. Solidity uses special applications to compile programming language down to byte code.
  4. The bitcoin blockchain does not have EVM nor can it read complex code any other way. The bitcoin community did not want to implement this because this would take up blockspace, and they were afraid of spamming.
  5. A turing complete language is a language on which you can program anything you want.
1 Like
  1. The EVM (Ethereum virtual machine) runs smart contracts on the network and adds security to it.

  2. The Ethereum bytecode, an assembly language made up of multiple opcodes that each perform a certain action on the Ethereum blockchain.

  3. Solidity is compiled into byte code which runs (through the EVM) on the CPU of a node.

  4. Bitcoin’s programming language - Script - isn’t turing complete.

  5. A turing complete programming language is flexible with vast creative possibilities, as opposed to a non-turing programming language which is limited to what it can accomplish.

1 Like

1- Ethereum Virtual Machine. It is the operating system to run smart contracts.
2- Solidiy language.
3- Solidity programs compiled into bycode to run on EVM.
4- Bitcoin is not turing complete. It can only do simple tasks like multi-sig wallet setup. However, the bitcoin is written using C++ which is a turing complete language. I believe the smart contract feature could be added to Bitcoin but they want to keep Bitcoin as a currency and simple protocol.
5- It is a language that allows to call other programs and manipulate them.

1 Like
  1. EVM (Ethereum Virtual Machine) executes codes, secures the smart contract and can do calculations for example for the CPU.
  2. Byte code
  3. The compiler takes the Solidity code and compiles it to byte code so the EVM can read it.
  4. It’s not turing complete.
  5. Solidity, can programming whatever, all possible.
1 Like

1. What does the EVM do?

Not anyone, only used by the node, maybe you want to redesign your answer.

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

I guess you forgot to complete those answers, (2 and 3), also, your answer about the EVM format is not correct.

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

Carlos Z.

1 Like

1. What does the EVM do?

It’s an application that runs on top of an ethereum node that executes the bytecode of a smart contract within a safe environment (smart contracts cannot harm nodes since they run in a virtual machine). Think of an EVM like a safe virtual sandbox that handles the instructions of a smart contract in order to verify if all the instructions are valid and will not harm either the node or the network before those instructions pass through the node and then the network itself.

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.

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

Carlos Z.

  • What does the EVM do? EVM is a program residing on each node and executes the smart contract instructions
  • What is the format of the instructions that the EVM can read? Very similar to Javascript.
  • What is the relationship between the programming language Solidity and Bytecode? In Solidity we create the instruction and EVM compiles to bytecode
  • Why can’t Bitcoin run the same type of complex programs like Ethereum can? Bitcoin nodes don’t have EVM and Bitcoin has a different language from Ethereum. Also Bitcoin language for programming is not expansive enough.
  • What is a Turing Complete programming language? Language that allows programming for any capability, for example if it allows loops.

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

In which sense they are similar?

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

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.

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

Carlos Z.

1 Like
  1. EVM or ethereum virtual machine executes the bytecodes from the smart contracts. It also enables security feature to contain any malicious codes from the smart contracts into the ethereum blockchain.
  2. The EVM only reads in bytecodes after the solidity or viper compilers have already compile these languages to machine language or bytecodes.
  3. Programming language like Solidity is human readable computer language but bytecodes are machine readable computer language.
  4. Bitcoin cant run similar complex programs like ethereum because Bitcoin uses a non-turing complete SCRIPT language. Furthermore, the bitcoin community didnt want their network to be spammed by the looping feature of a complete language causing huge network congestion.
  5. Turing complete programming language is a language that is a complex language where it allows any further programming to be done if required further down the road. It also has loop features where it can do looping hundreds of time and do any type of iterations depending on the outcomes.
1 Like
  1. All kinds of computer programs are built on the EVM in the Solidity and Vyper languages. These programs are what we know as “smart contracts”, so, as you can already imagine, the EVM is the heart of Ethereum, where magic is born. Of course, in order to activate it, as we already mentioned, it is necessary to feed it with gas.
    2.The EVM has its own language: the ‘EVM bytecode’.
    3.Once contracts are written in Solidity, Vyper or other, they are “translated” into Bytecode so that the EVM can read and execute them properly.
  2. Because of the complexity of the programming Bitcoin uses Script turing incomplete language.
  3. A turing complete language like Solidity
1 Like

If I understood correctly from a function declaration when designin/writing smart contracts, but after reading your reply now it all ties in. Thanks for clarifying. :+1:

1 Like

5.What is a Turing Complete programming language?

Quite right sir, but could you please describe it in general terms?

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

Carlos Z.

1 Like

A turing complete language , refers to the ability of a language with this characteristic to be able to be applied to solve any computational problem and implement complex structures such as loops.

1 Like
  1. It executes the bytecode generated by the smart contract
  2. Bytecode
  3. Solidity is the high-level language that the developer interacts with, and the bytecode is the compiled code
  4. Because its programming language Script is not touring complete, therefore It’s not being able to run complex programs
  5. It’s a language that can simulate a Turing machine or in simpler terms is sophisticated enough to manipulate data under a set of rules
1 Like

1.- EVM encapsules the Smart Contract to protect the commands in it against manipulation. It reads the Smart Contract and tells the CPU to execute it. EVM runs in every node of the ETH network.

2.- EVM reads in bite code which is the result of compiled Viper or Solidity, giving this commands to the CPU.

3.- Solidity or Viper translate from our language to the computer language, bitecode which is the EVM language.

4.- BTC was design as a value transfer system as money is, and ETH was design to support Dapps.

5.- Turing complete it means than it can program anything.

1 Like