Homework on EVM

  1. What does the EVM do?
    EVM - Ethereum Virtual Machine runs ETH app on individual nodes on the network. It keeps the process encapsulated.

  2. What is the format of the instructions that the EVM can read?
    Ethereum is coded in Solidity programming language.

  3. What is the relationship between the programming language Solidity and Bytecode?
    Compiler compiles the instructions into byte code and ETH is reading the Bytecode.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    BTC’s Script language is not Turing Complete, that means It cannot run complicated instructions, like the loop.

  5. What is a Turing Complete programming language?
    It means it can solve all the instruction given not just simple ones. It can run loops.

  1. What does the EVM do?
  • EVM, which stands for Ethereum Virtual Machine, acts as the intermediary between the CPU of the nodes that run the Ethereum blockchain and the smart contracts (pieces of code in solidity). EVM is responsible for interpreting the bytecode (compiled code) of smart contracts and, then, sending these instructions to the CPU in order for the CPU to execute them;

  • It also serves as a sandbox, which means that it protects the CPU from any kind of malicious code. In other words, everything that happens in Ethereum happens only in the EVM and has no power on CPU functions that is not supposed to have such as enabling your webcam or saving everything that you type on your keyboard.

  1. What is the format of the instructions that the EVM can read?
  • Bytecode.
  1. What is the relationship between the programming language Solidity and Bytecode?
  • Solidity is the language used to develop the smart contracts (programable instructions), which is compiled to bytecode so it can be read by the EVM.
  1. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
  • Because Bitcoin was designed to be digital gold. Its sole purpose is to transfer value P2P without the necessity of a third-party (banks or whatsoever). Because of that, its programming language (script) is very limited and is not Turing Complete.
  1. What is a Turing Complete programming language?
  • A Turing Complete Language is a language that is capable of performing computations in order to solve any kind of problem. They have logic structures such as conditional statements, loops, etc.

1 The Ethereum Virtual Machine (EVM) is a runtime environment for smart contracts in Ethereum. It is used to execute code and store data on the Ethereum blockchain.

2 The EVM can read instructions in the form of bytecode, which is a low-level language that is compiled from higher - level languages such as Solidity.

3 Solidity is a high-level programming language that is used to write smart contracts for the Ethereum blockchain. The code written in Solidity is then compiled into bytecode, which is the language that the Ethereum Virtual Machine (EVM) can read and execute.

4 Bitcoin is blockchain-based cryptocurrency that is designed to be a digital form of money. Ethereum, on the other hand, is a blockchain-based platform that is designed to run complex programs and applications. Bitcoin does not have the same capabilities as Ethereum, as it is not designed to run complex programs.

5 A Turing Complete programming language is a language that can be used to solve any computational problem, given enough time and memory. Examples of Turing Complete programming languages include Solidity., JavaScript, and Python.

  1. What does the EVM do?
    Running on top of the existing hardware, reads smart contracts, uses CPU/ GPU to make sure it doesn’t break loose and take over the computer. Which will compromise the blockchain and vulnerability’s of attackers

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

Byte code that can read the smart contract to execute final result.

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

Smart contract is written in solidity and compiled into a byte code that EVM reads and tells the CPU what to do with the smart contract.

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

Bitcoin uses script which is not turing complete and scalability issue. Ethereum uses complete turing and scalability.

  1. What is a Turing Complete programming language?

Allow the software to tell what to do with the program money on the smart contract.

  1. What does the EVM do?
    Ethereum Virtual Machine acts security filter from the cpu to the smart contract. It sends all action that are coming from the cpu to the smart contract.

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

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity writes codes for smart contracts then it is converted into byte code. That makes it where the EVM can read it.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin uses a different language than ethereum which is called script. Script is very limited compared to ethereum work load. Ethereum can run loops which doesn’t have a limit to it. Bitcoin cannot run an unlimited amount of loops which could bottle neck the blockchain

  5. What is a Turing Complete programming language?
    A language that has no limitation what could be coded into it.

  1. What does the EVM do?
    security before cpu
  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?
    solidity write it and then byte code its used for evm to read it
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    it uses diffrent language script etherem can do unlimited loops like bitcoin can do
  5. What is a Turing Complete programming language?
    no limitation for coding
o It reads and executes bytecode. This is executable by the computer itself. It also acts as security since it checks the code for any malicious intent. It basically checks the code and validates it.
What is the format of the instructions that the EVM can read?
o Byte Code. It is turing complete
What is the relationship between the programming language Solidity and Bytecode?
o Solidity makes it easier and readable for humans. Bytecode is executed and read by the computer itself. Solidity is complied onto bytecode.
Why can’t Bitcoin run the same type of complex programs like Ethereum can?
o Because it is not turing complete and only allows simple rules such as a multi-sig wallet.
What is a Turing Complete programming language?
o A language where you in theory can solve every mathematical problem with enough time.
  1. EVM is the Ethereum Virtual Machine that executes each transaction via isolated nodes. Each block has an individual EVM and reaches consensus once all nodes enter the same transaction.

  2. The EVM executes instructions “line by line”.

  3. Solidity is the programming language developed by Vitalik to interact with the Ethereum blockchain. The EVM turns Solidity into bytecode so that the computer can understand the instructions to execute. The computer doesn’t care about the programming language but it cares about the bytecode, so the EVM is the middleman between Solidity and Bytecode.

  4. Bitcoin has a programming language on Script but since the founder of Bitcoin did not want the network to get spammed, it limited the iterations or loops it would be able to do on the bitcoin blockchain. As a result, Vitalik created a different, more complex programming language that would interact with its own blockchain to develop complex applications on the Ethereum blockchain.

  5. The Turing Complete programming language is any language that is able to create “in theory” any application imagined. Unfortunately, in order to limit the number of iterations and loops that destroys blockchains, Vitalik created a language that would be costly to users because of the power needed to run these nodes and the gas fees associated with creating blocks.

  1. What does the EVM do? Read and execute smart contracts at each node. Contract is fully executed once all EVM at each node come to the same conclusion
  2. What is the format of the instructions that the EVM can read? Bytecodes
  3. What is the relationship between the programming language Solidity and Bytecode? EVM convert solidity language into bytecode so that the CPU can execute it
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? It was not designed for sophisticated programming in order to avoid congestion on the network
  5. What is a Turing Complete programming language? Language that can create any type of application
  1. EVM reads bytecode from the CPU initiated by a given programming language such as Solidity.
  2. Bytecode
  3. Bytecode is compiled machine readable language initiated by Solidity.
  4. The Bitcoin Blockchain can only track a single asset.
  5. A program that can perform iterative actions.
  • What does the EVM do?
    The Ethereum Virtual Machine (EVM) is a runtime environment that executes smart contracts on the Ethereum blockchain.

  • What is the format of the instructions that the EVM can read?
    The instructions that the Ethereum Virtual Machine (EVM) can read are in the form of bytecode, which is a low-level, machine-readable code that can be executed directly by the EVM.

  • What is the relationship between the programming language Solidity and Bytecode?
    Solidity is a high-level programming language that is used to write smart contracts for the Ethereum blockchain. When a Solidity program is compiled, it is translated into bytecode, which is a low-level, machine-readable code that can be executed by the Ethereum Virtual Machine (EVM).

  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin script is not a Turing complete programming language.

  • What is a Turing Complete programming language?
    A Turing-complete programming language is a language that can simulate any other programming language or computer system. In other words, a Turing-complete language is capable of expressing any algorithm that can be computed by a machine, given enough time and memory.

  1. The EVM (Ethereum Virtual Machine) is a virtual machine that executes code in the Ethereum blockchain. It is responsible for running smart contracts and decentralized applications (DApps) on the Ethereum network.
  2. The instructions that the EVM can read are in the form of bytecode. Bytecode is a low-level code that is a compiled form of a high-level programming language code.
  3. Solidity is a high-level programming language used for writing smart contracts on the Ethereum blockchain. When a Solidity program is compiled, it produces bytecode, which can then be executed by the EVM.
  4. Bitcoin’s scripting language is limited compared to Ethereum’s Solidity language, which allows for more complex programs to be written and executed on the Ethereum network.
  5. A Turing Complete programming language is a language that can simulate any Turing machine. In other words, it is a language that can compute anything that is computable. Solidity is an example of a Turing Complete programming language, as it can perform any computation that can be done on a Turing machine.
1 Like
  1. What does the EVM do?

    The EVM is an application running on each node on the network. The EVM can read and execute smart contracts, it reads the smart contracts and tells the CPU what to do. The EVM is there mainly for security reasons, it ensures that nothing malicious happens.

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

    The EVM reads instructions under the form of byte code.

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

    A smart contract is written in Solidity, then there is a compiler that compiles the instructions into byte code.

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

    Bitcoin has some kind of programmability called script, but it’s very limited. In particular, it doesn’t have the possibilty to create loops, which limits a lot the complexity of the programs that can be created.

  5. What is a Turing Complete programming language?

    A turing complete programming language has the possibility to have loops.

  1. What does the EVM do?
    Ethereum Virtual Machine (EVM) is a runtime environment that executes code on the Ethereum blockchain. It is a decentralized, Turing-complete virtual machine that enables the execution of smart contracts written in various programming languages, with Solidity being the most commonly used language.

  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 high-level, statically-typed programming language specifically designed for writing smart contracts on the Ethereum platform. It resembles JavaScript in its syntax and is the primary language used for developing smart contracts on Ethereum. When you write a smart contract in Solidity, it is compiled into bytecode, which is a low-level representation of the code that can be executed by the EVM. The EVM then runs this bytecode, executing the logic defined in the smart contract.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because Bitcoin’s programming language, Script AND IS NOT TURING

  5. What is a Turing Complete programming language

  6. A turing complete programming language is a programming language that’s so flexible that you can write whatever program you want on it. A non-turing complete programming language would be a programming language where you could only program applications that generated a website with a variable set colors, while a turing complete programming language would make you able to create the website from scratch yourself.

2 Likes

1. What does the EVM do?

EVM stands for ethereum virtual machine. The ETH network is basically a network of computers with many nodes in charge of distributing data through. The ethereum virtual machine is basically the computer that stands on the top of each node and stands between a computer’s CPU and the smart contract. Smart contract basically consists in a some lines of code, specifically Solidity. All of the nodes has his own version of the ethereum virtual machine. Each node of the network runs his version of this program (EVM) which is on top of each single node and uses his(EVM) Hardware and CPU power. And, the most important thing, is that is able to read and execute smart contracts.

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

Smart contract is written in Solidity code then compiled into bytecode, the language read by the EVM which can execute the instruction present in the smart contract.

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

As above, Smart contract is written in Solidity code then compiled into bytecode, the language read by the EVM which can execute the instruction present in the smart contract.

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

Since Bitcoin was programmed in script language, which is not Turing complete. That means that is not programmable as as a solidity, JavaScript or any other programming language. For example script language doesn’t have any kind of loop like solidity, so you can not programme any application or a software. The reason why the BTC programmers didn’t want any kind of let’s say smart contract, that can potentially increase the size of the block or the entire network keep in risk all the BTC ecosystem.

4. What is a Turing Complete programming language?

A Turing a complete language is basically a language can execute calculation, can perform loops and iterations End in general can be programmed.

2 Likes
  1. It does run evm byte code.
  2. EVM byte code.
  3. Solidity gets compiled to bytecode.
  4. Because script is not turing complete, it was not designed to be.
  5. A languange with theoretically you can build anything. It has any instruction you would need.
  1. What does the EVM do?
    Read and execute smart contracts

  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 programmer language that is sent to compiler and then to bytecode where it is read and executed by EVM

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    BTC uses Script language which is not a Turing language. Not a true and complete language

  5. What is a Turing Complete programming language?
    Language that can be used to compute any computable function including loops.

1 Like

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

  1. What does the EVM do?
    Makes ETH blockchain secure and reads smart contracts executing what ever is the instruction init. Its also the way to reach consencus network.
  2. What is the format of the instructions that the EVM can read?
    Its bite code.
  3. What is the relationship between the programming language Solidity and Bytecode? Solidity is relativ easy programming language that crates bite code from code that is writen in Solidity.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin uses Script language and its not Touring Complite, meaning-its werry limited in operations, just like a web1, for comparesant.
  5. What is a Turing Complete programming language. Its a Language witch gives teoreticly unlimited power to comunicate and use different kind of tools to tell the comouter what you want him to do.
1 Like
  1. The EVM is the Ethereum Virtual Machine, it is what executes smart contracts and interprets code while utilizing the resources of the CPUs and GPUs on the ethereum network of nodes/miners.
  2. The EVM can read Bytecode, which is programmed in a higher coding language called Solidity.
  3. Solidity and Bytecode both are both code languages, however Solidity is a higher-level language code typically readable by humans, while Bytecode is a computer readable language.
  4. Because Bitcoin does not run a Turing complete language which makes it incapable, at this point, of doing complex code.
  5. With a Turing complete programming language the boundaries are basically infinite as to what can be written, read and executed.
  1. What does the EVM do?
  • Ethereum Virtual Machine. It runs a top of Etheruem’s hardware and node architecture. It computes network state and run and compiles it into readable format called bytecode.
  1. What is the format of the instructions that the EVM can read?
  • Bytecode, which is compiled from Solidity
  1. What is the relationship between the programming language Solidity and Bytecode?
  • Solidity is a high level language written by developers while bytecode is the language readable by the CPU to execute the commands of the program
  1. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
  • The language upon which BTC is built is solidity. Meaning that it’s not Turing complete. Thus rendering it incapable of doing complex code
  1. What is a Turing Complete programming language?
  • To put it simply a Turing complete language is one that is capable of performing any and all tasks that the developer would like to accomplish.
1 Like