Homework on EVM

  • What does the EVM do?
    Runs code on top of or within the blockchain

  • What is the format of the instructions that the EVM can read?
    Solidity and a couple of other langauges in the form of a smart contract

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

  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    BTC doesn’t have an EVM and was not built for smart contracts, it does now have schnorr script and some other stuff so perhaps this question is a little out of date

  • What is a Turing Complete programming language?
    A programming language that can perform all the things a computer can do.

2 Likes
  1. The EVM reads the smart contract and indirectly executes it.
  2. Byte Code
  3. Solidity is the programming language of ETH and is translated by the EVM into Byte Code.
  4. BTCs programming language is not turing complete.
  5. A turing complete language can solve problems.
2 Likes
  • What does the EVM do?
    EVM basically reads smart contracts (small programmes) and will then allowed nodes to execute them

  • What is the format of the instructions that the EVM can read?
    The format of the instructions is in bytecode that is written in either solidity or viper programming language

  • What is the relationship between the programming language Solidity and Bytecode?
    Solidity is a programming language it is read by an application called compiler to compile the instructions it’s been given into by code.Then EVM will be able to read/execute those instructions

  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin code is written in script, this code/language is not “Turing Complete” so it is unable to run complex programs

  • What is a Turing Complete programming language?
    A Turing Complete programming language means that you should be able to program any kind of application/program you could possibly imagine!

2 Likes
  1. EVM is a distributed computer that all nodes agree to run it is used to reads smart and execute them on the network.
  2. EVM reads bytecode.
  3. Solidity is a the programming language used to create the smart contracts. A compiler is then used to convert the smart contract into bytecode, so the EVM is able to read and execute the orders.
  4. Because Script is not Turing Complete.
  5. A Turing Complete language is a programming language that is able to solve any kind of operation.
2 Likes
  1. The EVM is an application that runs on top of the hardware for each node that’s running on the blockchain. It reads and executes smart contracts.
  2. The EVM reads the instructions and executes smart contracts, then it gives the instructions to the CPU. EVM uses byte code.
  3. Since the EVM uses only byte code, that’s where the program language Solidity comes in because it can produce byte code.
  4. Bitcoin can run the same type of complete programs like ETH because it uses a different program language such as script, which is not a Turing Complete programming language.
  5. A Turing Complete programming language is like Solidity where it can literally program anything, which has endless possibilities of programming.
2 Likes
  1. What does the EVM do?
    The EVM reads is the CPU that all network nodes run and reads the contracts -> it is not a compiler though

  2. What is the format of the instructions that the EVM can read?
    Byte code (post compile)

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is human readable (high level) and byte code is machine readable -> can represent the same contract though

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    It is not Turing complete (no loops) -> also uses a different coding language

  5. What is a Turing Complete programming language?
    It has loops and can solve anything

2 Likes

1 A piece of code that runs on top of individual CPU to read smart contracts and protect the network from runaway instructions
2 Bytecode
3 Solidity converts instruction into Bytecode read and executed by EVM isolating the CPU
4 It is not Turing Complete
5 a system in which a program can be written that will find an answer.

2 Likes

1. What does the EVM do?

The purpose of the EVM is to execute human readable solidity code into machine readable byte code so that the CPU of the node on which the EVM is running can execute the smart contract code.

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

The EVM reads and converts solidity code to machine readable bytecode. The format of the instructions are such that you have multiple lines of instructions after which an end result or state is achieved.

As an example, these instructions could state to take funds from some account or wallet on the blockchain and place them in another account for lockup until a certain condition is met. Once the funds are deposited into the designated wallet to be locked up the instructions reach an end state where the only thing that needs to continuously checked is the condition for those funds to be released.

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

Essentially a given piece of solidity code and its corresponding bytecode are the same set of instructions that tell the CPU on the ethereum node what to do. The difference is that Solidity is human readable while the bytecode is machine readable.

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

Bitcoin uses a programming language called script which is not turing complete due to a lack of iterative structures or loops in the language. Hence, all the problems that can be encountered will not be able to be solved using the script language.

5. What is a Turing Complete programming language?

It is a programming language that in theory can solve any problem one could possibly encounter although there are no guarantees that that problem will be solved in the most efficient way (efficient in terms of runtime and memory consumption).

In other words, the language has all features such as if-else logical statements, loops, data storage and manipulation capabilities, operators, etc that are needed to solve any problem that could ever in theory be encountered.

If any of these components are missing then the language is considered Turing incomplete.

An example of a turing incomplete language is bitcoin’s script language which doesn’t have anything in the syntax to allow repeating a block of code i.e. loops. Hence, problems requiring multiple thousands or hundreds of thousands of iterations cannot effectively be solved using script, making it Turing incomplete.

3 Likes
  1. The EVM is where smart contracts are ran to maintain a highly secure environment.
  2. EVM can read bytecode instructions.
  3. The original code is written in Solidity and the EVM complies it to Bytecode so it can execute.
  4. Bitcoin doesn’t have an EVM or something similar so it can run apps or smart contracts.
  5. A programming language is Turing complete if you can implement any possible algorithm with it.
2 Likes

On the Ethereum Blockchain EVM, stands for the Ethereum Virtual Machine, in which a piece of code or a code can be executed without this code accessing your CPU, and making something unintended. We need to understand that Ethereum main programable coding language is Solidity but it can also read Viper. After a code is created on Solidity or Viper, it is compressed and imported to Bytecode. In other words the EVM reads Bytecode obtained from the compressing of the Code written on Solidity or Viper. One of the main reasons that ETH network grew a lot this past years in my opinion, was because it has Complete Turning. Complete Turning in a Coding language, refers when you can do create loops or iterations on the code, might be a for or a while. In the BTC Language the Programming language is not complete.

2 Likes
  1. What does the EVM do?
    • The EVM runs on all nodes and reads and communicates instructions from the blockchain to the network.
  2. What is the format of the instructions that the EVM can read?
    • The EVM can read any instruction in bytecode.
  3. What is the relationship between the programming language Solidity and Bytecode?
    • Solidity is the programming language through which smart contracts can be programmed. A compiler takes that information and translates them to instructions in Bytecode which the EVM can read.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    • Bitcoin’s programming language is not Turing complete, which means not everything is programmable.
  5. What is a Turing Complete programming language?
    • With a Turing complete language you are able to program anything. One essential feature is the ability to program loops.
2 Likes
  1. The Ethereum Virtual Machine (EVM) enables computers on the Ethereum network to execute codes and smart contracts and to reach consensus. It also promotes security in the Ethereum protocol by bridging smart contracts from having direct access to CPU of nodes in the ecosystem.

  2. The format of the instructions that EVM can read is Bytecode.

  3. Solidity is the language of Smart Contracts which are transformed into Bytecodes for EVM to read, approve and execute.

  4. Bitcoin cannot run complex programmes like Ethereum because its language is not Turing complete.

  5. Turing Complete programming language is a language in which you can theoretically programme anything.

1 Like

1.The EVM executes the Smart Contract indirectly controlling the CPU to operate a specific function based on the terms instructed.

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

  2. The relationship between the programming language Solidity and Bytecode is that Solidity is the Instructions of the Smart Contract and Bytecode can only be read by the EVM.

  3. Bitcoin cannot run the same type of complex programs like Ethereum can because Bitcoins programming language is not Turing Complete.

  4. A Turing Complete programming language is a programming language that consist of Loops ; Performing a function 1000’s of times.

2 Likes
  1. The EVM executes smart contracts which are small programs. It’s an application that works by running on top of the hardware of each node of the ETH network.
  2. The EVM reads the smart contract in Solidity and compiles it into Bytecode.
  3. Solidity is used to compile the Bytecode but other programs can be used to compile the Bytecode such as Viper. The EVM doesn’t care which language is used because it is the Bytecode that is used.
  4. Bitcoin as designed to be a payment system and can handle very primitive smart contracts such as for multi-signatures. Ethereum was designed to be programmable because it is written in Solidity.
  5. A Turing Complete programming language is able to solve all applications. Turing Complete languages have loops which allows for multiple iterations of something including iterations with variables.
1 Like
  1. EVM is a eth virtual machine that makes process possible to work in a dec. way, it makes possible to exxecute the code in concensus what result should be.
  2. Compiler.
  3. Solidity is compiled of bytecode that is subsequently executed on the EVM.
  4. Because btc programming language called SCRIPT it is not turing complete.
  5. A 'Turing complete language” , which means everything that needs to be computed can be computed using it.
1 Like
  1. EVM - is code that all computers in the Network are running and it is running on top of the CPU of each computer in the Network. It Runs smart contracts. It is like a manager that manage all the computers in the Network and uses their computing power. If All computers reach the same result they reach consensus
  2. Bytecode
  3. Solidity is written by people (Smart contracts) which is then translated to the byte code and both are readable by the EVM
  4. BTC runs on Script code which is not Turing complete and is primitive
  5. Turing complete means that the code could solve any problem and is programmable
1 Like
  1. Executes the byte code of the smart contract. Isolates the code of the smart contract from the CPU.
  2. Bytecode
  3. Smart contracts are written (typically by a human) in Solidity. The Solidity code is then compiled to Bytecode by a compiler.
  4. Bitcoin script is not Turing complete
  5. A programming language that can be used to solve any computation problem
1 Like

What does the EVM do?

  1. Executes byte code of smart contracts

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

What is the relationship between the programming language Solidity and Bytecode?
3.solidity is compiled of bytecode that is executed on the EVM

Why can’t Bitcoin run the same type of complex programs like Ethereum can?
4.Because bitcoin uses script and script is not a full language.

What is a Turing Complete programming language?
5. A language that can solve any problem

1 Like
  1. It’s a small piece of code that reads SC and tells to each cpu what to do.
  2. Byte code
  3. Solidity gets compiled to EVM byte code which gets deployed to BC
  4. Script is limited and not turning Complete
  5. TC programming language is a language where you can (technically) program anything.
1 Like
  1. What does the EVM do?
    Ethereum Virtual Machine. It is an application that is running on top of the hardware of each node, and makes it possible to execute code and we are all in consensus of what the result should be. It can read and execute smart contracts.

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

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is a programming language that compiles its instructions into Bytecode, language that can be stored in the computer and read by the EVM. Solidity is similar to English while bytecode is “computer” language.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoins programming language is Script, which is not Turing complete: it cannot run loops. So it won’t allow for complex operations to happen.

  5. What is a Turing Complete programming language?
    It is a programming language that can run loops, so you can program anything you want.

1 Like