Homework on EVM

1. What does the EVM do?
Provides an interface for nodes/CPU’s to interpret smart contract instructions

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 language used to compile/interpret Bytecode.

4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin code is relatively simple and not Turing Complete.

5. What is a Turing Complete programming language?
A programming language that can be scaled up to handle all possible scenarios on its network

  1. EVM Ethereum Virtual Machine Reads the smart contract and commands the CPU
  2. EVM reads in bytes.
  3. Solidity is the language the code is written in then compiled in byte code for the EVM to read.
  4. Bitcoin language is not turing complete. Solidity is turing complete language.
  5. Solidity language can run in loops with variables for different results.
1 Like
  1. The EVM runs bytecode compiled from their own programming language called solidity on the ethereum network.
  2. Evm bytecode.
  3. Solidity is a human language-like representation of evm-bytecode that can be converted/compiled into evm bytecode.
  4. Because it is not turing-complete
  5. A programming language that you can do anything you want in.
1 Like
  1. The EVM reads the smart contract and compiles it into EVM byte code. When it does this, the EVM ensures that the smart contract is following the rules, including not doing anything injurious to the node.
  2. The EVM reads instructions written in the Solidity language.
  3. Solidity is written by humans and is readily understood by humans. Bytecode can be read by a CPU to execute instructions, but is not readily understood by humans.
  4. Bitcoin is not a Turing Complete language.
  5. A Turing Complete language is one which allows a programmer to program whatever he wants, including loops.
1 Like
  1. EVM allows smart contracts to be read and validated by each node rather than a single cpu system.

  2. EVM instruction format is coded in solidity and complied to byte code in which EVM is able to execute.

  3. Solidity is the writing program in which the coding is first created. Then it is complied to Bytecode where it is then readable to the nodes running EVM.

  4. Bitcoin’s script programming is not turing complete like Ethereum’s solidity and viper programs are.

  5. Turing Complete programming is loopable therefore you can do things several times in a contract.

1 Like
  1. EVM is Ethereum Virtual machine and it is a piece of code on which the nodes run on top of the nodes original hardware EVM can read and execute smart contracts.

  2. The format of the instructions the EVM can read is called solidity, which then gets compiled into byte code.

  3. Solidity is a programming language which then gets compiled into byte code. EVM only cares about the byte code. So this means that other programming languages can be used on the ethereum network as long as it gets compiled into byte code.

4/5. Bitcoin is not Turing complete. So it cannot solve all the problems that it will have to solve if you program an application. Unlike ethereum which is Turing complete which can solve all problems needed when being programmed with an application.

1 Like
  1. EVM Ethereum Virtual Machine is the Operating system where code is executed
  2. EVM reads Solidity code and compiles it into Bytecode before executing
  3. Solidity is the programming language of bytecode that then compiles into Bytecode that the EVM can execute
  4. Bitcoin’s script is much simpler that Ethereum’s and is not Turing complete
  5. Turing complete language can in theory solve any kind of computational problems, - it is not limited in its instruction sets.
1 Like
  1. What does the EVM do?
    It is a virtual machine which handles the smart contract on the ETH network. EVM also gives secure execution of smart contracts, because it is a layer between the code and the computer.

  2. What is the format of the instructions that the EVM can read?
    It is compiled to byte code from Solidity or Viper for example.

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is the programming language what we humans can understand, however a computer needs byte code to run the given instructions, therefore after we wrote the code it needs to be compiled to byte code.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because Bitcoin developers only wanted a digital currency, therefore the Bitcoin script language is not a Turing complete language which do not allows smart contracts on the blockchain.

  5. What is a Turing Complete programming language?
    Theoretically we can do anything what we want to solve.

1 Like
  1. What does the EVM do?
    EVM reads smart contracts, translates this for the CPU so this can execute the instruction which the smart contract contains
  2. What is the format of the instructions that the EVM can read?
    It is written in Solidity
  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is aj programming language which can translate normal code to bytecode. After the code is compiled to bytecode it is readable for the EVM
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin is not Turing complete and Ethereum is.
  5. What is a Turing Complete programming language?
    A Turing Complete programming language should be able to fix all the problems it could encounter.
1 Like

Q1 What does the EVM do?

The Ethereum virtual machine (EVM) is a virtual stack that is embedded within each Ethereum node. The EVM allows smart contracts to be executed while maintaining consensus. Ethereum is a network of computers. There is no one CPU that executes code. The EVM runs on top of the hardware on each node and uses the CPU, ram etc of each node to run or execute smart contact code. Each node uses the EVM to execute the smart contact code to arrive at the same conclusion therefore consensus is maintained.

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

The EVM takes readable code from solidity for example and compiles it into a a version of that code that can be understood by the computer. We commonly say low level code designed for a software interpreter. The Ethereum EVM compiles smart contact code into bytecode which can then be executed by the EVM. Ethereum bytecode is an assembly (low level) language

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

So we know that solidity is a smart contact programming language. Soldidity is constructed in a way that allows user to easily read and userstand the functionality o the code that is being written. When this smart contract code is executed the EVM complies it and conversts our readble solidity code into a format that the computer can understand at a low level. Once this program has been compiled and its format changed so that the computer can understand it is executed. This is the link between solidity and bytecode

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

The reason bitcoin cannot run the same type of complex programs like ethereum because the programming language built into bitcoin called script is very limited in its capabilities and really limits users on they type of things they can do. One of the main reasons for this is that there is no ability to create loops in script

Q4 What is a Turing Complete programming language?

A Turing complete programming language is simply a language that allows the user to do anything they want. For example in HTML we cannot declare variables or functions. Thus we could not write a program in HTML to do certain things on command. Whereas we look at python or C we can code up anything we want pretty much and there is far fewer limits on what we can tell our code to do.

1 Like
  1. What does the EVM do? it is the ethereum virtual machine which is run by every node. It is a piece of code which says the CPU what to do.
  2. What is the format of the instructions that the EVM can read? EVM is used for extra security. It is in every node in order to run the smart contract
  3. What is the relationship between the programming language Solidity and Bytecode? solidity is the language to write SC and then a compiler is used to convert it to bytecode
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? BTC is not turing complete
  5. What is a Turing Complete programming language? It is a language capable of performing various complex operations
1 Like

1.Ethereum Virtual Machine - Is a piece of code that runs as an aplication for CPUs. It reads the smart contracts and gives instructions to this network of CPUs (nodes) for them to follow.

  1. Samrt Contracts are writen in “solidity”. But there is a compiler that “translate” this language into Byte Code, making it readable to EVMs

  2. Bytecode is the “translation” made by a compiler that reads and translates solidity language.

  3. Because BTC is not turing complete and ETH is.

  4. A turing complete programming language allows:
    -for looping programs without having to write it all out over and over.
    -Can program any logic into contract
    -Can theoretically solve all complex problems

1 Like
  1. What does the EVM do?
    EVM is Etherium Virtual Machine that reads code on the nodes. It also ensures consensus on all notes when they produce the same bytecode. EVM instructs the bytecode to excecute the smart contract as a security between the CPU and the smart contract
  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 turing prgramming language like Java script that can solve any problems. It has a compiler that enables instructions to flow from solidity to bytecode
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? Bitcoin language -script is non Turing and limited in solving problems
  5. What is a Turing Complete programming language? Turing complete language can solve many problems. It has loops that enable repetitive tasks to be programmed in software.
1 Like
  1. Etherium Virtual Machine that runs smart contract on etherium and prevent access of AI to pcu itself
  2. it means that EVM prevent a direct access of AI to CPU
  3. solidity compile to bytcode to run on EVM
    4.it can do only simple tasksit can’t do turing in full
  4. it can program whatever you like on etherium + add a possibility of loops.
1 Like
  • What does the EVM do?

It runs the smart contract

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

Bytecode

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

Solidity must be compiled into bytecode in order to run on the EVM

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

Because it’s programming language (Script) is not Turing Complete

  • What is a Turing Complete programming language?

It’s a programming language that allows you to write any program you want. It allows you to code loops, for instance.

1 Like
  1. What does the EVM do?
    EVM executes Smart contract instructions. It runs on top of existing HW in all the nodes. It is security layer.

  2. What is the format of the instructions that the EVM can read?
    Bytcode format compiled program code written in Solidity.

  3. What is the relationship between the programming language Solidity and Bytecode?
    Human redable language code vs Compiled code for EVM.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcon can only executes the simple programs like multisignature (it is not turing complete) while the Ethrium can run whatever you like, it has looping…

  5. What is a Turing Complete programming language?
    A Turing complete programming language like Solidity allow loops of a program to be run over and over. Anything that programmer would like to make is theoretically possible with a TC programming language.

1 Like

#1 Ethereum Virtual machine will read and execute all calculations and instructions in the nodes and work with the CPU.
#2 Solidity
#3 Solidity has a compiler, a application that will take the solitity code and put it in byte code.
#4 Because it isn’t True and Complete.
#5 A true and complete programming language has loops, making sure everything is correct.

1 Like
  1. EVM reads the smart contract or bytecodes, separates the the cpu from potentially malicious code.
  2. Bytecodes
  3. Solidity is used by the programmer with converts the instructions to bytecode.
  4. Bitcoin runs on script that is not Turing complete.
  5. Turing complete means it can be used to program anything imaginable.
1 Like
  1. EVM reads and executes smart contracts on Eth blockchain
  2. EVM reads Byte code
  3. Solidity is comppiled into a byte code, which is operated by EVM
  4. Turing complete language means merely any problem may be solved using it
1 Like
  1. What does the EVM do?
    It creates an execution abstraction layer that enhances security and perhaps compatibility with the hardware machine.
  2. What is the format of the instructions that the EVM can read?
    Solidity, which is a Turing complete language
  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is compiled into bytecode for use by the EVM
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    It only has very simple functions, cannot run loops, and is not Turing complete
  5. What is a Turing Complete programming language?
    It means the language has the mechanisms in place to form algorithms that can theoretically solve any computational problem.
1 Like