Homework on EVM

  1. What does the EVM do?
    The EVM is the Etheruem Virtual machine. Nodes in the network that accept and verify the transactions. Each of those nodes runs the EVM.
  2. What is the format of the instructions that the EVM can read?
    Bytecode (solididy or Viper)
  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is the programming language that developers use to create smart contracts. A compiler will then transform the Solidity code into bytecode.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because the programming language that BTC uses is very limited in terms of changes that can be done.
  5. What is a Turing Complete programming language?
    With turing complete language, the developers can create any application they want.
1 Like
  1. Ethereum Virtual Machine. It reads smarts contracts instructions and tells the gpu what to do.

  2. EVM Bytecode

  3. Solidity gets compiled to Bytecode. Solidity is an easier way to write code, the compiler ‘translates’ it so that the EVM can read en execute it.

  4. Because the bitcoin programmers didn’t want to add this second layer. You can only program really simple instructions on the bitcoin network, using the programming language script which isn’t Turing Complete.

  5. A programming language that can have loops. With it, developers can create anything they want.

1 Like

1). protects your computer from getting a virus due to being on the blockchain
2). bytecode
3). solidity is easy to understand and gets converted to bytecode which the EVM reads
4). it is not Turing complete
5). you can run advanced codes vs. very primitive non -Turing complete

1 Like
  • What does the EVM do?
    The EVM uses the computing power of a node indirectly to process a smart contract. That is redone by every Node in the network to reach consens

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

  • What is the relationship between the programming language Solidity and Bytecode?
    A smart contract still needs to be written in Solidity but then has to be converted to the EVM Byte Code

  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin’s programming language Script isn’t a turing complete language and therfore isn’t able to
    solve all problems that might occure

  • What is a Turing Complete programming language?
    A Turing Complete Language is a fully programmable and therfore flexible programming language.
    A big advantage is the possibility to create loops, which can redo a instructions for X times

1 Like
  1. EVM creates a level of abstraction between executing code and executing machine. It compiles smart contract instructions written in Solidity or other language like Viper to bytecode and hands it over to CPU on the node. CPU executes those instructions hands them back to EVM and updates smart contracts state. EVM runs on all nodes and they all need to be in consensus with the end state of the smart contract.

  2. Bytecode

  3. Solidity is a language which humans can understand but in order for computer to understand instructions written in Solidity it has to be compiled into bytecode.

  4. Bitcoin doesn’t have Turing complete language. It is basically just a distributed ledger.

  5. Theoretically with Turing complete language you can instruct computer to solve any computational problem if you had infinite amount of resources.

1 Like
  1. EVM reads byte code and passes it to run by CPU. Its for security reasons.
  2. Byte code.
  3. Solidity is for programmers than its compiled to bytecode.
  4. Its not Turing Complete - it doesnt have built in language that allows that kind of action.
  5. Its a language allowing to program everything :wink: Not restricted to some basics only.
1 Like
  1. What does the EVM do?
    The Ethereum Virtual Machine (EVM) is an app running on all nodes which reads smart contracts and tells CPU what to do. It makes it possible to execute code. It encapsulates the smart contract preventing them from interacting directly with the host computer. This provides security to the network.

  2. What is the format of the instructions that the EVM can read?
    EVM reads the byte code from Solidity Program language.

  3. What is the relationship between the programming language Solidity and Bytecode?
    Smart contracts are written by solidity. The solid compiler takes the code and turns it into btye code and the EVM reads the byte code.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because Bitcoin uses something called Script. Script is Not Turing Complete to avoid spam and scalability issues. It can not do anything and everything. It can do such things as having multi signed contracts but not much more. Solidity is Turing Complete.

  5. What is a Turing Complete programming language?
    A programming language that allows further programming to be done. It has complete programability. It also has loop features where it can do one thing several time which saves time in not having to write a bunch of code by hand.

1 Like

1)EVM encapsulates and executes the byte code which was compiled in Solidity. It is present on all nodes on the ethereum network.
2) Bitcoin Script language is very limited. It simply can’t do it.
3) Turing Complete language allows programming pretty much anything. One of the main features is the possibility to create loops.

1 Like
  1. It interprets bytecode and instructs the CPU. Also acts as a security layer between the CPU and the bytecode.
  2. Bytecode.
  3. Solidity is written by programmers and then compiled to Bytecode which is read by the EVM.
  4. Because it’s language -Script- is not Turing complete.
  5. A programming language that can solve all the problems we can think of.
1 Like
  1. The EVM runs the code of the smart contracts.
  2. The EVM reads bytecode.
  3. Solidity is a higher level instruction set. It must be compiled down to bytecode for the EVM to read.
  4. Bitcoin Script is primitive in its programmability compared to Solidity. It is not a Turing complete language.
  5. A TC language can be used to create any kind of application that can be thought of. It is not limited in scope as far as what can be created with it compared to a non-TC language.
1 Like
  1. The EVM tells the CPU to execute the smart contract. EVM means Ethereum Virtual Machine. It protects the computer’s CPU from being taken over by a malicious smart contract by executing the smart contract code in a sandbox environment, isolated from the CPU.
  2. The EVM can read Bytecode
  3. Solidity translates the smart contract code into a language that the EVM can read (bytecode).
  4. The programming script of Bitcoin is not Turing complete and therefore is not dynamic; it can only run simple code.
  5. Turing Complete programming enables dynamic (complex) programming such as account creation; giving instructions or prerequisites prior to transferring money, running smart contracts, etc.
1 Like

1: EVM solves smart contracts tasks, not the TXs
2: Bytecode
3: Solidity codes it into bite code, so EVM can read it
4: BTC runs very primitive language called Script
5: its a language which can solve almost anything

1 Like
  1. The EVM is the brain that read, run and execute a code on the blockchain.
  2. Bytecode
  3. Solidity is a programmer language and Bytcode is the EVM language.
  4. Because BTC is based on script language that is a not turing complete language (limited usefull language)
  5. A turing complete programming language is a limíteles language that can be usted to solved many of the issues
1 Like
  1. What does the EVM do?
    eth virtual machine is a piece of code that can read the instructions in the smart contract and helps the CPU to execute them. Each CPU node on the network is monitored by a EVM. It is isolated from other parts of your PC and so only evaluates the smart contract and ensures nothing malicious happens, e.g. ensures the smart contract doesn’t take control of the CPU.
  2. What is the format of the instructions that the EVM can read?
    Executes byte code, from instruction to instruction. This can form a smart code, which can use loops to execute this sequence of actions, repeating if necessary. For example, if grandparents wanted to incentivise grandchildren to study and released money based on achieve inserting grades: the EVM would be able to check if a grandchild had achieved equal to or more than a certain grade and the next sequence could released money to the grandchild, or released back to the grandparent, if not achieved.
  3. What is the relationship between the programming language Solidity and Bytecode? Solidity uses a compiler, which compiles instructions into byte code, which the EVM can then interpret.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? BC uses a more simple code, that is capable of a form of smart contract, but is less expressive than solidity. For example,script cannot perform recursion, the process of defining, or finding a solution to a problem. Also, it cannot perform loops, which may be needed for adaptation.
  5. What is a Turing Complete programming language?
    A language that can recognise and decide upon other data rule sets.
1 Like
  1. What does the EVM do? - It is the Ethereum Virtual Machine and it runs smart contracts.

  2. What is the format of the instructions that the EVM can read? - Solidity, Object-Oriented Programming Language.

  3. What is the relationship between the programming language Solidity and Bytecode? - Solidity is compiled to bytecode that is executable on the EVM.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? - Bitcoin is a currency, where as ETH allows for the building of decentralized applications to be built on top of it. People and companies are building programs built from ETH.

  5. What is a Turing Complete programming language? - It is a full programming language, a system that is able to recognize or decide other data-manipulation rule sets.

1 Like
  1. The Ethereum Virtual Machine creates a nested environment that protects and interprets the structure of the code against going outside of the smart contract and affecting the node. This eliminates attacks on the network from within the smart contracts and only allows for instructions which fit inside the parameters of the EVM.
  2. Machine language (Bytecode)
  3. Soidity is the user language that uses human level instructions and they are compiled into computer level instructions called Bytecode.
  4. It isn’t designed to and is turing complete.
  5. A language that allows for loops and other more complex instructions.
1 Like
  1. What does the EVM do?

The EVM is a virtual machine that sits on Ethereum nodes. It processes smart contract code to determine the outcome, using the resources of the computer on which it resides.

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

They are in Bytecode.

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

Solidity (similar to JavaScript) is converted into Bytecode. Technically any other Turing complete could also be compiled this way and read by the EVM.

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

Bitcoin doesn’t have a Turing complete programming language running on it, it runs Script instead which enables things like multi-sig wallets. BTC was deliberately kept separate from a Turing complete language to keep a limit on block size and time.

  1. What is a Turing Complete programming language?

A Turing complete programming language is a system that can be used to solve problems. It can perform any calculation that any other Turing complete programming language could, with no regard for the runtime or memory needed to do so.

1 Like

1, allows code to be written on the network in a way that all nodes are in consensus about the end result
2, reads byte code compiled from Solidity
3, Solidity is the programming language used to create the byte code which the EMV can read and execute
4, Script is not turing complete
5, Is a language that allows loops and in theory, has the ability to program anything in theory

1 Like
  1. The EVM is used to execute smart contracts. It is essentially a secure container.

  2. The EVM reads instructions in bytecode.

  3. The Solidity programming language is compiled into bytecode.

  4. Bitcoin can’t run the same type of complex programs like Ethereum because its script language has limited capability.

  5. A Turing Complete programming language is functionally complete and can be used to solve complex problems.

1 Like

1- EVM run on top of Ethereum node and run smart contracts bytecode and get the result
2- BYTCODE
3- Everything written in solidity compile to Bytecode, EVMs can read and execute Bytecode only
4- Bitcoin program language is script and it is very limited and it isn’t Turing complete for example you can not have loop function on script, because of these reason Bitcoin cannot run complex programs
5- Turing complete programs are some program that you can write everything you think in it and it can solve every problem (in programming) that you think of with them

1 Like