Homework on EVM

The EVM can only read and execute bytecode. So your Solidity code must be compiled before the smart contract gets deployed on the blockchain for the EVM.

  1. It reads the data of the smart contract that is in Bytes. It uses the CPU or any hardware of the node to accomplish it.

  2. Bytes

  3. The smart contract is written in Solidity and then converted into Bytecode so that the EMV can read it.

  4. Bitcoin run on Script and limited and therefore Not truly complete.

  5. It is when any condition can be programmed to execute a transaction.

  1. What does the EVM do?
    EVM execute code submitted on the Ethereum network. It is a virtual machine set up on individuals computer where it runs a node for the network.

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

  3. What is the relationship between the programming language Solidity and Bytecode?
    solidity is a programming language people use to create code, once they’re finnished they compile it and it gets ā€œtranslatedā€ into byte code that EVMs can use

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin uses script that isn’t turing complete therefore it cannot run programs as Ethereum can

  5. What is a Turing Complete programming language?
    It’s a programming language that can execute any program user inputed.

1 Like
  1. What does the EVM do?
    EVM makes it possible to execute code on the network in such a way that all nodes are in consensus about the result.
  2. What is the format of the instructions that the EVM can read?
    The EVM reads bytecodes.
  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity code is compiled into bytecode using compiler and then EVM will read the bytecode.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because Script is not turing complete, it can’t solve all problems.
  5. What is a Turing Complete programming language?
    It supports loops that allows programmer to tell software to do one thing several times.
1 Like
  1. An EVM stands for Ethereum Virtual Machine. It runs on top of the CPU and the ETH Node and acts as a sort of barrier. The EVM reads and executes the byte code on smart contracts.

  2. The format of the instructions in a smart contract (which is read by the EVM) is written in bytecode.

  3. Solidity is one of the programming languages that smart contracts are originally written in, but then it is turned into bytecode by the compiler so that the EVM is able to read and execute it.

  4. Bitcoin cannot run turing complete code because it uses the script programming language, which is not turing complete. The developers of Bitcoin do not want a turing complete language because adding the ability for things like loops could easily clog up and spam the network.

  5. A turing complete programming language allows developers to command their code to do basically anything they want. In other words it does not restrict like a non-turing complete language does. It adds the ability to have loops. This means that not all commands have to be written by hand when it comes to the amount of times those commands should be executed. Instead, commands can be executed over and over again by the initial code for a defined number of times.

1 Like

What does the EVM do?
makes it possible to execute code on network for smart contracts

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 is the language used to compile instructions for the smart contracts into Bytecode

Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin uses Script as a programming language for multi-sigs. Script is NOT true and complete.

What is a Turing Complete programming language?
Solidity is a turing and complete programming language that contains Loops. Loops is a feature of a programming language that allows a programmer to do one thing several times.

2 Likes
  1. What does the EVM do?

The Ethereum Virtual Machine (EVM) operates as a layer on top of the CPU of the node. It processes transactions and verifies information based on criteria set within the smart contract.

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

The EVM reads Solidity code and turns it into bytecode.

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

The instructions of a Smart Contract are written in Solidity, the Ethereum language. The smart contract is developed in Solidity and is translated by the EVM into bytecode.

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

The type of code Bitcoin runs on is very straight forward and purposeful. The Ethereum language is ā€œTuring Complete.ā€ The Bitcoin block chain would be overloaded by so much information and blocks would fill up too quickly.

  1. What is a Turing Complete programming language?

The Turing Complete programming language that uses conditions and loops and allows programmers to build layers of applications on top of the blockchain.

2 Likes
  1. What does the EVM do?

The Ethereum Virtual Machine reads and executes smart contracts and then passes the instructions to the CPU to execute them. It adds an extra layer of security, ensuring that no malicious code gets through it.

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

Bytes

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

The smart contracts are written in Solitdity, the message get translated to bytes, thanks to the compiler, for the CPU to read.

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

The language that is used in BTC is not Turing Complete.

  1. What is a Turing Complete programming language?

It’s a programming language which is capable of solving any kind of computational problem, at least in theory.

2 Likes

1 - complies code (eg. solidity code) and outputs byte code for the cpu to execute on the contract (block data)
2 - programming languages like solidity
3 - solitiy is an english like programming language and bytecode is machine language
4 - btc scripts are too primitive - not turing complete
5 - its a language that allows sophisticated logic to run…like loops etc.

1 Like

1- Evm stands for ethereum virtual machine, EVM makes it possible to add code into the ETH blockchain in such a way that we all reach consensus about what the result should be. It is a piece of code that all nodes in the network are running, it can also read and execute smart contracts.
Evm is also responsible for increased security, because all smart contracts go the evm before being executed by the CPU.

2- The format of the instructions are programmed in solidity which is converted using a compiler into bytecode which is the one Evm can read.

3- It is basically the same, solidity is used to code the smart contract, which is later converted into bytecode using a compiler in order for it to be readable by the evm.

4- Because Btc runs on script ( programming lenguage) which is not turing complete meaning it cannot solve all problems. Making its applications limited.

5- A touring complete lenguage allows you to programm loops on a software.

3 Likes
  1. An EVM is an Ethereum virtual machine which runs on every node in the ethereum network and can execute smart contracts which are written in solidity (later on vyper). The EVM can read the bytecode which is the result of the solidity compiler. Then the EVM is telling the CPU what to do. All EVMs on the ethereum network have to deliver the same result of a smart contract, otherwise there is something wrong. This is also the way how consensus trough the EVMs is created.

  2. The EVMs can read bytecode which is created by the solidity compiler.

  3. Solidity is a programming language which developers can read and understand, whereas a CPU or EVM cannot read the solidity code. Therefore, a compiler translate the solidity code into bytecode which then can be executed by the EVM or CPU.

  4. Bitcoin is not Turing complete which means that some programming possibilities (loops, if etc.) are not existent. This avoids spamming the blockchain but also limits the possible applications on the bitcoin blockchain.

  5. A Turing complete programming language allows to write pieces of code with no limitations. You can create complex programms with loops, if, goto statementes etc. .Nowadays, nearly all programming languages are touring complete

2 Likes
  1. The EVM reads the bytecode of the smartcontracts and sends the instructions to the cpu.
    The instructions are not directly read by the cpu due to security reasons and to prevent malicious code to be executed. Therefore the EVM also acts kind of like a filter.

  2. Byte Code

  3. Code that can be read and written by programmers in solidity will be compiled into bytecode that can be read and understood by the emv and cpu.

  4. Because the bitcoin programming language script is not turing complete this means it is extremely handicapped in the range of executable code.

  5. A turing complete programming language is able to execute every task and function a programmer can think of.

Special: I found a minor mistake in Eth101>EthIntroduction>Homework:EVM (look at the image)

2 Likes
  1. The EVM provides a layer of security between the CPU and the smart contracts ensuring that nothing malicious happens.
  2. The EVM reads byte code.
  3. Solidity is a more user friendly programming language that is then compiled into Bytecode that the EVM reads.
  4. The more complex Ethereum programs would take up to much space in the bitcoin blocks slowing the speed further without a blocksize increase.
  5. A True and Complete programming language is one that allow for anything to be programmed. Specifically, it allows for looping which is essential for repeating functions or calculations many times.
2 Likes
  1. EVM reads the bytecode of a smart contract and then tells the CPU what to do.
  2. EVM reads byte code.
  3. Solidity is the language programmers use to write the code and then a compiler is putting that code into a smart contract in the form of a bytecode.
  4. Because Bitcoin does not have a TC program language like ethereum does. It has a script language that can be used for simple codes.
  5. Turning complete means that you can program everything you can think of and put it into a smart contract for example.
2 Likes
  1. EVM is a virtual machine that run smart contracts on node in the nertwork.
  2. Byte code
  3. Smart Contracts run on Solidity language then the compiler turns into bytecode and EVM read the bytecode.
  4. Because BTC programming language is Script and not turing complete.
    5.Turing complete is a programming language that can perform any task the developers can think of.
2 Likes
  1. What does the EVM do?
    EVM is to execute code with consensus on what it should be
  2. What is the format of the instructions that the EVM can read?
    Viper , bytecode using solidity
  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is using smart contract programming language , bytecode that can EVM can understand.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin in a script system and is not turing complete
  5. What is a Turing Complete programming language?
    solidity
1 Like
  1. EMV reads the smart contract and acts as a security layer that protects the CPU from malicious contracts.
  2. EMV reads byte code.
  3. Solidarity is complied into byte.
  4. Bitcoin does not use a Turing complete programming language unlike ethereum.
  5. A Turing complete language is a programming language that is flexible and can be used to code anything theoretically.
2 Likes

It executes the smart contracts.

It can read Bytecode only.

Solidity is the language used to write the smart contract, whereas Bytecode is the compiled code that can be executed by a node’s EVM.

The only programming language that can be used in Bitcoin is ā€œScriptā€, which can only do very few things. It is no ā€œturing completeā€.

It is a programming language that can solve any problem. A very important feature of any turing complete language is the possibility to create loops.

2 Likes

1
The Etherereum Virtual Machine stay in the Ethereum network nodes and executes the instructions the of the smartcontracts, they the propagate a result that must be the same resulting in the other evms.

2
The EVM reads ā€œBytecodeā€

3
Bytecode comes from the compiled Solidity language. An alternative for programmers is the ā€œViperā€ language.

4
Because Bitcoin Script in not Turing-compliant

5
A Turing Complete programming language has important functions like loops and there is no theoretical limit to the complexity of the program.

1 Like
  1. The EVM executes smart contract codes on the Ethereum blockchain.
  2. Bytecode.
  3. Solidity is the language smart contracts are programmed in, this is compiled into Bytecode which the EVM reads and executes.
  4. Bitcoin ā€˜Script’ is not Turing Complete limiting it’s abilities to execute more complex tasks, particularly loops.
  5. A language which can execute in theory any task.
2 Likes