Homework on EVM

  • 1 The EVM reads a smart contract, makes sure there is nothing malicious going on with it and instructs the CPU on what to process and how to process it
  • 2 The format is called bytecode
  • 3 Smart cotracts are programmed in Solidity and then translated into bytecode which can be read by the EVM
  • 4 Because Bitcoin is using “Script” as a programming language, which is not Turing Complete. It is not possible to program complex instructions witch Script.
    Other than that the Bitcoin blockchain is not made to strore and execute large and complex smart contracts.
  • 5 A Turing Complete programming language is able to compute all functions a Turing Machine is able to. I hope and think that means universal programmability.:slight_smile:
1 Like
  1. The EVM reads a smart contract before having the CPU execute the contract in order to protect the CPU from malicious content.
  2. The EVM can read bytecode.
  3. Solidity is the language programmers write in and then it is compiled into bytecode for the EVM to understand.
  4. Bitcoin does not use a Turing complete programming language.
  5. A Turing complete programming language like Solidity would allow loops of a program to be run over and over. Anything that you can think of making theoretically is possible with a TC programming language.
1 Like
  1. Execute programming instructions in a smart contract
  2. Byte code
  3. Programming codes written in Solidity need to be compiled into byte code for the EVM
  4. Bitcoin programming script is not Turing complete and to prevent block sizes
  5. Ability to write any programmable instructions and run it including loops
1 Like
  1. What does the EVM do?
    Executes smart contract codes
  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?
    you can create Bytecode in ethereum’s programming language, which is called solidity.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin is not turning complete, but Ethereum is touring complete.
  5. What is a Turing Complete programming language?
    Turing complete languages can be further programmable, there are more programming opportunities in them.
1 Like
  1. The EVM (Ethereum virtual machine) is an application running on all the nodes which can read the smart contract and thell the CPU what to do.
  2. EVM runs in a isolate program to protect the smart contract from any malicious codes.
  3. A smart contract is developed with solidity program then transformed into bytecode so that the EVM can execute the instruction.
  4. The BTC program is limited.
  5. TCPL is very versatile and a programmer can develop what they want.
1 Like
  1. EVM is a virtual machine that runs on top of every Ethereum node. Its function is to execute a smartcontract (originaly written in solidity language) in bytecode.
  2. Bytecode
  3. Solidity is a high level language, what makes it easy to developers to write a smart contract. However, it has to be compiled to bytecode (machine language) so the EVM can execute it.
  4. BItcoin is written in a limited language that prevents attakers willing to spam the network, also it keeps the blockchain smaller and makes bitcoin a simple concept. As a side effect, there is no way to create smart contracts.
  5. A complete programing language that allows a set of tolls to code a whole softwere.
1 Like
  1. What does the EVM do?
    executes code on the host machine

  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 is the programming language that gets compiled into bytecode for exucution

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

  5. What is a Turing Complete programming language?
    a language that can perform complex calculations and is very dynamic and capable

1 Like

EVM (Ethereum Virtual Machine) runs on the top of each node in the Ethereum network and makes it possible to execute code on the network in the way that all of the nodes are in consensus of what the result should be. It can read and execute a smart contract. It tells the CPU what to do.

EVM Bytecode.

Solidity is a programming language that is compiled through the compiler into the bytecode that EVM can read.

Because the Script language is not Turing complete. It’s very limited.

Turing complete means you are able to program anything you can think of.

2 Likes
  • What does the EVM do?
    The EVM is a piece of code that all computers in the Ethereum network will run in order to read and execute smart contracts and communicate with the CPU
  • What is the format of the instructions that the EVM can read?
    Bytecode
  • What is the relationship between the programming language Solidity and Bytecode?
    Bytecode is the outcome of the information that was input into solidity
  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin is not Turing complete
  • What is a Turing Complete programming language?
    Turing complete language is the ability to read any computing language in there is, non Turing complete is not capable of reading all computing languages and is limited to specific computing languages.
2 Likes
  1. The Ethereum Virtual Machine serves as an intermediary between a smart contract and the hardware of the computers on the network that execute it.

  2. Bytecode

  3. Bytecode is the code used by the EVM. Solidity is a code that programmers use to write programs which they can then translate into Bytecode to be executed by the EVM.

  4. Script, the programming language of Bitcoin, is not as complex and can facilitate much fewer functions than can Solidity, the programming language of Ethereum.

  5. A Turing Complete programming language is a programming language that is able to be used create a wide variety of programs, in contrast with a simpler language. Solidity is a Turing Complete language wheras Script is not.

1 Like
  1. The EVM controls the execution of the program or smart contract. It then instructs the CPU of the computer to carry out the program.
  2. The EVM can read the program instructions using SOLIDITY.
  3. The Bytecode in the Ethereum smart contract is read by Solidity using the compiler.
  4. Bitcoin cannot run the same smart contracts because it is not Turin complete and cannot carry out complex calculations/processes.
  5. A Turin Complete programming language is one that can carry out dynamic and complex actions such as loops and reiterations.
1 Like
  1. the EVM is a piece of code that executes the code of the smart contracts running on Eth network
  2. EVM is a Turing Complete virtual machine, executing smart contracts built with Solidity
  3. Solidity code is translated into Bytecode by the EVM which then send instructions to nodes which carry on the Bytecode
  4. Bitcoin is NOT Turing Complete, it can execute some commands but it can’t run complex code.
  5. Turing Complete is if machine A can simulate machine B then, it is Turing Complete, meaning, it can be used to solve complex problems and code.
1 Like
  1. What does the EVM do?
    EVM reads smart contracts and tells the CPU what to do. It makes it possible to execute code on the network in a way that consensus can be met.

  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?
    Smart contracts can be written in Solidity, then a compiler will turn it into bytecode for the EVM to read & process.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because it uses Script as its programming languae which is not turing complete.

  5. What is a Turing Complete programming language?
    A language that can solve all possible problems it comes across and allows for loops in the program.

1 Like
  1. What does the EVM do?
    = Evm reads and executes smart contracts and does not allow it to interact directly with the 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?
    = Smart contracts are written in solidity and turned it to bytecode using a compiler.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    = Bitcoin uses script which is not a tc language.
  5. What is a Turing Complete programming language?
    = A tc programming language can solve all problems like creating loops. e.g- Solidity
1 Like
  1. The EVM (Ethereum Virtual Machine) enables users to execute code on the ETH network in such a way that we are all in consensus about what the end result should be. Ultimately, the EVM is a piece of code that all of the ETH network computers are running. The EVM can read and execute a smart contract’s instructions and subsequently inform the CPU about what needs to be done (e.g. releasing locked funds). After finding the end result, each EVM on the ETH network will need to find the same result so as to achieve consensus.

  2. The format of the instructions that the EVM can read are in Byte code. Although smart contracts are usually written in Solidity by developers, the code will be compiled (or translated) into Byte code so that the EVM can interpret and execute it.

  3. Whereas ETH developers initially write smart contracts using Solidity (a programming language that is similar to JavaScript), they subsequently use an application called Compile in order to translate the code into Bytecode (a type of code that can be understood by the EVM). Given that the EVM acts as a translator of sorts, there is room for additional ETH programming languages (such as Viper).

  4. Bitcoin can’t run the same type of complex programs as Ethereum primarily because of the different programming languages. BTC only has a very simple programming language (Script) that is not Turing Complete. In contrast, Solidity is a Turing Complete programming language that enables developers to program virtually anything that they can think of. When ETH functionalities were first proposed to the BTC network, these were rejected because of fear of spam and increased blockchain storage size (due to smart contract storage). Ultimately, BTC’s value stems from its simplicity: it is a digital money (or gold).

  5. A Turing Complete programming language is one that can solve all of the mathematical problems that it might (hypothetically) have to solve. In other words, a Turing Complete programming language is incredibly extensive in terms of its capacity to translate ideas into code. Furthermore, Turing Complete programming languages have loops that allow programmers to instruct software to do one thing several times over (i.e. repeated tasks). Without loops, all instructions would have to be written (even if such instructions are repetitions).

3 Likes
  1. What does the EVM do?
    Ethereum virtual machine execute smart contracts on top of the CPU

  2. What is the format of the instructions that the EVM can read?
    Solidity and Viper gets translated into byte code that EVM can read

  3. What is the relationship between the programming language Solidity and Bytecode?
    Both interacts with EVM

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Script the language that BTC uses in not Turing complete, so cannot solve all applications or problems

  5. What is a Turing Complete programming language?
    Solidity or Viper

1 Like
  1. EVM (Ethereum Virtual Machine) is a small piece of code that is running on every node.

  2. Bytecode

  3. Solidity is complied into bytecode, and then it can be read by the EVM.

  4. Because Bitcoin is not turing complete. Bitcoin is using a program called script, which is very limited and can’t solve all the problems that it might have to solve.

  5. It means that it allows you to solve any complex problem. It also allows loops, which is a feature that allows a programer to do one thing several times.

1 Like
  1. The EVM reads byte code and executes it in a virtual environment that is separate from the computers CPU. It is designed this way for security purposes.

  2. EVM reads byte code

  3. The relationship is indirect because what is written in Solidity must be compiled into byte code in order for the EVM to read and execute the instructions.

  4. Bitcoin runs on a Script which is limited in its programmable abilities.

  5. A turing complete language implies that the programming language is fully functional and can solve any problem it may come across. It has features like loops for example where Script does not.

1 Like
  1. The EVM - Ethereum virtual machine is a “virtual computer” that runs on the ethereum block chain. Every node must run a copy of the EVM. The EVM reads and executes smart contracts. Each node uses the EVM to process a smart contract. Consensus is reached if each node gets the same result from processing a smart contract.

  2. EMV processes smart contracts that are executable code in Bytecode.

  3. Solidity is a programming language (English like) that programmers use to produce source code. The source code must then be compiled into Bytecode, which is the executable code.

  4. Bitcoin does not have the equivalent of the EVM, and cannot run Turing complete programs.

  5. A Turing Complete program that can perform any computation. It is a defined standard.

1 Like
  1. EVM executes smart contract on top of node. EVM ensures nothing malicious happens on node.

  2. EVM can read Bytecode. This is like assembly language or machine language that humans cannot read or write (easily).

  3. Bytecode is a compiled version of Solidity.

  4. Bitcoin is written in script which is not turing complete language. It can only run very simple programs such as getting signatures from multiple people to verify a transaction. No if statements, no while loops, no class, therefore, it is very limited.

  5. Turing complete programming language has all the logical functionality that most high-level programming languages have. For example, if statements, for loops, class, and so on.

1 Like