Homework on EVM

  1. EVM reads and executes smart contracts by giving instructions to the CPU. It runs on top of each node.

  2. The format of the instructions that the EVM can read is byte code written by Solidity and Vyper.

  3. The relationship between Solidity and bytecode is that Solidity is the language of the byte code. This code is then interpreted by the EVM.

  4. Bitcoin can’t run the same type of programs as Ethereum because the programming language of Bitcoin (Script) is very primitive and not capable of running complex instructions.

  5. The Turing Complete programming language is a programming language with the ability to perform complex instructions for example loops.

1 Like
  1. The EVM creates a level of abstraction between the code and the executing device. This enables smart contracts functionality.

  2. The format of the instructions that the EVM can read are bytecode, compiled by the solidity programming language.

  3. Solidity is what is used to write the bytecode.

  4. The script used to write bitcoin can only handle simple programs and it is not turing complete.

  5. A Turing Complete programming language is a language in which software can be coded to include loops and recursions.

2 Likes
  1. decides how CPU will execute byte code of a smart contract in a safe way.
  2. Byte code
  3. Solidity is a high level language that humans can write and understand, looking somewhat like English. This is then compiled into bytecode using a compiler which a computer can run.
  4. Bitcoins scripting language is not turing complete so is more limited in the kind of programs that can be run on it.
  5. A language in which code can be written to do ‘anything’.
1 Like
  1. EVM turns the code into Bytecode and runs on the Etherium network as a virtual machine

  2. The EVM can read Solidity

  3. Solidity is an end-user friendly code that uses plain English. Bytecode is 1 and 0 for the computer to understand

  4. Bitcoin is not a turing software

  5. Turing Complete software allows you to program anything that is logical even with loops

1 Like
  1. The EVM acts as a buffer between the code of the smart contract and all the individual CPU nodes in the ethereum network. This buffer prevents potentially malicious smart contracts from infecting and disrupting the entire ethereum network.
  2. bytecode
  3. Solidity gets compiled into bytecode for the EVM to interpret.
  4. Bitcoin uses a language called script, which is not turing complete.
  5. Turing complete languages allow much more robust and varied programming, such as the ability to do loops.
2 Likes
  1. What does the EVM do?

    The Ethereum virtual machine (EVM) allows for code to be ran on the network when consensus for what is to be writen to the block chain has been reached, if there is consensus the smart contract is executed.

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

    Bytecode or machine code is how EVM can be read and is written using a software package such as Solidity.

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity creates the code that is output as bytecode.

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

    The programming used for Bitcoin is very basic compared to Ethereum and not capable of executing complex code instructions.

  5. What is a Turing Complete programming language?

    This type of programming language allows for complex instructions to be written to perform functions such as loops.

1 Like

1 It executes smart contracts for the ethereum network.
2 EVM uses bytecode
3 Solidity is a higher level language (closer to human language), it compiles in bytecode which the EVM understands.
4 Bitcoin script is not Turing complete, so it can execute complex task, like ethereum can.
5 Any language which in theory can calculate everything assuming enough memory is available.

1 Like

EVM, or Ethereum Virtual Machine, is run by the nodes for Ethereum. The EVM executes the smart contracts.

EVMs read bytecode which is a low level computer language

Solidity is a compiler that takes high level, easy to read code and translates it into bytecode, which is a low level machine language.

Bitcoin did not include smart contracts and only offers Script to do some programming. Script is limited and not a Turing Complete language.

A TC programming language means it can do anything that coding can do.

1 Like
  1. What does the EVM do?

The Ethereum Virtual Machine ensures that nothing malicious happens by giving instructions to CPU’s on what to execute

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

Byte code

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

Solidity compiles the language into bytecode for the EVM to understand

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

It is not a Turing Complete language which limits its ability to run complex programs

  1. What is a Turing Complete programming language?

A language that can run complex code as opposed to Bitcoin (Script)

2 Likes
  1. EVM is like a compiler to tell the CPU what to do and how to process the ethereum contracts
  2. byte code, which is translated by the programing language used, so it doesnt matter what programming language you use
  3. Solidity has a compiler that translates the solidity language to byte code which the EVM can then read
  4. It is not Turing complete
  5. Turing complete is where you can program anything with theoretically infinite combinations if you had infinite memory
1 Like
  1. EVM reads and executes the smart contracts.
  2. The format is byte code.
  3. Solidity is the language that allows for writing code that is also turing complete.
  4. Becasue it is not turing complete.
  5. Turing complete language is language that you can write anything you want on it (in theory at least). It means you can perform any task by creating recursive “loops” that the BTC blockchain network cannot deploy.
2 Likes
  1. What does the EVM do?

EVM is a system that is running on top of a hardware of each node in ETH network. It can read, calculate and give ‘‘signals’’ to computers based on the programme that is given. It’s main purpose is to provide a security.

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

It reads it in a format of the Byte code (’‘instructions’’ in a case of a smart contract) that is then compiled through Viper programme. It can also work through the Solidity programme, EVM ‘‘doesn’t care’’.

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

Solidity is compiled to Bytecode that is executable on the EVM.

  1. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    BTC has a prog called a Script running on top of it, but it is not too strong. Also, the aim of the BTC was to keep it as a sort of unit of storage, pretty much as a gold.

  2. What is a Turing Complete programming language?
    It is a concept of theoretical computer science that defines the strength of the programme from the aspect of the ability to set any possibly algorithm, like any possible ‘‘command’’.

2 Likes

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 instructions that EVM reads is Bytecode.

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

Carlos Z.

1 Like
  • What does the EVM do?
    The Ethereum Virtual machine executes contracts by reads solidity. EVM acts as an interface between the CPU and the solidity contract to govern and protect the CPU owner from malicious software and hardware abuse and visa versa to protect the Ethereum network from corruption or take over.

  • What is the format of the instructions that the EVM can read?
    EVM only reads byte code-using program compiling language -Solidity and Viper.

  • What is the relationship between the programming language Solidity and Bytecode?
    Solidity is an english based computer language that compiles and reads Bytecode.
    EMV is Programming language that allows programers to tell software what to do

  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    It only has basic script language and does not have the ability to loop.

  • What is a Turing Complete programming language?
    Solidity and viper- these languages allows programmers to virtually program anything they want the only two limitations are their minds and scaling at this point of time. Turing complete uses complex algorithms allowing tremendous scaling power in theory allowing you to solve all mathematical problems.

Don’t trust… Verify :stuck_out_tongue_winking_eye:

Ivan on tech 3

1 Like
  1. An application on the nodes which reads the smart contract and then executes the contract requirements.
    2)The format is Byte Code.
  2. The smart contract is written with the solidity language and there is a compiler which converts this language into Byte Code so the EVM can read the contract.
    4)The Bitcoin language is script which is a non turing complete language which does not support more complex programs.
  3. Turing complete language can solve any mathematical problem thus allowing it to program anything that can be imagined.
2 Likes

It gives the ability to run a language (code) on an Ethereum node. A somewhat isolated environment on top of the actual machine.

After writing in either Solidity or Vyper that will be compiled into bytecode (or opcode) which is executed in the VM.

Bytecode is the output result from compiling Solidity.

Because ‘Script’ is not a Turing Complete language.

It provides the toolset of all operations necessary for all Turing computable functions. In other words, there is a finite set of commands necessary to build a Turing machine, and its only complete, when the language has all of these. Thank you Alan!

1 Like
  1. An EVM creates a virtual environnement on a computer to execute smart contracts. The EVM tells the CPU what to do.
  2. The EVM reads Byte code.
  3. Solidity is compiled into a Byte code.
  4. Script language on bitcoin is not turing complete
  5. With a Turing complete language we can program whatever we want, there is no limitation.
1 Like
  1. What does the EVM do?

The EVM is a protocol that reads low level representations of smart contracts called bytecode. The EVM is imbedded in all full Etherium nodes. As computational inputs are registered through the EVM it can monitor for malicious or incomplete inputs to uphold security. At a high level, the EVM running on the Ethereum blockchain can be thought of as a global decentralized computer containing millions of executable objects, each with its own permanent data store. The instructions the EVM reads is then passed to the CPU to compute.

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

The EVM reads instructions in bytcode. Instructions are translated based on Solidity syntax.

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

Solidity is the pre-language used that once complete will compile the instructions into Bytecode so that the EVM can read it.

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

The smart contracts built into Etherium programming language would congest the network. Limitation of block size restricted smart contract complexities. Also the fact that Bitcoin programming language “Script” is not Turing Complete.

  1. What is a Turing Complete programming language?
    Turing Complete is a computational algorithm that can be programmed to recognize or decide other data-manipulation rule sets based on simple IF THAN ELSE statements in order to complete a problem. Turing complete languages also allow looping capability.
1 Like

. What does the EVM do?
EVM reads the instructions, and then tells the CPU what to do / how to execute

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

  2. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is compiled by a compiler into bytocode that the EVM can read

  3. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin programming language is simple and is not a turing complete language

  4. What is a Turing Complete programming language?
    a language that can solve any math problem you have. with a Turing Complete programming language you can program anything you want, you can create apps on top of the blockchain

1 Like

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

  1. What does the EVM do?
    It is Ethereum Virtual Machine,which runs smart contracts
  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 is a programming language like javascriptthat can be compiled into bytecode
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    It is very limited to make programation or not a turing complete language
  5. What is a Turing Complete programming language?
    That you can be super flexible when programing or solve any complex problem.
1 Like