Homework on EVM

  • What does the EVM do?
    -It is primarily known as ethereum virtual machine which is an application or codes made of programming language solidity which aids or helps cpu/nodes indirectly to execute smart contracts as well reach consensus and enhance security

  • What is the format of the instructions that the EVM can read?
    -EVM reads instructions in form of byte code using solidity

  • What is the relationship between the programming language Solidity and Bytecode?
    -EVM and ethereum blockchain runs or uses on solidity programming and converts such instructions into byte code to run across network

  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    -since it runs only on script and is a non turing complete type which means it is non programmable. It only recieve or send or track transactions only as POW

  • What is a Turing Complete programming language?
    -It is a language which can be programmed to execute specific o/p’s or business transactions

1 Like
  • EVM can read and execute smart contracts. It encapsulates a program to offer security to nodes and therefore the system. It runs on each node on the network.
  • EVM byte code
  • programmers write in solidity language, which gets compiled into bytecode. EVM reads bytecode.
  • ₿ is not turing complete, it is limited
  • a turing complete language has loops, doing one thing repetetively
1 Like

1.What does the EVM do?
EVM runs the smart contract on all nodes to reach the consensus

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

3.What is the relationship between the programming language Solidity and Bytecode?
Solidity programming language is used to write smart contracts which is translated by compiler into bytecode that is read by EVM to execute the byte code.

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

5.What is a Turing Complete programming language?
Turing complete programming language have loops .

1 Like

What does the EVM do?
The EVM act as a “middlemen” between the “executive code” in the smart contracts and the Ethereum node’s CPU. The EVM is talking directly with the code and then communicates that further to the CPU. One important reason is for security when every Ethereum node need to execute the code to secure the network with verifying and validating the smart contracts, smart contracts that instead would talk with the CPU on every node in the network could in theory spread a virus and harm every actor in the Ethereum network.

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

What is the relationship between the programming language Solidity and Bytecode?
The programming language Solidity will together with a compiler be able to transform the written Solidity code to bytecode that the EVM understands and can execute. Solidity that we humans understand better can transform to the bytecode that machines understand better, therefore these two languages let us humans in a way communicate with machines through the Ethereum blockchain.

Why can’t Bitcoin run the same type of complex programs like Ethereum can?
The Bitcoin protocol doesn’t accept a Turing complete programming language. The programming language it accepts in “script” is not Turing complete.

What is a Turing Complete programming language?
It is when the programming language let you be able to program everything logically you can think of. The language can in theory execute indefinitely amount of instructions, like a program that never stops. The programs has the possibility to become extremely more complex with a Turing complete language than a language that is not Turing complete.

1 Like
  1. the EVM is a virtual machine tha enables a computer to run smart contracts.

  2. the format is EVM bytecode.

  3. code written in Solidity gets compiled to EVM bytecode that the EVM can execute.

  4. Bitcoin script language is not turing-complete and with that hasn’t the full instruction set as to execute as Ethereum.

  5. A turing complete programming language has all data manipulation rule sets that it can be used to simualte a turing-complete system.

1 Like

1.What does the EVM do?
it execute code and isolate computer and network

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?
you can write in solidity ant then compile into bytecode

4.Why can’t Bitcoin run the same type of complex programs like Ethereum can?
btc is not turing complete, so u cant program things into btc

5.What is a Turing Complete programming language?
turing complete lalnguage has loops, it means can repeat set of instructions

1 Like

My Answers:

  1. Read and Execute Smart Contracts. Also plays security for your CPU
  2. Solidity
  3. Solidity is the Program language for ETH and its Turning Complete. Byte code is Programming language for BTC, where the Solidity code is translated into byte code. Its not TC
  4. Because its not Turning Complete
  5. Turing Complete means it has complete programmable and scripting, and scale-able
1 Like
  1. EVM is in every Ethereum node and converts the code language (Solidity) into bytecode to easily read the smart contract

  2. bytecode

  3. Solidity is used to write the smart contracts then converted to bytecode for the EVM to read it and pass on to the CPU

  4. IT uses basic script language and is not turing complete

  5. Turing complete has the ability to solve any problem with code

1 Like
  1. The EVM enables smart contracts.
  2. Byte
  3. Byte code is like a hash of Solidity code.
  4. Bitcoins programming language, Script is not Turing complete.
  5. A Turing complete programming language contains all of the tools needed to perform any mathematical function.

Answer all questions and post your answers in the thread linked below.

  1. What does the EVM do?

Answer: EVM reads and executes smart contracts for the node. And it also protects the Nodes CPU by ensuring that nothing malicious will happen to the smart-contract.

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

Answer: Smart-Contracts witch is a piece of code that all the computers in the Ethereum network are running.

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

Answer: Programmers use the programming language named solidity to get to the smart contract’s byte code. And then you have a compiler, a special application that will take your solidity code. It will then compile the logic and the instructions that you have given, and it will down to byte code, and then the EVM will read all the instructions.

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

Answer: Bitcoin uses Script for programming, and Script is Not Turing Complete, meaning it cannot solve all problems that it might solve if you want to program some kind of application.

  1. What is a Turing Complete programming language?

Answer: Meaning that you can program anything you want, and when we say that “you can program anything you want on Ethereum”, that is true in theory It is though still limited in Scalability

1 Like
  1. The EVM is a piece of code in every ethereum node that acts as an intermediary between the smart contract code and the CPU. It converts the smart contract solidity code into byte code for the CPU to execute. The EVM ensures security from malicious programs

  2. Byte code

  3. Solidity is the language we use to write smart contracts and programs. Byte code is what the EVM converts the solidity code into so that it can be executed by the CPU.

  4. Bitcoin cannot run the same type of complex programs like Ethereum can because Bitcoin’s programming language Script, is not Turing Complete. It is very limited and does not allow loops.

  5. A Turing Complete programming language is a programming language that is theoretically capable of solving any computational problem you want it to solve, with code.

1 Like
  1. What is the EVM?
    The EVM is the Etheruem Virtual machine that is a global singleton machine. With a global singleton state. The state is maintained by the nodes in the network that accept and verify the transactions. Each of those nodes runs the EVM. The EVM that is running on those nodes creates an isolated(encapsulated) environment to run smart contracts and transaction request that have been submitted to it. It uses OP Codes and gas to prevent from a spam attack.
  2. What does it mean when we say that the EVM runs in a sandbox environment?
    The EVM is its own virtual machine. operations inside of that virtual machine are pure to that virtual machine. This helps prevent “Noisy neighbor” problem for anything running in that EVM and other programs running on the node. It is the underlying architecture required to keep solidity code encapsulated within the EVM It keeps track of the code and state for all the smart contracts running on the chain It does this via the EVM that runs runs on the ETH node.
1 Like

In computer science, Turing completeness is a classification for a system of rules that manipulate data. It is named after computer scientist Alan Turing, inventor of the Turing machine.

For instance, programming languages and CPU instruction sets are examples of formal rule systems that access and modify data. If the rules can simulate Turing’s hypothetical computing machine, the rules are said to be “Turing complete.” A Turing-complete system can be proven mathematically to be capable of performing any possible calculation or computer program.

1 Like

1 - ETHEREUM VIRTUAL MACHINE. Executes and interprets the smart contracts. Running every node and miner.

2 - Etherium machine code runs isolated from the node OS

3 - Solidity is compiled into EVM Bytecode, which is then running on ETH nodes for execution.

4 - Thats because BTC is not turing complete language. It makes it very limited for programation,

5 - Its a kind of program that can makes almost everything. Is much more flexible in a good way.

Excellent answers sir, well documented! Please keep them like that :muscle:

Carlos Z.

1 Like

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

Quite close miss, but Solidity is the programming language that you use to create/design smart contracts, after that, it will be compiled into ByteCode, so the format of the instructions that EVM reads is Bytecode

If you have any more questions, please let us know so we can help you! :slight_smile:

Carlos Z.

1 Like

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

You mean Bytecode i guess :slight_smile:

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

A little bit, but a hash could not be the best example, because a hash function is used to encrypt, in this case you are not encrypting, just compiling a set of instruction into a binary code so the EVM can execute it.

If you have any more questions, please let us know so we can help you! :slight_smile:

Carlos Z.

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

Quite close sir(s), but the format of the instructions that EVM read is ByteCode.

If you have any more questions, please let us know so we can help you! :slight_smile:

Carlos Z.

1 Like

Hello sir, great answer but where did you get this question? is not from the list that we provide:

  1. What does the EVM do?
  2. What is the format of the instructions that the EVM can read?
  3. What is the relationship between the programming language Solidity and Bytecode?
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
  5. What is a Turing Complete programming language?

If you have any more questions, please let us know so we can help you! :slight_smile:

Carlos Z.

Yes.Thanks for correction, I must of read the question wrong. My apologies

1 Like