Homework on EVM

  1. EVM - Ethereum Virtual Machine - is a piece of code running on all nodes that basically tells CPU what to do. Then, it reaches a final result, statement, meaning it reaches the consensus.
  2. Bytecode
  3. Solidity is a programming language (just like Javascript). Bytecode is used for EVM and consists of 0 and 1, therefore an in between step is a compiler. EVM eventually only cares abut the bytecode, not the language it’s written with.
  4. BTC is not Turing complete like ETH. That means it only allows simple txs (potentially with multiple signatures).
  5. Turing complete language allows programmers to create loops, to enable doing the same thing over and over again.
1 Like

Thanks for typing out those rich answers. Helps me understand some vague points a bit more!

1 Like

evm is reading the smartcontract and securing the data before they enter in the cpu.

  1. smartcontract are written in bytecode,and the evm is reading it trough the programs like solidity …using the compiler.

  2. trough compiler,solidity is reading the bytecodes from the block and giving info to the evm.

4 because bitcoin program is not touring coplete,while eht has touring complete program for making apps.

  1. it is the program that theoretically giving you limitless options for making the codes…
1 Like
  1. What does the EVM do?
    it reads the instructions on the smart contracts

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

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is used to create the byte code via the EVM

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

1 Like
  1. An EVM is the Ethereum Virtual Machine which is installed on all nodes of the Ethereum network and runs the smart contracts. If all the conditions of a given smart contract are met, it will translate it into instructions to the CPU.

  2. It can read instructions in Solidity programming language and in Viper.

  3. If all conditions of a smart contract written in Solidity are met, then an EVM will translate instructions into Bytecode for the CPU to execute.

  4. Script, Bitcoin’s programming language, is very limited and could only accommodate some very basic instructions such as double signatures for payments. Script is not Turing Complete. Besides, a smart contract would take too much space on the bitcoin blockchain.

  5. A programming language is said to be Turing Complete when we can use it to build almost any type of application or instructions (including e.g. loops, which Script does not support).

1 Like
  1. It allows developers to create decentralized applications, deploy smart contracts.
  2. Solidity is compiled to byte-code to be executed on evm.
  3. Solidity is a language for implementing smart contracts.
  4. Bitcoin with its Script language is very limited in terms of programming.
  5. Turing complete language is a concept on how powerful a programming language is.
1 Like
  1. The EVM is a virtual macine (VM) that runs on each computer on the Ethereum network, that executes smart contracts
  2. Bytecode
  3. Solidity is the language that the programmer interfaces directly with, while Bytecode is the compiled code that the EVMs read
  4. Bitcoin programming is only enabled with a non-Turing Complete language called Script. The rationale behind this was that people shouldn’t be able to do things like create infinite loops that would jam up the network
  5. A Turning Complete language is a programming language that can create more or less the same set of computational instructions as any other language of its type.
1 Like
  1. What does the EVM do?

EVM acts a body guard to protect the nodes, and ETH network from malicious smart contracts.

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

EVM reads the smart contracts in byte code.

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

Solidity is what programmers use to make the smart contract. After they are done programming, a compiler takes the program and puts it into byte code so that the EVM can communicate it to the CPU to execute.

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

Because Bitcoin creators and developers did not want Bitcoin to be spammed and made more complicated than it had to be. They wanted to act as digital gold.

  1. What is a Turing Complete programming language?

A turing complete program language is a language that is customizable to the point that you can create whatever it is that you desire, in theory.

1 Like
  1. What does the EVM do?
  • It runs on top of the hardware of each node in the Ethereum Network and reads and executes smart contracts to reach consensus
  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 the language that programmers use and bytecode is what the EVM reads
  1. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
  • Bitcoin uses Script language which is primitive and not turing complete and does not have the ability of using loops
  1. What is a Turing Complete programming language?
  • It’s a programming language that can basically execute anything because it has the ability to run loops for adaptablity
1 Like
  1. What does the EVM do? The EVM executes. It will look at the instructions and do all the calculations. It will tell the CPU of the computer (nodes) what to do.
  2. What is the format of the instructions that the EVM can read? EVM Byte code.
  3. What is the relationship between the programming language Solidity and Bytecode? The EVM will read the smart contract. It will probably be written in Solidity but then compiled into EVM Byte code.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? The script language in Bitcoin is not turing complete. It cannot solve all the problems that it might have to solve if you want to program an application.
  5. What is a Turing Complete programming language?
    Solidity. Solidity is a language that can solve all problems. A language that you can program anything you can think of on.
1 Like
  1. EVM defines the rules for computing a new valid state from block to block. The EVM is a virtual stack embedded within each full Ethereum node and it only cares to execute contract byte code.

  2. EVM reads byte code

  3. Solidity is compiled into the byte code which runs through the EVM on the CPU ultimately executing the instructions in the smart contract

  4. Bitcoin is limited as it’s non-turning

  5. A Turing complete language is a language that can do anything and programmers can solve any problem with it

1 Like
  1. What does the EVM do?
    It allows the execution of programs (smart contracts) in a virtual, secure and decentralized context.

  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 high-level language, in which smart contracts are programmed, while byte_codes are the instructions or machine language that the EVM can understand. But Solidity programs are compiled to OP_CODES and then these to BYTE_CODES.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because Bitcoin is designed based on a Non-Complete Turing language.

  5. What is a Turing Complete programming language?
    Language that can be applied to solve any computational problem and implement complex structures such as loops.

1 Like
  1. EVM is a virtual machine that runs smart contracts
  2. EVM operates the smart contract on the software program, not the CPU (for safety reasons)
  3. Solidity is part of EMV Bytecode
    4.BTC isn’t Turing complete
  4. A lot more capabilities are included
1 Like
  1. What does the EVM do?

The Ethereum Virtual Machine is the one that directly executes smart contracts in the Ethereum network, to then pass them to the CPU

  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 is the programming language in which users code smart contracts, while byte code is the format in which the EVM can read that solidity code by using a compiler that compiles a code from solidity to byte code

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

Bitcoin is somewhat programable, but the language used(script) is not touring complete, to avoid spam loops and an increase in blockchain size

  1. What is a Turing Complete programming language?

A language that can solve and build anything using complex algorithms and structures like loops

1 Like
  1. The EVM allows a network of computers read the byte code on a programmable smart contract and reach consensus by transmitting to multiple nodes.
  2. Byte code
  3. Solidity is where you create a program, that program is fed through a compiler, and the compiler translates it into bytecode which is the instructions in a smart contract.
  4. Bitcoin runs on script which is somewhat programmable but it’s not turing complete.
  5. Turing complete is a language that Ethereum uses and it allows for loops in the program and basically lets you program anything you want.
1 Like
  1. The EVM will read all the smart contracts and tell the CPU to execute them.

  2. Byte code.

  3. The most smart contracts are written in Solidity, but the EVM can’t read it. That’s why the Solidity code will be compiled/ translated to Byte code.

  4. Bitcoin make use of the programming language Script and Script is not turing complete what means that it can’t solve all the problems that it might has to solve.

  5. A turing complete program could in theory solve any given computational problem. So with it a programmer can create anything they want.

1 Like
  1. What does the EVM do?
    EVM is a virtual machine that runs on each node in the Ethereum Network. It’s
    purpose is to prevent/minimize any direct access to the hardware for security
    reasons. It acts as an intermediary between the Smart Contract code and the CPU.
  2. What is the format of the instructions that the EVM can read?
    EVM byte code
  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity gets compiled into byte code. Solidity is simple to write and a
    compiler/linker will compile and link together solidity code and libraries into
    a byte code program which can be fed to the EVM for execution.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin Script is not a turing complete language.
  5. What is a Turing Complete programming language?
    A turing complete language allows more complex features such as loops.
1 Like
  1. What does the EVM do?
  • the EVM is the virtual machine, that every node on the Ethereum blockchain has running. It reads the smart contracts in EVM Byte code and executes it accordingly.
  1. What is the format of the instructions that the EVM can read?
  • EVM Byte code
  1. What is the relationship between the programming language Solidity and Bytecode?
  • If you compile Solidity you get Bytecode, which can be read and executed by the EVM
  1. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
  • Script, the programming language for Bitcoin is very simple and especially not Turing complete.
  1. What is a Turing Complete programming language?
  • It can run loops, so basically can perform every action that could be needed.
  1. Even ensures for safety of the cpu, so that a malicious smart contract cannot go and take over the cpu of a node.

  2. The format is know as bytecode.

  3. The contracts is written in solidity which is complied into bytecode that’s readable by the EVM.

  4. It’s because bitcoin cannot handle such complex programming language.

  5. A turing complete programing language is the one that is Cable of doing programming anything.

1 Like
  1. What does the EVM do?

    Ethereum Virtual Machine which reads and runs the byte code which is the output of the Solidity compiler.

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

    Byte code - compiler output of Solidity.

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

    The byte code is the output of the Solidity Compiler.

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

    The “Script” programming language was not designed for complex programming and is not a Turing Complete language.

  5. What is a Turing Complete programming language?

    It is a programming language that in theory could be used to solve any computation/programming problem

1 Like