Homework on EVM

  1. What does the EVM do?
    EVM runs on the Ethereum blockchain and reads the instructions of a smart contract before the CPU executes the instructions (if consensus).

  2. What is the format of the instructions that the EVM can read?
    The program language is solidity that compiles the instructions into byte code

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is the language that is used to write the instructions, Bytecode is the ‘translation’ of solidity that the EVM can read.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin has a very limited programming language called Script. It’s like web 1.0. Developers wanted Bitcoin just to be digital gold, not spam it with other programs and increasing the blocksize.

  5. What is a Turing Complete programming language?
    It means that you can theoretically program anything you want. It can read any instruction by using loops or conditions for example.

1. What does the EVM do?
Is a peace of code that runs all the computers cpu,s.Is Ethereum Virtual Machine , that executes the smart contract.
2. What is the format of the instructions that the EVM can read?
Solidity programming lenguage.
3. What is the relationship between the programming language Solidity and Bytecode?
the used together to create the smart contract.
4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Because the programers whats Bitcoin to be store value money.
5. What is a Turing Complete programming language?
Means that can you have more instruction for creating instructions on the contract.

  • What does the EVM do?

EVM is executing smart contracts and give it to CPU.

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

EVM can read instructions compiled to Byte code.

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

Solidity is a programming language used on ethereum blockchain with is compiled to Bytecode for EVM to read.

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

Because programming language of Bitcoin is Non Turing Complete.

  • What is a Turing Complete programming language?

In theory Turing Complete language have loops, allow you to program and deploy what ever you want.

Ethereum Virtual Machine that runs the smart contracts.

Because EVM runs smart contracts in an isolated program rather than directly on the CPU.

  1. EVM will execute smart contracts

  2. EVM will read Ethereum programming language, at this point it is Solidity

  3. Solidity is the language that is eventually compiled into bytecode

  4. Because bitcoin’s programming language (Script) is very primitive. It’s not Turing complete and not designed for complex programming

  5. Turing complete language is a language that let’s a programmer program anything that he/she wants

The EVM (Ethereum Virtual Machine) executes smart contract code in a separate program the runs on all node computers in the network. Once consensus in achieved among the node’s EVMs the EVMs translate the smart contract code into byte code which is then executed by the CPUs of the computers running nodes.

The format is solidity

The smart contract is coded in the solidity programming language and the EVM translated this into byte code to be executed by the CPUs in the network.

Bitcoin is not touring complete, so the program-ability of the code is extremely limited to the rules stipulated in the code base for Bitcoin. So smart contracts are not possible.

Touring complete means it’s fully programmable and has no theoretical restrictions. Bitcoin code base is restricted in that it is NOT touring complete.

1.What does the EVM do?

Executes code on the Etherium network in a way that all nodes are
in agreement of what the result should be.

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

Smart programs are complied in EVM bytecode. The EVM executes the smart
contract and then gives instructions to the cpu

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

EVM executes instructions that are formatted using Bytecode. To get to the Bytecode
programmers use the programming language Solidity. Solidity is similar to Javascript.
A special application, compiler, will take the Solidity instructions and compile it
to Bytecode.

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

It uses the programming language called Script. Script cannot be used to develop smart
contracts because it is a " Primitive" programming language. Script is very limited.

  1. What is a Turing Complete programming language?

Solidity can be used to program anything you want, therefore it is Turing complete.
Solidity has the feature Loops, that allows a programmer to tell software to do one
thing several times.

1 Like

1.It takes over the instruction code in a smart contract and gets the CPU to process them. It protects the contract through consensus as each node contains a EVM and decides to adopt the contract if it meets protocol.
2… Bytecode. Any programming language is useable as long as its compiled into Bytecode.
3. Solidify is an object orientated language on a virtual machine. This needs to be converted to machine language “Bytecode” so that the CPU can follow the instructions.
4.The programming language of Bitcoin “script” is a not Turing complete language.
5. It means that anything can be programmed when it is Turing Complete.

1 Like

1. What does the EVM do?

  • EVM is a piece of code that is embedded within every Ethereum node, responsible to execute the smart contract by taking the upper hand on the hardware (CPU). By doing so consensus can be reached in the Ethereum network.

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

EVM uses the formate EVM Bytecode.

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

  • The instructions or logics written by using Solidity are compiled into Bytecode in order, EVM is able to read and execute the Smart Contract.

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

  • Bitcoin uses “Script” programing Language which can not handle a complex instructions like Smart contract (not Turing Complete). Script can only use “Multi Sig” application.

5. What is a Turing Complete programming language?

  • It is a programming language which enables and gives opportunity, a programer to program any thing they want on the top of the application.
1 Like

1)Virtual processing container that runs on network nodes, separating the bytecode commands from interfering with the host cpu/machine

  1. EVM reads bytecode that has been compiled from Solildity
  2. Solidity is an english like command script that is compiled into EVM executable code call Bytecode
  3. Bitcoin script has limited functionality compared to Solidity and no looping functionality
  4. A Turin complete language has a rich command set and logic that allows you to code any imaginable scenario
1 Like
  1. EVM is etherium virtual machine. It reads all instructions in byte code and gives them to CPU. EVM makes sure, that contract doesn’t brake the rules.

  2. Byte code.

  3. In order to read the code storm EVM, solidity should compile the code in byte code.

  4. Script of BTC is not turning complete = limited. Also BTC community doesn’t want BTC get spammed.

  5. It can perform any task. It has loops and everything is possible in this language. It is only question of afford, that should be spend in order to complete task.

1 Like
  1. EVM stands for Ethereum Virtual Machine, this is an application that runs on the nodes that make up the Ethereum Blockchain Network. The purpose of the EVM is to execute Smart Contracts on the Ethereum Blockchain. The reason for the EVM doing this is so that the CPU of the Nodes isn’t directly executing the instructions of the Smart Contract which would be security risk and a Smart Contract could take over the Nodes in Network.

  2. The EVM reads Byte Code.

  3. Solidity is the programming language that Smart Contracts are written in by the programmer and then a compiler, compiles the instructions of the Smart Contract into Byte Code which the EVM on the Nodes read.

  4. Bitcoin’s programming language which is Script is not a Turing Complete programming language unlike Solidity which Ethereum uses that is Turing Complete.

  5. Turing Complete is a programming language which has no limits in theory as to what you can program including loops which are repeatable instructions.

1 Like
  1. read and execute smart contracts while adding a layer of security.

  2. EVM Byte Code

  3. Solidity (human readable) code becomes Bytecode (machine readable) once compiled

  4. Bitcoin is not complimented with a “Turing Complete” programming language as a result limiting Bitcoin’s contract complexity.

  5. The ability to compute everything that must be computed

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 more questions, please let us know so we can help you! :slight_smile:

Carlos Z.

  1. The EVM is a platform that all nodes are running that reads and executes smart contracts. EVM performs smart contracts, over the CPU, for security reason.

  2. Byte code.

  3. Solidity is “plain English,” that translates into byte code that EVM reads.

  4. Script, Bitcoins programming language, is not Turing complete.

  5. A Turing complete programming language is a language that doesn’t have limitations to what the code can accomplish (theoretically).

1 Like

1. What does the EVM do?
The Ethereum Virtual Machine acts as a container to read a smart contact and then execute it. It also acts as a layer of separation between the code and the CPU to provide security.
2. What is the format of the instructions that the EVM can read?
EVM takes programs that are written in Solidity or other languages and then compiled into Byte code for the EVM to read and execute.
3. What is the relationship between the programming language Solidity and Bytecode?
Solidity is the source of the smart contract, similar to Javascript, easy to write and resembles English, but that Solidity is then compiled into Byte code (similar to machine language) so the EVM can understand it.
4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin doesn’t have the ability to run complex programs because those would cause unnecessary bloat and traffic on the network; it needs to fit transaction data into the blocks to remain scalable for digital currency transactions as its main use case.
5. What is a Turing Complete programming language?
A Turing Complete language has all of the main aspects needed for a programming language to be able to write any type of program, using loops, variables, constants, functions, etc. Solidity is a Turing Complete language; Bitcoin’s Script is not.

2 Likes

1.). EVM is the Etherium Virtual Machine, it is the program that populates to the nodes and executes the Etherium Smart Contract Instructions.

2.) Solidity and Viper

3.) Solidity is the language that a programmer writes his smart contract in and the compiler writes that to Bytecode so the Program can read it.

4.) Bitcoin uses an incomplete Turing language called SCRIPT so it is very basic in it’s uses and everything cannot be written in the language.

5.) A Turing Complete Progammable language is a language that can handle any task, simple or complex, you can ask it to do.

1 Like

Homework on EVM - Questions (Updated on Dec 3 2019)

  1. What does the EVM do?
    The EVM is a bridge between the CPUs of each node, and the smart contracts. The EVM reads the smart contracts and tells the CPU what to execute.
  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 is the language the programmer would write the smart contract in, but bytecode is essentially a translation of the smart contract which EVM reads.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because the block size is too small. Script is not turing complete. Bitcoin was not intended to have a lot of programming because it is suppose to be purely digital money.
  5. What is a Turing Complete programming language?
    A turing complete language is a language that can program anything imaginable, in theory.
2 Likes
  1. EVM runs on top of the CPU of all nodes on etherium and is a way of insulating smart contracts from the main operating system to prevent anything dodgy getting in. ERM can interpret smart contracts and communcate to the CPU of the node.
  2. solidity translated into bytecode
  3. Soldity is a language like java, which is translated into bytecode for the EVM,
  4. Because bitcoins language is script, which is very simple. plus script is not a turing complete language. bitcoin is all about digital gold rather than contracts and being more simple saves blockchain space.
  5. turing completeis a laguage that can do loops
1 Like

Excellent answers sir, well documented! Please keep them like that :muscle:

Carlos Z.