Homework on EVM

Homework - EVM

1. What does the EVM do?

Etherum Virtual Machine - EVM reads and executes smart contracts (in 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 compiled into byte code using a compiler, and the byte code then runs (through the EVM) on the CPU of a node, just like every other programming language.

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

BTC’s uses Script as its programming language, which is not turing complete

5. What is a Turing Complete programming language?

Is a particular language code or algorithm that allows smart contracts to be programmed onto the blockchain - its a language so adaptable, any program can be written on it - this is known as turing complete

Cheers :nerd_face:

1 Like

1 the EVM reads the smart contract, interpret, gives CPU instructions
2 Format is (binary) byte code.
3 Solidity is the Ethereum programming language which is compiled in a byte code
4 Bitcoin programming language “script” is not Turing complete.
5 Turing complete means “can solve any problem”

1 Like
  1. The EVM decodes the smart contracts into bytes that can then be read by a CPU.
  2. Solidity and Byte code.
  3. Solidity converts instructions into byte code so the EVM can translate.
  4. A Turing complete language is capable of performing many types of instructions and able to have loops.
1 Like
  1. The Etherium Virtual Machine is software that runs off of Etherium network node CPU in order to execute smart contracts, acting as a security measure by staying separate from computers CPU.

  2. EVM read smart contract instructions in Bytecode format

  3. Solidity is a programming language used to write smart contract, which can be compiled into ByteCode, allowing the instructions to be read by EVM

  4. Bitcoin’s programming language, script, is not “turing complete”, making it too simple to run smart contracts

  5. Turing Complete programming languages, like Solidity, allow loops and other features to be coded, which provides the complex, problem solving capability needed to create smart contracts

1 Like

1. What does the EVM do?

it reads and executes smart contracts in 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?

Smart contracts on Eth are written in Solidity, The codes are then run through a compiler which converts it into Bytecodes which the EVM can read and execute.

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

BTC uses a non turing complete language which can’t solve complex problems

5. What is a Turing Complete programming language?

A language that is capable of solving any complex problems

1 Like
  1. What does the EVM do?

EVM is a program that runs on the nodes of the Ethereum network. It executes the instructions of the smart contracts and abstract it and then pass it to the CPU for executing it using the available hardware resources that Computer/node has.

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

Bytecode is the instructions format that EM can read.

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

EVM doesn’t directly read the smart contracts. Its first compiled the smart contracts to transform into
bytecodes and then the EVM can read the instructions from the bytecodes and executes the instructions using the resources available in the CPU machine.

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

Bitcoin blockchain programming language can do very primitive calculations using Scrypt language. Its not a Turing complete language. So it cant do advanced stuff like running an advanced smart contract.

  1. What is a Turing Complete programming language?

A Turing complete programming language is capable of doing any instructions setup by the programmers. You can develop any type of applications using Turing complete programming language theoretically.

1 Like
  1. EVM is in charge of running smart contracts on Ethereum network as a CPU would do.

  2. Byte Code.

  3. Solidity after being compiled will be translated to Bytecode and run on EVM.

  4. Because it is not Touring Complete and can not execute all kind of operations, for instance, loops.

  5. A programming language that allows execture all kind of operations.

1 Like
  1. EVM can read mart contracts and execute the code. It also adds a layer of security to the etherium network by running in a sandboxed on each node of the network.
  2. The EVM reads bytecode. The code is generated by a compiler.
  3. The compiler turns the program written in solidity into bytecode that the EVM can use.
  4. BTC uses a programming language that is less complex. It is not turing complete so it can’t do loop among other things. This limits the programability of BTC.
  5. Turing complete means that you can program almost everything you want. The language has more capability and possibility than a non turing complete language
1 Like
  1. What does the EVM do?
  • reads (compiles) and executes a Smart Contract resulting to an output
  1. What is the format of the instructions that the EVM can read?
  • EVM bytecode
  1. What is the relationship between the programming language Solidity and Bytecode?
  • Solidity is how one writes a Smart Contract and Bytecode is the translated information based on what was written in Solidity.
  1. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
  • Bitcoin does not have a Turing complete programming language.
  1. What is a Turing Complete programming language?
  • A programming language that can (theoretically) calculate any complex computations.
1 Like
  1. The EVM acts as an intermediary between the CPU and the Ethereum network. A encapsulated environment is used to run transactions and smart contracts submitted to the network.
  2. The EVM reads bytecode.
  3. Solidity is the language for building applications on the Ethereum network. Bytecode is how the virtual machine takes the instructions and assigns duties to the CPUs on the network.
  4. Bitcoin’s programming language is not Turing complete. Not all problems can be solved on the Bitcoin network.
  5. A Turing complete programming language can theoretically solve any computational problem.
1 Like
  1. What does the EVM do? EVM reads the smart contract program and then tells the CPU what to do.
  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? Smart contracts are written in Solidity and then a compiler converts it into byte code
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? Because it is written in script, which is non-turing complete, which can’t solve certain kinds of problems.
  5. What is a Turing Complete programming language? a language that can solve anything and you can theoretically program to do anything you want
1 Like
  1. EVM is a virtual machine is running on the Ethereum network. Talking to all cpu’s to run the code (smart contracts).

  2. EVM Bytecode.

  3. Solidity is the language written for Ethereum which the developer will use for the smart contracts. Bytecode is how the cpu will read the solidity code to execute the program.

  4. Bitcoin uses the script language which does not have the smart contract capability that Solidity has.

  5. Turing complete language has the ability to solve all problems such as an application, programing anything you want. Loops is what can make a language Turing complete. Script is not a Turing as it does not have the capacity to solve all problems thrown at it.

1 Like
  • What does the EVM do?
    EVM will do calculations according to the smart contract and tell the CPU to execute.

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

  • What is the relationship between the programming language Solidity and Bytecode?
    Solidity is the programming language the developers use to set up the Smart contract, which is converted to Byte code through a compiler.

  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bictoin is not Turing complete.

  • What is a Turing Complete programming language?
    A Turing complete program needs to fulfill the following commands:

  1. Right: Move the Machine’s head to the right of the current square
  2. Left: Move the Machine’s head to the left of the current square
  3. Print: Print a symbol on the current square
  4. Scan: Identify any symbols on the current square
  5. Erase: Erase any symbols presented on the current square
  6. Nothing/halt: Do nothing
1 Like

1- EVM stands for Ethereum Virtual Machine it is used for running smart contract on network nodes (eg in different different computers).
2- EVM can read instructions on Byte code.
3- Solidity is a human readable programming language that needs a compiler to transform it ino Bytecode.
4- Because Bitcoin is not Turing complete.
5- A Turing complete programming language can write any type of program their is no limit on it

1 Like
  1. EVM is like an executor, it read the smart contract before deliver it to the CPU to execute the clauses in order to avoid any malicious activity.

  2. EVM Bytecode

  3. Programming language solidity compile data into a Bytecode and put into a smart contract so that EVM can read.

  4. Because Bitcoin has limited blocksize & the turing complete programming language

  5. A turing complete programming language allow loops in the programs which mean it can instruct the CPU execute the same things over and over again for several times. This will eventually increasing the blocksize where bitcoin network is limited. But bitcoin wasn’t design to do it, it was design to be a digital gold.

1 Like

1.the EVM is a program of code that all cpus on the etherium blockchain run to execute smart contracts.

2.the format on the etherium chain is SOLIDITY

3.solidity compiles language into bytecode to form smart contracts that the Evm can read.

4.because the Script language on the btc chain is not complete and non Turing so cannot perform complex functions only basic ones.

5.a Turing complete language is able to program anything you can think of.
Solidity language on the etherium network is Turing complete.

1 Like
  1. EVM is a virtual machine that enables execution of code exactly as intended. In short, it is the runtime environment for every smart contract.

  2. the EVM reads byte code.

3.Solidity is complied into byte code .

  1. Bitcoin’s programming language cannot do loops because it’s not Turing complete. Besides, it lacks other key features most programming languages have.

  2. A Turing-complete language (also called a universal language) is one where you can compute anything that any other computational method can compute.

1 Like
  1. What does the EVM do?
    EVM reads and executes smart contracts, it uses the CPU to indirectly execute the code.
  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 programing language the reads like english (simiilar to Javasript), which is read by the EVM in bytecode.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    The bitcoin language is not Turing complete.
  5. What is a Turing Complete programming language?
    A Turing complete language can is a program that can be written to solve computational problems.
1 Like
  1. every ethereum node requires to run EVM to maintain consensus across the network.
    EVM facilitates smart contracts.

  2. the format of instructions on ethereum is the bytecode

  3. Solidity is a programing language that is used to create code for smart contracts,
    this code is compiled into EVM bytecode. The EVM then reads and executes the instruction in the form of Bytecode.

  4. BTC was initially designed for for the objective purpose of transfering money peer to peer. where as Ethereum was created for various other purposes including transfer for money. Ethereum is turing complete.

  5. Turing complete programming language may be used to several applications for varied purposes.

1 Like
  1. The Ethereum Virtual Machine acts as a security layer to read and translate smart contract code to the cpu’s running nodes on ethereum.
  2. EVM reads Byte code
  3. Solidity is a human programmable code that is then compiled into Bytecode for the EVM to run on the CPU of a node
  4. Bitcoin’s programming language, script, is not turing complete
  5. A turing complete programming language allows for loops to be written in the code, executing one line, an unlimited amount of times. This allows for almost anything to be programmed with a turing complete language
1 Like