Homework on EVM

  • What does the EVM do?
    EVM is a piece of code that can read and execute smart contracts on the Ethereum Network.

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

  • What is the relationship between the programming language Solidity and Bytecode?
    Solidity is the programming language which is compiled to create the byte code for execution by all EVM nodes within the Ethereum Network.

  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin does not use a turing complete programming language. Bitcoin is meant to be digital gold, not a smart contract.

  • What is a Turing Complete programming language?
    Any programming language that has no limits or complexity to what it can program computationally universal.

1 Like
  1. EVM stands for the Ethereum Virtual Machine. Developers can can create smart contracts or dapps and the EVM executes these programs.

  2. The EVM reads byte code, which is compiled Solidity code.

  3. Solidity is a language with a syntax similar to JavaScript. Developers use it to create dapps and smart contracts. This code when compiled becomes bytecode which the Ethereum Virtual Machine reads and executes.

  4. Bitcoin does not have a turing complete programming language. It has a language called script which allows developers to create simple programs, such as a wallet that must be signed by multiple users to approve a transaction.

  5. A turing complete language is a full featured programming language that in theory allows you to create any program you want.

1 Like
  1. EVM is a piece of code, an application, that can read and execute smart contracts. It tells the computer cpu what to do.

  2. The format of the instructions that EVM can read is called Byte Code.

  3. The relationship between Solidity and byte code is that Solidity compiles the byte code that the EVM reads and executes.

  4. Bitcoin is not able to run complex programs like Ethereum because it is not Turing Complete. It is not able to solve every problem it may need to solve.

  5. Turing Complete programming language means it can be used to run any algorithm and solve any computation problem.

1 Like

1 The EVM is the Ethereum virtual machine that executes smart contracts
2 Byte code
3 The Solidity code is compiled into Bytecode
4 Because Bitcoin’s script language is not Turing Complete
5 The Turing Complete is a complete programing language that can do anything

1 Like
  1. What does the EVM do?
    The EVM executes the code for the smart contracts. The nodes within the network use an EVM so that smart contracts don’t have direct access to the node’s CPUs, protecting them from potentially malicious content. The EVM ensures the smart contract code remains isolated while they still able to use CPU processing power of the nodes indirectly.

  2. What is the format of the instructions that the EVM can read?
    Bytecode – the smart contract code must be compiled to bytecode or EVM won’t be able to read.

  3. What is the relationship between the programming language Solidity and Bytecode?
    Smart contracts for ethereum can be written in Solidity, which is a programming language. Once the solidity code is compiled, it is converted to bytecode, which can be read by EVM.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin’s programming language is script - which was limited on purpose and by design. The idea behind this was to ensure bitcoin didn’t get bogged down with a lot of complex logic which could slow down the network. Ethereum on the other hand - was created to include more logic than was allowed in BTC through use of smart contracts.

  5. What is a Turing Complete programming language?
    A language where any mathematical formula can be programmed.

1 Like
  1. What does the EVM do?
    EVM is a program present on every ethereum node that reads a smart contract and then instructs its computer CPU to execute the smart contract

  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?
    The EVM reads byte code to execute the smart contract but the programming of the smart contract is done in the programming language, Solidity, which compiles the information into bytecode

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoins’ programming language, script, is far more simple than Ethereums Solidity, making it more limited in functions that it can provide. It is not Turing complete.

  5. What is a Turing Complete programming language?
    It is a programing language where you can in theory program anything you want

1 Like

What does the EVM do?

  • The EVM executes EVM bytecode to run smart contracts usually coded in Solidity.
  • The EVM maintains consensus of the smart contract results across the network.
  • The EVM ensures that malicious code cannot be run on the node CPUs directly.

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

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

  • Solidity is a language syntactically similar to JavaScript which is compiled down to EVM bytecode
  • This resultant bytecode is what the EVM executes

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

  • Bitcoin’s scripting language is not turing complete
  • Bitcoin is not designed to run smart contracts and hence does not have the space per block to store smart contracts.

What is a Turing Complete programming language?
A Turing Complete language can execute instructions in loops, which Bitcoin’s Script cannot

1 Like
  1. EVM is the Ethereum Virtual Machine and creates an environment to run smart contracts.
  2. Solidity
  3. Bytecode is the compiler for Solidity
  4. Bitcoin does not run Turing Complete language
  5. One that has loops.
1 Like
  1. What does the EVM do?
    Runs the code in the 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 the human-readable code. Bytecode is the compiled version that the EVM understands and runs.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Script programming language is not turing complete and also the smart contract code would not fit in bitcoins small blocks.

  5. What is a Turing Complete programming language?
    One that can do anything that the programmer can imagine.

1 Like
  1. What does the EVM do? It instructs the CPU of the node to execute the smart contract
  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 similar to Javascript but the compiler converts this into a byte code for EVM to read and execute the smart contract
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? The bitcoin language scripts is not turing complete therefore cannot perform all functions and actions. It is limited in its functionality by design
  5. What is a Turing Complete programming language? It is a complete program which can perform all types of instructtions e.g loops etc.
1 Like
  1. The evm is a piece of software that runs on a node which reads the smart contract and sends the information to the CPU to be processed.
  2. Solidity
  3. The evm takes in the solidity code from the network then processes it and sends the byte code to the CPU
    4 it is not Turing complete.
    5 a turing complete software can solve all problems needed to run the application
1 Like
  1. What does the EVM do?

EVM, which also stands for Ethereum Virtual Machine, reads and executes all smart contracts on the Ethereum network.

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

Byte code

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

Solidity is compiled of bytecode and this bytecode is used by the EVM to run the smart contract.

  1. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because on the bitcoin network, its written in script and so this inhibits the network from only being able to conduct static processes (such as transactions, multi signature wallets) and to some extent these count as smart contracts but only an appropriate name for them would be primitive smart contracts but with Ethereum, the nature of the programming language (solidity) allows for smart contracts that can change state and so it’s obvious to see how this is a network that could allow for any dynamic task to take place.

  2. What is a Turing Complete programming language?

What this is really is that it allows for loops to be done on the smart contracts or any task really, solidity is an example of a Turing complete programming language. And this is not only restricted to loops any computational problem can be solved using a turing complete programming language because of the nature of the dynamic tasks that are made possible with for dynamic programming.

1 Like
  1. The EVM executes a program that has been compiled into byte code to run on the EVM
  2. byte code
  3. solidity is compiled into byte code
  4. because bitcoin is not turing complete
  5. It is a language that can be used to solve any problem programmatically
1 Like

EVM is the Ethereum virtual machine and it isolates, reads and executes smart contracts through nodes, to reach consensus

  1. The format of the instructions are read in byte code.

  2. A compiler translates solidity into byte code so EVM can translate it.

  3. BTC is simple and its purpose is to focus on transactions not complex programmable smart contracts and to avoid inefficient sizes and speed of its block generation.

  4. These are scripting languages where Turing is complex language (ETH) whereas non-turing is more simple language to complete simple tasks such as multi-sig which is programmable to BTC’s protocol.

1 Like
  1. What does the EVM do?
    It’s virtual machines that run smart contracts on the ETH BC

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

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity translate your code in Bytecode.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because bc doesn’t allow loops on the blockchain. It doesn’t run a Turing Commplete programming language.

  5. What is a Turing Complete programming language?
    A programming language that allows loops.

1 Like
  1. What does the EVM do?
    The EVM is a piece of code that runs on all computers on the Ethereum blockchain. It reads and executes smart contracts.

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

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is compiled into Bytecode for the EVM to read and execute.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin’s Script language is not Turing complete and therefore cannot be used for programming smart contracts.

  5. What is a Turing Complete programming language?
    A Turing complete programming language can be used to perform any mathematical calculation.

1 Like
  1. EVM stands for etherium virtual machine and it is what executes smart contracts.
  2. Solidty programming language
  3. Solidty is the programming language that developers can use to create contracts dapps etc. The solidity code is then compiled into bytecode which the EVM executes
  4. Bitcoins programming language is not turing complete
  5. Turing complete means it is a programming language which any mathmatical formula can be programmed ie it can do anything
1 Like

1.- EVM is an application that run on all the nodes of the Ethereum network executing all the smart contracts and creating at the same time a extra protection layer to each node.

2.-EVM reads the format Byte Code.

3.- Solidity is the language were every smart contract are normally written but Solidity compile the information on Byte Code so the EVM can read and execute it.

4.- Because Bitcoin is Turing Incomplete by design this means that Bitcoin has some restrictions that prevent it from solving all kind of computation problem.

5.- Is any language that can develop any kind of application or solve any problem it can take some time if its complex but at the end will be solved in theory.

1 Like
  1. The EVM executes code from smart contracts.
  2. The format of the instructions that the EVM can read is Bytecode.
  3. Solidity is compiled into Bytecode.
  4. Bitcoin can’t run the same type of complex programs like Ethereum because Bitcoin’s programming language is not a Turing Complete.
  5. A Turing Complete language is a language that can be programmed to solve any problem, in theory.
1 Like
  1. Ethereum Virtual Machine allows developers to create decentrallized applications on the blockchain

  2. The EVM reads Bytecode

  3. Solidity is understandable by humans and programmers whereas Bytecode is understood by the blockchain network

  4. Bitcoin prioritizes security over utility

  5. A turing complete program could be used to theoretically solve any problem

1 Like