Homework on EVM

Q.1. What does the EVM do?
A.1. Ethereum Virtual Machine compiles soldity syntax(smart contract code) into solidity code to instruct the CPU

Q.2. What is the format of the instructions that the EVM can read?
A.2.Compiled solidity byte code

Q.3. What is the relationship between the programming language Solidity and Bytecode?
A.3.The set of Solidity code(Smart Contract) is compiled into Solidity Bytecode
gives instructions the CPU is then directed to follow

Q.4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
A.4. Bitcoin is based on simple non turing complete coding language called Script, which
does not solve complex problems.

Q.5. What is a Turing Complete programming language?
A.5. A coding language that has the capability to perform instructions in a loop

1 Like
  1. EVM is an ethereum virtual machine and it executes code on the ethereum blockchain.
  2. EVM can only read bytecode.
  3. Solidity is a high-level programming language like JavaScript. Computers are not able to read high-level languages therefore solidity code needs to be compiled into bytecode that computers can understand.
  4. Bitcoin cant run smart contracts because its scripting language is limited by design. The bitcoin script is not Turing complete. For example, it does not have loops.
  5. Turing complete programming language is a language that can in theory solve any programmable problem.
1 Like
  1. EVM reads the smart contract that is written in solidity and a compiler transforms the code into byte code in order to be read and confirmed with a final result by EVM
  2. EVM can read byte code
  3. Solidity is the programming language of the initial code that a compiler transforms into Bytecode
  4. Bitcoin has a programming language called Script that is not Turing complete so it cannot execute smart contracts.
  5. Turing Complete programming language allows developers to execute any smart contract to program money
1 Like
  1. The EVM is what reads and executes smart contracts.
  2. The format the EVM can read is executional byte code compiled in solidity code.
  3. Solidity compiles human readable code into byte code for execution.
  4. Bitcoin is written in Script language which is not Turing complete.
  5. A Turing complete language is a language that can solve any computational problem.
1 Like

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

  1. What does the EVM do?
  • Its an Ethereum Virtual Machine that runs on all nodes and execute smartcontracts
  1. What is the format of the instructions that the EVM can read?
  • It is called bytecode
  1. What is the relationship between the programming language Solidity and Bytecode?
  • Solidity converts/Compiles HRC(human readable code) and outputs Bytecode wich is readable by th EVMs
  1. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
  • Bitcoin only runs code from the Script Language. And it isnt Turing complete. Able to run complex code.
  1. What is a Turing Complete programming language?
  • When a language is turing complete, it is limitless. if you can think it and code it, it can be solved.
1 Like
  1. What does the EVM do?
    The EVM reads byte code (compiled from Solidity or Viper) and instructs the CPU to take actions according to the code.
  2. What is the format of the instructions that the EVM can read? Cyte code, but EVM can compile Solidity and Viper into byte code.
  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is the programming language used by developers, but byte code is what is actually read and understood by EVM.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin was supposed to be just digital gold and internet currency. Having smart contracts run on the blockchain may congest it, slow transactions and increase block size too much. Bitcoin devs were afraid the blockchain may be “spammed” by too many trasactions created.
  5. What is a Turing Complete programming language? Turing complete means the programming language can create anything you can think of and includes loops as functions that non turing complete programming languages do not have.
2 Likes

1.The EVM reads and executes smart contracts and gives instructions to a node’s CPU to execute those instructions.

2.EVM Bytecode

3.Solidity uses a compiler that translates the programming language code into bytecode.

4.Cause Bitcoin is limited and isn’t a Turing complete language, meaning that it can’t solve all computational problems in terms of programming APPs.

5.a language that solves any computational problem

1 Like
  1. What does the EVM do?

An EVM allows it to be possible to have a process of having a smart contract running in a decentralized way on the blockchain enabling consensus to be reached.

The EVM is there mainly for security reasons by ensuring nothing malicious happens when executing a smart contract, by being in the middle of the smart contract and the Ethereum nodes CPU.

This is done because anybody can deploy any smart contract on the Ethereum network and it might have some malicious instructions in order to take advantage of the Ethereum computer node by using the CPU directly. If a smart contract could break free from the EVM and start giving commands directly to the CPU it would be very bad resulting in the entire network being vulnerable.

An EVM is also there to execute all instructions within a smart contract and get to a final result at the end of the instructions within the contract which all EVMs on each computer node has to do the same executing each instruction to reach the same result in order to achieve consensus.

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

The Smart contract will be programmed using solidity or viper which will then be compiled into Byte-code which is the format needed by the EVM to be able to read and execute all instructions within the smart contract. The EVM doesn’t care about which programming language was used, its only concerned for the byte-code it receives which allows it to execute the smart contract instruction by instruction.

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

Solidity is a programing language like java script which is used to program smart contracts into byte-code by using a compiler that takes the solidity code that looks like English, compiling all of the logic and instructions into byte-code allowing the EVM working in conjunction with the CPU to be able to execute the smart contracts instructions.

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

Bitcoin is not Turing complete so it cannot solve all of the problems that it might have to solve and if you wanted to program some sort of application it would be very limited due to the programing language bitcoin uses which is called scripts, which is a simple version of smart contracts but not really a smart contract due to being very primitive. You could program a multi sig wallet as an example using bitcoin scripts unlike the complex smart contracts’ solidity can create by being a Turing complete program.

  1. What is a Turing Complete programming language?

Solidity in Ethereum is a Turing complete programing language allowing you to program anything you want or could think of in theory at the same time being a little hindered on practicality though due to Ethereum still having scalability issues. On a technical level a Turing complete language will have something called loops which is a feature of a programming language that allows you to tell software to do one thing several times which is very important in some cases because without loops you would have to physically write all instructions by hand which in some instances cannot be done because a variable might change and you need to be able to adapt the looping to a changed state in your smart contract which means that many features cannot be done without loops which can only be found in a Turing complete language.

2 Likes
  1. What does the EVM do?
    Executes smart contracts on the ethereum blockchain.

  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 compiler translates programes written in Solidity into Bytecode.

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

  5. What is a Turing Complete programming language?
    A language with the ability to run loops.

2 Likes
  1. EVM stands for Ethereum Virtual Machine and executes code that is input via programs, or smart contracts.
  2. EVM reads byte code (i.e., code that has been complied from another language such as Solidity or Vyper).
  3. Solidity is a high-level language that is digestible by programmers. This code is then compiled into bytecode that can be digested by EVM.
  4. Bitcoin can’t run the same types of programs as Ethereum because it is not Turing complete and can’t perform some key operations such as “loops”.
  5. Turing completeness means that a program is able to run all types of computations and instructions (i.e., there are no limits to the types of computations it can execute).
2 Likes
  1. What does the EVM do? It executes code and allows developers/coders to formulate Dapps.

  2. What is the format of the instructions that the EVM can read? Bytecode compiled in the user’s CPU.

  3. What is the relationship between the programming language Solidity and Bytecode? Solidity is a Turing-complete programming language coders/developer use to create smart contracts. A compiler translates Solidity to Bytecode and can be run back/forth by the individual user’s CPU and the EVM.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? Because Bitcoin’s Script programming language is not a Turing-complete language. It simply cannot process/solve at the level of complexity that a Turing-complete language can. In essence, Bitcoin is simply designed to be digital gold without the ability to dynamically scale its function in a complex manner (e.g., set conditions precedent for triggering contract performance).

  5. What is a Turing Complete programming language? A language that can solve complex problems. It allows, at least theoretically, a programmer to program anything the programmer elects to create. As a specific example, a Turing-complete language can perform loops, where as a Turing incomplete language typically cannot.

2 Likes
  1. What does the EVM do?
    The EVM makes it possible to execute code on the blockchain network in such a way that we are all in consensus on what the result should be.
  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 is the programming language used to create the smart contract. A compiler is used to take the Solidity code and compile it down to Bytecode. The EVM will read the instructions in Bytecode.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Very primitive Smart Contracts can be programmed on BTC using Script language. However, the Script Language is not Turing Complete. It does not support complex programs.
  5. What is a Turing Complete programming language?
    A Turing Complete programming language is a language that can perform a wide variety of important instructions, such as loops. A Turing Complete language is capable of solving problems Non-Turing Complete languages cannot solve.
2 Likes
  1. The EVM reads and executes smart contracts and is run on nodes of the network

  2. Byte code

  3. Through the use of a compiler Solidity can be converted into byte code and then the EVM can read it

  4. Bitcoin’s language is not turing complete

  5. A turing complete language can execute any command

2 Likes

An EVM reads the bytecode based on the compiler of Solidity / Viper.

Bytecode

Solidity is one of the programming languages used where logic and instructions are compiled to the Bytecode which the EVM reads.

Bitcoin’s programming language is not Turing Complete while the Ethereum programming langauge is Turing Complete.

A Turing Complete programming language is a programming language where all problems provided to the program are solvable which is essential for Smart Contracts and makes the use-case amazinglzy broad.

2 Likes
  1. An Ethereum virtual machine executes byte code compiled from solidity/viper.
  2. Byte Code
  3. Solidity is used to program the smart contracts (similar to English) which are then compiled into byte code for the EVM to understand.
  4. Bitcoin’s language (script) is not Turing complete, and only has very basic smart contract functionality.
  5. A Turing Complete programming language is one with the ability to program loops, as well as other advanced logic in order for the deployment of complicated systems.
3 Likes

1.- EVM is the etherium virtual machine. It execute the solidity´s or any smart contract lenguange and in the same helps the security of your PC during the transaction.

2.-The format that EVM read is in any lenguage that execute bytecode.

3.-Solidity is a lenguage that is compiled in bytecode.

4.-Bitcoin is not turing complete compatible.

5.-Is a programming lenguage where can run any type of logic in theory

2 Likes
  • What does the EVM do?
    Ethereum Virtual Machine is an application that reads and executes smart contracts on the node CPUs

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

  • What is the relationship between the programming language Solidity and Bytecode?
    Solidity is used to program the smart contracts which is then compiled and turned into Byte code on the contract. EVM can then read the byte code contract

  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin’s programming language is not Turing Complete. It can only run very basic smart contract functionality.

  • What is a Turing Complete programming language?
    It is a language that allows in theory anything to be built on it since it can run program loops and other advanced logic.

2 Likes
  1. it reads and executes the smart contract.

  2. bytecode

  3. solidity is the program to get to those bytecodes

  4. program which will find an answer to any computation problem.

2 Likes
  1. the Ethereum Virtual Machine is an interface between the ethereum programming language (e.g. solidity, viper) and the node’s computing resources on which it runs (so that the node’s resources are isolated to some degree from the blockchain)

  2. the EVM reads bytecode (which i understand to be compiled solidity/viper instructions that are specific to the device being used)

  3. solidity is the programming language, instructions from which get compiled into bytecode for the EVM to run at a machine level

  4. Bitcoin’s programming language, “script”, is not turing complete, e.g. it lacks loops; solidity IS turing complete and thus more powerful.

  5. Turing completeness is the idea that a machine can calculate any algorithm, according to wikipedia… i believe it.

2 Likes
  1. What does the EVM do?
    It reads and executes smart contacts on the nodes allowing smart contracts to run on the Ethereum network.

  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 programming code the smart contract is written in; the program is converted through a compiler into Bytecode to run the smart contact on the network via the EVM.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin programming language Script is not Turing complete and only allows very simple basic smart contacts.

  5. What is a Turing Complete programming language?
    A Turing Complete programming language is capable of Loops. This allows the programmer to instruct the software to do an instruction several times to adapt to a changing variable, without having to write out the whole program by hand.

2 Likes