Homework on EVM

  1. What does the EVM do? The EVM reads the smart contracts after it has been coverted into Bytecode by the compiler to pass off to the CPU to execute

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

  3. What is the relationship between the programming language Solidity and Bytecode? Solidity is the language that the programers write in then the compiler complies the logic and instructions into Bytecode for the EVM to read then the EVM passes the Bytecode off to CPU to read and execute

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? It is a non-turing complete language

  5. What is a Turing Complete programming language? It is a programing language that can do anything, it can do loops which is necessary to have no limits to what it can do.

1 Like

The EVM sits between the cpu and smart contract in node computers to protect the cpu and enables consensus from the nodes, The EVM reads the smart contract and tells the CPU what to do,

The EVM reads Solidity and translates it into bytecode

Bitcoin is limited by its programming language Script which is not Turing complete and therefore cannot perform certain functions. A Turing complete programming language can perform any function imaginable.

1 Like
  1. What does the EVM do?
    Ethereum virtual machine is a platform run on each full node that executes smart contracts written in higher level languages, like Solidity, then compiled to EVM bytecode

  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 a high level language that is used by humans to program each function and after compilation it becomes the bytecode which is understandable by computer machines. so bytecode is a very very low level “language”.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because of its different architecture, bitcoin does not have a turing complete programming language that can be used to program smart contracts. There are some forks that tried to adopt such solutions but Bitcoin is completely different at its foundations and purpose.

  5. What is a Turing Complete programming language?
    The language that it can be used to solve an identical class of computational problems as on a simplified model of a programmable computer called a Turing machine. If a given language can execute or express any algorithm it is called complete.

1 Like
  1. The EVM reads the byte code of smart contracts on gives these instructions to the CPU.
  2. The EVM reads byte code.
  3. A compiler like Solidity translates smart contracts into Bytecode that can be read by the EVM.
  4. Bitcoin is not Turing complete.
  5. A Turing Complete programming language is one that can perform all algorithms.
1 Like
  1. What does the EVM do?
    The EVM is a piece of code that runs on all nodes in the ethereum network and interacts with/uses the hardware and CPUs on those node computers and reads and executes smart contracts, which are typically written in Solidity and compiled by the EVM into byte code.

  2. What is the format of the instructions that the EVM can read?
    The EVM can read instructions written in a smart contract primarily in the Solidity language, which is Turing Complete. It then translates those instructions into byte code.

  3. What is the relationship between the programming language Solidity and byte code?
    Solidity is generally written in standard English language, which is translated into byte code, which is able to communicate in turn with the CPU of the node computers.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin uses a base language called Script that can only write basic contracts… Ethereum uses Solidity and Viper, which are Turing Complete languages.

  5. What is a Turing Complete programming language? A Turing Complete language is a language that theoretically allows you to program anything that you want to program.

1 Like
  1. What does the EVM do?
    It pools the computing power of Ethereum nodes to run smart contracts
  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?
    Soldity is the language the smart contracts are written in, Bytecode is the language that the EVM reads. A compiler is needed to convert Solidity into Bytecode
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    It only has a simplistic coding language (Script)
  5. What is a Turing Complete programming language?
    Turing complete codes allow for the completion of complexed tasks, and include the ability to code looped instructions
1 Like

1.Ethereum Virtual Machine, It commands the CPU to action the smart contracts.

  1. It can only read bytecode

  2. That Solidity code is compiled and turned into bytecode then the EVM is able to read the bytecode.

  3. Scripting language is not turing complete, it cannot solve complex problems. Can increase size of blockchain size for Bitcoin, could not handle loops.

5.It allows you to tell software to do something several times. This feature is called loops. Without loops you would have to manually insert the instructions.

1 Like

1 It translates smart contract language to bytecode, ensure smart contract can’t interact directly with cpu
2 It is a set of instructions in solidity or other language
3 Solidity is translated to Bytecode by the EVM so Bytcode is representant of Solidity written code
4 Bitcoin isn’t Turing Complete compatible and wasn’t meant to be able to execute complicated statements
5 Turing complete language means it can solve any problem and is not limited to a particular solution

1 Like
  1. It commands the CPUs in the network to perform the instructions contained by the smart contracts.
  2. bytecode
  3. Instead of programming with 0s and 1s you program using words. Solidity is the programming language with English words and bytecode is this programming translated into 0s and 1s that the CPU knows how to read and process.
  4. Because its programming language, Script, is not Turing Complete.
  5. A programming language that can program every Turing-computable function.
1 Like

The EVM is the Etheruem Virtual Machine. Acts as an intermediary between the individual node host machines (CPU) and the smart contracts that are deployed on the Ethereum blockchain. It reads the byte code that contains the instructions of the smart contract, and then instructs the CPU of the host node to execute these instructions.

It reads Byte code that is compiled from Solidity. There is a new language being developed called Viper, that will also be able to be compiled to Bytecode.

Solidity instructions/syntax is translated into Bytecode by a compiler. This Bytecode can then be read by the EVM. The EVM cannot read Solidity directly.

Bitcoin uses a language call Script which is not Turing Complete language and cannot run complex computations.

A Turing Complete language can run complex calculations. It has features built into the language such as loops, which allow for operations to be run multiple time without having to issue the instruction multiple individual time. Turing complete languages provide the programmer the possibility of programming any idea.
Turing complete languages are very mathematical at their core, providing the programmer great flexibility in the type of computations they can perform

1 Like
  1. EVM is an application on a node which reads smart contracts and tells a CPU what to do.

  2. EVM Bytecode

  3. A Smart Contract is written in Solidity and translated into Bytecode so that EVM can understand the Smart Contract.

  4. Because Bitcoins programming language Script is very simple and not turing complete.

  5. It is a programming language with, theoretically, infinite programming possibilities.

1 Like
  • What does the EVM do?

EVM reads smart contracts or better… the byt code that makes up the smart contract. The evm works along side the cpu some how(Telling it what to do or visaversa)( correct me if im wrong).

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

It reads byt code.

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

Solidity is the compiler of bytcode.

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

Bitcoin is written on script not solidity. Script is more primitive and not Touring Complete. It was built to be more of a digital gold than to have many other applications using its blockchain.

  • What is a Turing Complete programming language?

TC allows a lot more possibilities than non tc programing languages allowing things like loops to function with more ease because it takes less programming language to be written.

1 Like

What does the EVM do?
EVM (Ethereum Virtual Machine) interprets and executes the smart contract. The EVM is installed on every node of the network and creates an environment on which the Ethereum smart contract runs.

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

What is the relationship between the programming language Solidity and Bytecode?
The Solidity programming language needs to be translated into Bytecode for the EVM to read and interpret the command.

Why can’t Bitcoin run the same type of complex programs like Ethereum can?
The Script language used on the Bitcoin network is not turing complete and is very limited in its functionality. The Solidity programming language on Ethereum is turing complete.

What is a Turing Complete programming language?
A turing complete language can execute any type of action or instruction and solve any problems without limitations. It’s a dynamic programming language used for complex problem solving and looping.

  1. Etherium virtual machine runs the smart contracts in byte code and it tells the cpu what it should do.
  2. byte code
  3. Solidity takes code and compiles it into byte code that the EVM can read.
  4. Bitcoin is older programming and language, and is a store of money like gold and cannot take complex instructions.
    5.In turing complete you can write any code or programs.
  1. EVM(Ethereum Virtual Machine) is an application that runs on all nodes and executing the smart contracts.

  2. Bytecode.

  3. Solidity code is compiled into bytecode so EVM can read it.

  4. Because Bitcoin’s programming language(Script) it is a non Turing Complete language.

  5. Turing Complete is a programming language that gives you the ability to program anything you want.

  1. What does the EVM do?
  2. What is the format of the instructions that the EVM can read?
  3. What is the relationship between the programming language Solidity and Bytecode?
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
  5. What is a Turing Complete programming language?

1.EVM is short for Ethereum Virtual Machine which interprets and executes smart contracts.

2.EVM is an application that runs on all nodes. IT gives instructions to the CPU to execute smart contracts by examining the conditions that have been programmed. The EVM is a protective measure against clandestine practices as it allows anybody to execute code in a trestles ecosystem.

3.Solidity code using the sole compiler is translated to byte code so that the EVM can understand it. These are hexadecimal representations of the final contact which is now as byte code.

4.Bitcoin is not Turing complete so there are limited options for coding unlike Ethereum.

5.A Turing complete programming language is one that can decide other data-manipulation rule sets and perform computations for all logical situations. The test for being Turing complete can be carried out using recipe given for translating any Turing machine program into an equivalent program for the language in question. A translation scheme can be provided from another language that is Turing complete.

  1. What does the EVM do?
    The EVM can read and execute smart contract instructions through byte code so that a given CPU executes the smart contract code indirectly. In other words, the EVM will read the smart contract code, and tell the CPU what to do. The EVM functions as a consensus mechanism that confirms the validity of the contents in a smart contract, by allowing the ethereum nodes to run the smart contract in order to reach the same result–final state of a contract–and it adds a security layer by mediating between a smart contract’s executable code and the CPU. Basically, the EVM protects the ethereum network by making sure that smart contracts do not have malicious content that may negatively impact the CPU.
  2. What is the format of the instructions that the EVM can read?
    It is byte code.
  3. What is the relationship between the programming language Solidity and Bytecode?
    solidity compiles the program instructions into byte code for the EVM to read and execute. The EVM reads Solidity in bytecode.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin is written in script, which is not a Turing Complete programming language. A Turing Complete programming language can execute “loops”–reiteration of instructions–and these loops can spam the bitcoin network. The Bitcoin network/community prefers that Bitcoin continues it’s trajectory as digital gold or internet currency, and not expand to include different programmable features which may weight down scalability.
  5. What is a Turing Complete programming language?
    A Turing Complete programming language can solve any kind of problem–meaning you can program anything you want. it can solve computational problems, whereas a non-turing complete is not capable of solving any kind of problem–they are programming languages that are not designed to solve computational problems.
  1. What does the EVM do?

The Ethereum Virtual Machine is a piece of code or software platform that all computers in the Ethereum network run. It is responsible for allowing developers to create dapps and executing contract bytecode, it basically reads and executes smart contract commands safely. This, in turn, makes the network safe as it is instrumental to the consensus system of the Ethereum network.

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

Bytecode.

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

Solidity is a programming language designed to develop smart contracts and then they are compiled into EVM bytecode.

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

It isn’t Turing complete, meaning it is a very simple and limited programming language that can’t run all computations or calculations on its own. It is able to execute very simple tasks like a multi-sig contract.

  1. What is a Turing Complete programming language?

A 'Turing complete language” is a language that can compute or calculate everything that needs to be computed using it. For example, HTML is not Turing complete, since it can’t actively change the state of the state, it must be combined with a language such as JS, both will be considered Turing complete.

1 Like
  1. What does the EVM do?
  • EVM reads the bytecode list of commands and executes them on the CPU. It acts as an intermediary between the commands and the CPU to screen out malicious code.
  1. What is the format of the instructions that the EVM can read?
  • Bytecode, that is, compiled code from Solidity or Viper programming languages|
  1. What is the relationship between the programming language Solidity and Bytecode?
  • Solidity is the human-readable set of commands, while Bytecode is the machine language version of that list of commands executable by EVM running on a CPU.
  1. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
  • Because its programming language Script is not Turing-Complete, that is cannot run iterations.
  1. What is a Turing Complete programming language?
  • A Turing complete language allows loops (or iterations) for the same command to run over and over again depending on the conditions. A Turing-complete language can also be used to solve any mathematical computation.
1 Like
  1. What does the EVM do?

EVM or Ethereum virtual machine runtime environment that execute smart contracts that generated by solidity in byte code. It creates an isolation layer to execute the transaction as it is intended in a secure manner for security reason as well. Each mode will have EVM to execute the smart contract byte code to get the consensus on the network.

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

Any smart contract that is compiled into Ethereum byte code format instructions can be read and executed by the EVM.

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

Solidity is used to write smart contract code, then compiled it into Ethereum bytecode to be executed by the EVM

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

The Bitcoin uses a simple scripting language with limitations and unable to address complex requirement. It is also Non-Turing Complete and therefore unable to solve complex problems.

  1. What is a Turing Complete programming language?

A Turing Complete programming language is a full-fledged programming language capable of writing any algorithm with it, like loops, state, any computational functions and to solve any possible solutions.

1 Like