Homework on EVM

  1. What does the EVM do?
  • The EVM protects the ethereum network from malicious code in smart contracts.
  1. What is the format of the instructions that the EVM can read?
  • Solidity coding language converted into Bytecode
  1. What is the relationship between the programming language Solidity and Bytecode?
  • Solidity is converted into Bytecode using a compiler
  1. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
  • Bitcoins script language does not support Loops as it is not a Turning Complete language. This is to protect against spamming or other malicious attacks.
  1. What is a Turing Complete programming language?
  • A Turning Complete language can solve any type of mathematical problem. Almost all modern coding languages are Turning Complete.
1 Like
  1. It encapsulates the smart contract and executed the code in the contract.

  2. Byte code

  3. Smart contracts are written in Solidity and before the smart contract is getting stored in a block it will be compiled tot byte code so that later in the EVM van interpret it.

  4. Because the programming language script on Bitcoin is not turing complete.

  5. It’s a language where you can write loops.

2 Likes
  1. What does the EVM do?

EVM reads the Solidity code that all smart contracts are written in and converts it into a readable and executable code for a CPU to use.

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

Solidity, although Viper was mentioned as an up-and-coming language.

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

Solidity is converted by EVM into Bytecode. They both contain the same instructions, but Bytecode can be read by and executed by a CPU.

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

The developers of Bitcoin chose not to allow smart contracts onto their block chain.

  1. What is a Turing Complete programming language?

A Turing Complete programming language can solve any problem programmatically. In comparison, Scrip (Bitcoin programming language) is not turing complete and cannot use certain functions such as the loop function.

2 Likes
  1. The EVM (Ethereum Virtual Machine) executes smart contracts and serves as a buffer between the network and the CPUs of the nodes that are maintaining the network.

  2. The EVM can read byte code sourced from Solidity.

  3. Solidity is a human-readable programming language, which is later converted to byte code so that the EVM can read and execute the program.

  4. Bitcoin could’ve been developed to have more functionality, but the Bitcoin community didn’t want any “spam” on their network slowing things down. Currently, Bitcoin runs a on a script that is not Turing complete.

  5. A Turing-complete programming language is one that can theoretically solve for any problem due to its ability to create loops as many times as you need.

2 Likes
  1. computers that broadcast and communicate with each other.
  2. byte code
  3. solidity takes written instruction and turns it into byte code for EVM to read.
  4. it’s not a Turing complete language and cannot solve all of the problems that it may need to
  5. it is a programming language that allows it to solve all the problems that it needs to and to run loops to help do that
2 Likes
  1. It runs the code from the smart contracts in a safe environment.

  2. Bytecode.

  3. Smart contracts are written by developers in Solidity which then get translated into machine readable bytecode by a compiler.

  4. Because the script language of Bitcoin is not Turing Complete, while Solidity is.

  5. It is a programming language that allows you to program anything you can think of.

2 Likes
  1. What does the EVM do?
    EVM handles smart contracts for the CPU on each node to encapsulate it.
  2. What is the format of the instructions that the EVM can read?
    It can read EVM byte code
  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is a programming language that compiles into evm byte code
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    It doesn’t have a Turing complete language. Instead, it has Script that can implement basic logic on the blockchain.
  5. What is a Turing Complete programming language?
    A language that can perform operations that can solve any problem that the Turing machine can. Turing complete languages have loops that allow them to perform functions multiple times.
1 Like
  1. What does the EVM do?
  • It executes bytecodes produced by the solodity compiler on the nodes of an etherium network, and;

  • It provides a layer between the nodes’ computer hardware and the code being executed, providing a secure environment, less likely to be spammed or hacked.

  1. What is the format of the instructions that the EVM can read?
  • bytecodes.
  1. What is the relationship between the programming language Solidity and Bytecode?
  • solidity is readable like english - a smart contract - to be compiled to bytecode to run on the EVM.
  1. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
  • The Bitcoin network runs script (not a true programming language). It is not Turing complete; hence, there are problems that can not be solved using script. Although, it can handle a multi segwit wallet.
  1. What is a Turing Complete programming language?
  • It can solve all problems. It has loop constructs and a state machine.
1 Like
  1. EVM is a virtual machine. It runs smart contracts on the ethereum network. It also has a security layer to make sure that no malicious activity would take place within the smart contract and ultimately on the nodes.

  2. EVM can read bytecode. Solidity is the most common compiler in this regard.

  3. Solidity is a programming language compiller that compiles byte code for the EVM to read.

  4. Bitcoin runs on Script - a non-turing complete program. On the other hand, Ethereum is capable of solving any problems it might encounter within the smart program.

  5. It is a language that can perform any operations and solve any problem that a Turing machine can. It has loops that allows the instructions to be performed several times without “spamming” the network.

1 Like

1. What does the EVM do?
Ethereum Virtual Machines are apps running on nodes in the ETH network.
They read and execute smart contracts.
2. What is the format of the instructions that the EVM can read?
Instructions for the EVMs are written in Bytecode.
3. What is the relationship between the programming language Solidity and Bytecode?
Smart Contracts that are written in Solidity needs to be compiled to Bytecode, because the EVM can only read Bytecode.
4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Because Bitcoin uses the Script programming language which is not a Turing Complete programming language.
5. What is a Turing Complete programming language?
In a Turing Complete programming language you can theoretically code anything you can imagine and also implement loops.

2 Likes
  1. What does the EVM do?
  • EVM (Ethereum Virtual Machine) is a piece of code running all nodes/computers within the Ethereum network that can be used to execute smart contracts.
  1. What is the format of the instructions that the EVM can read?
    -Byte Code.

  2. What is the relationship between the programming language Solidity and Bytecode?
    -Solidy is the program that can create and execute smart contracts and bytecode is all of the compiled information that the EVM reads.

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

  • Bitcoin has programming language call Scrypt but is very limited and more focused around signing transactions and using bitcoin as a currency. The scripting language is “not turning complete” and does not handle smart contracts nor can not run loops like Ethereum can.
  1. What is a Turing Complete programming language?
    -Turing complete language allows you to solve complex problems and utilize loops to program continuous actions.
2 Likes
  1. What does the EVM do?
    The EVM reads the byte code and lets the CPU execute it.
  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?
    Your solidity code will compime to byte code
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin is not turing complete. Which means it is limitied in what it can do
  5. What is a Turing Complete programming language?
    A programming language is Turing complete if you can implement any possible algorithm with it.
2 Likes

1: EVM reads the Byte code from the smart contract to execute the code from the programming language.

2: Byte Code is the format EVM reads.

3: The relationship is that solidity is a Turing complete and you can compiler your program into Byte code so the EVM can read it.

4: They use a basic programming language called Script and it is not a Turing complete language.

5: This means you can program anything you want.

3 Likes

1 What does the EVM do?
The Ethereum Virtual Machine reads and exectues Smart Contracts deployed to the Ethereum blockchain. It uses the Gas Price and Gas to power the transactions submitted to the network. Every transaction must include a Gas Price and Gas limit otherwise it will be considered invalid
2. What is the format of the instructions that the EVM can read?
Source code for the EVM can be written in Solidity or Viper
3. What is the relationship between the programming language Solidity and Bytecode?
Solidity is human readeable code whereas Bytecode is a set of instructions that the EVM can interpret and execute. Solidity is compiled down to Bytecode by the Solidity compiler so that it can be deployed and run within the EVM.
4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin uses Script which is a language that is not Turing complete. As such it does not have more advanced programming constructs like loops and conditional branching which Solidity does.
4. What is a Turing Complete programming language?
Colloquially Turing Complete languages are languages that have emerged over the last 40 years that enable advanced programming techniques like conditional branching and be able to manipulate any number of data elements in memory.

2 Likes
  1. An Ethereum Virtual Machine reads and executes smart contracts.

  2. It can read byte code.

  3. Solidity is compiled into bytecode.

  4. Ethereum is built on Solidity which is turing complete.

  5. A turing complete language allows you to program more complex stuff.

3 Likes
  1. What does the EVM do?

Reads byte code in order to execute smart contracts on the blockchain 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 translated to byte code by compiler.

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

Bitcoin is not Turing Complete.

  1. What is a Turing Complete programming language?

A programming language which allows for loops and other complex algorithms.

2 Likes
  1. EVM reads the smart contract instructions and direct it to the CPU

  2. Bytecode

  3. Solidity is the programming language that then needs to be compiled into Bytecode for EVM to read

  4. Because Bitcoin is not a Turing complete language

  5. A Turing complete language allows you to program anything theoretically.

1 Like

1- EVM makes possible to read and execute code in Ethereum network in such a way that all have a consensus on how it should be the result.
2- EVM doesn’t care about the language, it only cares about BYTECODE
3- Solidity is the program that creates and executes smart contracts. Bytecode is all the information that EVM reads.
4- Bitcoin uses script language, which is a not Turing complete programming language.
5- In a Turing complete programming language you can (in theory) code anything you can imagine and implement loops.

1 Like
  1. The Ethereum Virtual Machine is an application on all of the Ethereum nodes that can read the smart contracts.
  2. The EVM can read instructions in Bytecode.
  3. Solidity is a programming language that can be converted into Bytecode.
  4. Bitcoin cant run the same type of complex programs like Etherem can because it is not a Turing Complete Language. Bitcoin didnt want that because they wanted to be free of spam and the time spending that the Loops in the TCL would be able to make possible.
  5. A TCL is a programming language with all of its normal features, including Loops.
2 Likes

EVM is Ethereum’s second layer software program run on all nodes to encapsulate a smart contract to read and help the CPU execute the instructions for the smart contract in an unstoppable, transparent, and secure manner.

EVM can read instructions in Bytecode.

Solidity compiles the instructions into Bytecode to be read by the CPU for processing smart contracts.

Bitcoin has a limited programming language that is not secure for smart contracts. The language is not Turing Complete, which opens the blockchain to a possible spam risk.

Solidity is a good example of Turing Complete software, using loops, it runs instructions in loops to promote security throughout the network of nodes running. These loops are difficult for hackers to recreate and or pass off a spam risk in the consensus reaching process.

2 Likes