Homework on EVM

Homework on EVM - Questions

  • What does the EVM do?
    The EVM read the smart contract in byte code then tell the cpu of each nodes what to do.
    EVM is also a security that prevent malicious code to harm the ethereum network.

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

  • What is the relationship between the programming language Solidity and Bytecode?
    EVM will read the Smart Contract written in Solidity, compiled into byte code. Will read all the intruccions, and tell to the CPU to execute them. And then will reach the final result of the Smart Contract. After that all the EVM´s on the network need to do it, and is when we finally reach Consensus in all the network.

  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin does not use a Turing complete programming language like Ethereum.

  • What is a Turing Complete programming language?
    Meaning in theory you can program anything you want.

1 Like
  1. The EVM is code (virtual machine) that is run on all nodes of the Ethereum network which read all the instructions of a smart contract.
  2. The format of instructions is bytecode.
  3. Solidity is the programming language that smart contracts are written in. The code is then compiled into a Bytecode so that the EVM can read it.
  4. Bitcoin uses a language called Script, which is not turning complete. Solidity on the other hand is turing complete.
  5. A turing complete programming language is a language with the full capability to be able to build any software (theoretically). It possesses important functionalities such as loops.
1 Like

1 What does the EVM do?

The Ethereum Virtual Machine (EVM) is an application that runs on existing hardware of each node across the Ethereum blockchain. It reads the smart contract and then instructs the CPU to execute this information. It allows consensus to be reached on the Ethereum network regarding what happens to a smart contract. The EVM encapsulates smart contracts to protect them from any malicious events that may occur on the CPU.

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?

A special application called Compiler will take the coding created in Solidity (or potentially some other programming language) and will compile it down to Bytecode for the EVM to receive and be able to read and execute all the instructions.

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

BTC can’t run the same type of complex programs like Ethereum can because it is not running a Turing Complete programming language. It has a programming language called script that cannot run a true smart contract as it is limited. You can do a multisig wallet but several parties are required to sign a contract before it can go through. BTC developers want BTC to remain solely as digital money or digital gold.

5 What is a Turing Complete programming language?

A Turing Complete programming language is a language where you can program anything you want or can think of. This is possible as in the case with solidity through the ETH blockchain. There are no limits. Such a program will also have loops which is a feature that allows you to program software to do one thing several times.

1 Like
  1. What does the EVM do?
    The EVM ensures that nothing bad/negative would be happened to the CPU of users computer during the crypto sending/receiving process and it runs smart contracts at Ethereum.

  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?
    By using a coding program called Solidity, we can program a smart contract and deployed it at the Ethereum network.
    Solidity compiles our instructions into byte code, than EVM reads all of these instructions.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin is Script programing language and does not use a turing complete coding language, while in Ethereum solidity is truly complete, in solidity everything that you think could be applied.

  5. What is a Turing Complete programming language?
    Turing Complete programming language is a programming language which have a future called looping, looping is a functions which repeats a specific order for many many times, as an example: (Do this for 1000 times).
    If you can not use loops, than you got to write all the instructions many many times, sometimes it becomes very difficult because variables are changeable.

1 Like
  1. EVM is Ethereum Virtual Machine that runs smart contracts on the nodes in the network, online. The EVM makes sure that no wrong activity is occurring in a smart contract, this operates as a security layer for the network.

  2. The EVM reads byte code, a binary type of code on the virtual machine, not machine code.

  3. Solidity is compiled into byte code using a compiler, and the byte code runs (through the EVM) on the CPU of a node, like most other programming languages.

  4. Because Bitcoin’s programming language is not turing complete.

  5. A turing complete programming language is so flexible that you can write whatever program you want on it. A non-turing complete programming language would be a programming language where you could program only applications that generated a website with a variable set colours, while a turing complete programming language makes it able to create new websites from practically nothing, blanco.

1 Like

Great answers :slight_smile: please keep them like that.

Carlos Z.

  • What does the EVM do?
    I is a set of rules the governs smart contracts throughout all Etherum nodes.

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

  • What is the relationship between the programming language Solidity and Bytecode?
    Solidity is the programming language which is then compiled into bytecode.

  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    BTC was not written to run smart contracts. Script language is limited to what it can do.

  • What is a Turing Complete programming language?
    A language that can calculate about almost anything considering it has the resources to run and complete it. In theory.

1 Like

1.ethererum virtual machine where the smart contract code runs .

2.EVM is isolated from local computer.running in a virtual or sandbox environment to protect network operators from malicious code.

  1. What does the EVM do?
    The Ethereum Virtual Machine (EVM) reads, interprets and executes smart contracts before they are released into the CPU. This procedure protects the CPU from malicious applications and spamming.

  2. What is the format of the instructions that the EVM can read?
    Instructions are written in bytecode.

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is a programming language for small contracts. It has a compiler which interacts with the bytecode.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because Bitcoin runs on a different language called Script which is not Turing Complete.

  5. What is a Turing Complete programming language?
    A TC language makes coding possible for a limitless number of applications. It also has the looping feature which allows repeat functions.

1 Like

Thanks! This is helpful!

1 Like
  1. What does the EVM do?
    A. EVM Is an application running on a node or computer on the network. Ethereum Virtual Machines execute Smart Contracts.

  2. What is the format of the instructions that the EVM can read?
    A. Solidity and compiled to bytecode.

  3. What is the relationship between the programming language Solidity and Bytecode?
    Answer: The EVM reads the instructions in Solidity and compile it into EVM Bytecode.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Answer: Bitcoin programming language is called Script. It is not complete.

  5. What is a Truly Complete programming language?
    Answer: It has loops. It’s programmable. Scripting and ability to program applications onto of the Ethereum Blockchain.

1 Like
  1. The EVM reads and executes “Smart Contracts.” It’s a piece of code written in Solidity that runs on all nodes. All EVM must agree on the Smart Contract.

  2. The instructions are compiled into “Byte Code” so that the EMV can read.

  3. The code is written in Solidity which is similar to english and then it is "compiled into “Byte Code” so that the EVM can read the coding.

  4. Bitcoin is written in “Script”, which is not “Turning Complete.” Therefore it cannot solve programming problems. Ethereum uses “Solidity” which is “Turing Complete.”

  5. Solidity is a Turing Complete programming language.

1 Like
  1. EVM is an application in Ethereum network that runs on all nodes and ensures the smart contract does not break the rule.
  2. Bytecode
  3. Solidity language is a programming language uses in Ethereum network. The solidity’s compiler compiled into Byte code that EVM can read and allow CPU executing the instruction for example in smart contract.
  4. Bitcoin uses script as programming language which is not a turing complete coding language, Ethereum uses solidity and there is less limit than script.
  5. Turing complete programming is a language with full capability and there is no limit to build any software, in this case solidity through Ethereum.
1 Like
  1. The EVM reads the Byte Code instructions of the Smart Contract and then makes sure there is nothing malicious inside and then tells the CPU what to do.

  2. Byte Code.

  3. Once you write the smart contract in Solidity it is run through a compiler that complied it into Byte Code.

  4. Because its code (Script) is not Turing Complete.

  5. It means the possibilities are endless. Theoretically you could program anything you can think of.

1 Like
  1. The EVM runs the smart contracts and acts as a security layer that protects the CPU from possible malicious content.
  2. ByteCode.
  3. The programs made in Solidity are compiled into ByteCode so the EVM can execute them.
  4. Because Script isn’t a Turing complete programming language but Solidity it is.
  5. It’s a language capable of create programs that can solve any computational problem.
1 Like

1.EVM stands for ethereum virtual machine and makes sure the piece of code runs on ethereum.
2. The format goes as such, The CPU works together with the EVM to change the contract written in code to transform into EVM byte code.
3. The relationship between the programming language solidity and byte code is the fact that solidity is the programming language that is transformed from its written language into an encrypted language for the EVM, also creating a node for the programmed task. Which means they work together to encrypt programmed commands and create a node in ethereum.
4. Bitcoin can not run the same type of complex program like ethereum because bitcoin-only contains javascript development while ethereum has its own unique programming language it utilizes.
5. A turning complete programming language consists of a system means a system in which a program can be written that will find an answer always, in other words, anything can be programmed inside the programming language.

1 Like
  1. What does the EVM do? - It executes code on the network for consensus. It reads Byte code of smart contracts,

  2. What is the format of the instructions that the EVM can read? - EVM reads Byte code that is created using Solidity language.

  3. What is the relationship between the programming language Solidity and Bytecode? - Solidity is the script and it creates instructions that are Bytecode that run the program/smart contract.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? - It is not turing complete meaning that it is limited language/capabilities.

  5. What is a Turing Complete programming language? - Solidity and soon Viper will be released. The language allows programability, scripting and it allows the developers to create any type of application.

1 Like

1.The EVM allows anyone to execute smart contracts on the Ethereum network in a consensus resulting manner.

2.The format of the instructions that the EVM can read is called byte-code.

3.The EVM reads the solidity compiled byte-code then gives the CPU instructions.

4.Bitcoin can’t run the same type of complex programs like Ethereum because the Bitcoin script code is Turing incomplete it’s very limited.

5.Turing complete programs can take a program, run that program, and show some result. It can run any program that a Turing machine can run given enough time and memory.

1 Like

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

Quite close sir, but is not transformed into a encrypted language, Solidity code is compiled to Bytecode, is just a binary code that can be executed at a lowest level for any cpu, is not exactly encrypted.

The EVM is instantiated in each Ethereum node, when a Node get the Bytecode of a smart contract, it will send it to the EVM to verify the Bytecode in a isolated environment. All nodes do the same process, is not the EVM the one that create a Node, is a Node the one that contain a EVM to work code with.

Hope you find this useful.
If you have any more questions, please let us know so we can help you! :slight_smile:

Carlos Z.

thanks very much @abuga

1 Like