Homework on EVM

1.-
It translate the high level language on which the contract is written (Solidity, Viper) into the low level machine language. Also the EVM is the environment on which contracts will execute.

2.-
EVM runs programs or smart contracts that are already compiled.

3.-
Solidity is high level language that needs to be transformed into byte code by a compiler.

4.-
Bitcoin was not designed to have a complex language on top of it.

5.-
It means that it can be used to program computable functions, which means that if there is an algorithm to resolve a given problem it can be programmed with this language.

1 Like
  1. An Ethereum Virtual Machine is a piece of code installed on nodes of the ETH network which make it possible to read and execute smart contracts while adhering to network consensus. It also provides security to the network.

  2. The EVM utilizes the CPU and GPU of the nodes to read and execute smart contracts. It will look at all the instructions of the smart contract and tell the CPU what processes to execute.

  3. The smart contract will be written in Solidity, but the instructions will be compiled into EVM bytecode which the EVM of a node can send to the CPU of the node to execute those instructions. Thus, it is a readable version of the code that the EVM can read. All the EVMs of all the nodes in the network must achieve consensus.

  4. BTC uses the non-Turing Complete “Script” programming language which only allows for primitive smart contract behaviors like MultiSig.

  5. A Turing Complete Programming Language allows you to program anything you wish. It contains a feature called Loops which allows you to tell software to do an action multiple times. If you didn’t have this feature you would have to handwrite each variable of every condition in a smart contract behavior, which would be very time consuming. The BTC community of developers and miners didn’t want to do this because they felt their network may get spammed by complicated transactions, thus increase the blockchain size, which was already an issue (eventually solved with Segwit).

1 Like

What does the EVM do? EVM stands for Ethereum Virtual Machine and it allows users to execute code on the Ethereum network in such a way that all computers on the network are in consensus of what the result should be.

What is the format of the instructions that the EVM can read? The EVM is able to read Bytecode.

What is the relationship between the programming language Solidity and Bytecode? Solidity is the programming language that is compiled into a base level computer language called Bytecode.

Why can’t Bitcoin run the same type of complex programs like Ethereum can? Because Bitcoin’s programming language (Script) is not turing complete.

What is a Turing Complete programming language? It is a language that has no limitations to the problems it can solve. With a Turing Complete language users can write code to solve any problem.

1 Like
  1. EVM is a program installed on nodes of the ETH network to execute the smart contracts. It also provides security.
  2. EVM can read instructions in the bytecode format.
  3. A program compiled in Solidity is converted into bytecode for the EVM to execute the process.
  4. Bitcoin is a non-turing complete programming language that only allows simple smart contracts like multi-sig.
  5. A Turing-complete programming language allows you to add any feature to the smart contract. It has a loop function to perform a certain action multiple times.
1 Like
  1. reads the byte code from smart contracts, ensuring security, and enforces the network of computers.

  2. bytecode

  3. Solidity is the format in which humans write the instructions, and then a “translater” will transform it in to bytecode so the EVM can read it.

  4. Because the script language that bitcoin uses is more basic. with the purpose of not having the same scalability issue as ETH can have

5 Turing complete language is flexibility because of things like loops.

1 Like
  1. It runs on top of hardware of all nodes in the network and reads and interprets smart contracts.

  2. Byte code

  3. Solidity is compiled into byte code by a compiler.

  4. Bitcoin language is not Turing complete.

5.It is a language that allows complex programmability.

1 Like
  1. What does the EVM do?
    Etherium Virtual Machine sits on all nodes and reads and does the instructions of the bytecode smart contract then passes into on the the CPU if required.
  2. What is the format of the instructions that the EVM can read?
    byte code by Both Solidity and Viper
  3. What is the relationship between the programming language Solidity and Bytecode?
    Bytecode can be writtern in Solidity which is similar to .js
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    It would fill up all the resources / size of the blocks. It’s language Script is not Turing Complete like Solidity.
  5. What is a Turing Complete programming language?
    One that can continue to rerun the same instructions over and over and store the results.
1 Like

1.EVM will run the byte code and send to CPU
2.Byte Code
3.Solidity programing language will compile it into byte code
4. Bitcoin runs on Script and its not turing complete. Cannot loop code.
5.Turing complete means you can tell it to do anything that you can write code to do.

1 Like
  1. The EVM is executing the smart contract and communicating commands to the CPU. It‘s acting as a security layer, which helps to prevent spam and malicious code.

  2. Bytecode

  3. Solidity is the current programming language of Ethereum. It needs to be compiled into Bytecode in order for EVM to be able to read it.

  4. Bitcoins programming language (script) is not Turing Complete.

  5. Such a langue allows to write code, which is able to solve complex problems.

1 Like

2. What is a Turing Complete programming language?

Indeed sir, Solidity is capable for Turing Complete programming, could you please describe What Turing Complete programming language means?

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

Carlos Z

No problem at all sir, any doubt you have dont be shy to ask for help, we are here to help you understand any confusion you may have. You are not alone in this journey! Keep learning sir! :muscle:

Carlos Z.

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

Quite close sir, but the EVM does not use the GPU, miners use the GPU to encrypt a transaction to produce a valid secured hash to be appended in a block to the network. EVM just use the CPU of a node to read and execute the Bytecode of an smart contract. So the format of the instructions that EVM can read is Bytecode.

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

Carlos Z.

1- The EVM is the Ethereum Virtual Machine. It is present on the all the nodes of the Ethereum blockchain and it basically reads the instructions from the smart contracts in ByteCode and tell the CPU what to do

2- ByteCode

3- The programs for ethereum smart contracts can be written in solidity and then compiled into bytecode in order for the EVM to be able to read them

4- Because BTC’s programming language is Script and it is not Turing Complete. Meaning you can only do simple programming (Web 1.0 - Blockchain 1.0)

5- It is a programming language that allows you to do many complex programming functions, procedures, etc

1 Like
  1. What does the EVM do?

Makes it possible to execute code on the network, with consensus on what the code reads.

  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 compiled into Bytecode.

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

The Bitcoin blockchain is not Turing complete.

  1. What is a Turing Complete programming language?

A Turing complete programming language can (ostensibly) solve any computational problem, eventually.

“A Turing complete programming language has loops”.
In my notes.

1 Like

A turing complete programming language can used to do more than just simple commands such as complex equations and loops.

1 Like
  1. EVMs read and execute the code on smart contracts while also making sure there is nothing malicious in the code to affect you.

  2. The format that EVM can read is EVM Byte code.

  3. Solidity is the human readable and writable code. It i will then be converted into a machine code using a compiler which is byte code.

  4. Bitcoin cannot run complex programs like ethereum because it is not a turing complete language. This mean it can only run basic code as it is not a fully compete programming language.

  5. A Turing complete programming language is a language that is fully functional. It can essentially do anything that you ask of it.

1 Like
  1. It reads the contract and translates instructions to the CPU
  2. Solidity
  3. Solidity gets translated into bytecode by the EVM which is then sent to the CPU
  4. Because Script is a programming language that is not Turing-complete
  5. A language that can be used to do run a variety of tasks such as loops without having to write each repeated instruction as many times as it needs to be performed.
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 instrcuctions that EVM read is Bytecode.

Hope you find this useful! :slight_smile:

Carlos Z.

  1. The EVM reads smart contracts.
  2. The format that the EVM reads is byte code.
  3. The relationship between solidity and byte code is that solidity has a special application called a compiler that reads the "logic’ or instructions of solidity and translates it to byte code format. Solidity uses a programming language similar to java script.
  4. BTC cannot run the same complex programs like ETH because it isn’t “turing complete.”

5.Turing complete is a programming language term for a machine that can solve any computational problem given enough time, memory along with the right instructions. No matter how complex. BTC is primitive.

1 Like

1 - What does the EVM do?

The EVM is the environment that the smart contract runs on. The smart contract’s byte code execute on the EVM, which runs on the blockchain network.

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

The EVM reads byte code.

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

Solidity gets compiled into byte code, which can then execute on the EVM.

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

Bicoin’s programming language, Script, is a non-turing complete language, thus complex operations cannot be performed.

5 - What is a Turing Complete programming language?

A Turing Complete programming language is a language that cane perform loops and mathematical operations.

1 Like