Homework on EVM

  1. What does the EVM do?

Answer: The ethereum virtual machine is an application that runs on all nodes, executing the smart contract and gives instructions to the cpu.

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

Answer: bytecode

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

Answer: solidity translate your code to bytecode

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

Answer: the bitcoin script is not turing complete what means it is very limited.

  1. What is a Turing Complete programming language?

Answer: a turning complete language has loops what means as the name implies you can write a code that will automatically execute when a certain thing happens

1 Like
  1. What does the EVM do?
    Ethereum Virtual Machine interprets and executes smart contracts
  2. What is the format of the instructions that the EVM can read?
    EVM is isolated from local computer. Running in a virtual or sandbox environment to protect network operators from malicious code.
  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is the programming languages for smart contracts on Ethereum. The EVM receives the instructions of these smart contracts in the form of Bytecode
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    The “script” code is not full TC. Its basic code with limited capabilties
  5. What is a Turing Complete programming language?
    Code that can handle any scanario.
1 Like

EVM is executing smart contracts and providing security by not letting code be executed directly by CPUs of computers in the network.

EVM can read EVM Bytecode.

After finishing writing a program in Solidity you compile it to bytecode so EVM can read it.

Because Bitcoin programming language Script is not Turing complete

It is a programming language that you can theoretically use to program anything you want

1 Like
  1. What does the EMV do?

    EMV is running all the nodes and tells CPU what to do. It protects CPU from malicious instructions.

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

The instructions are in bytecode format.

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

Solidity is a programming language that when compiled its format is bytecode.

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

Bitcoin uses very primitive language Script and is meant to be a coin.

  1. What is Turing Complete programming language.

Turing Complete programming language has loops,
loops do commands several times.
Solidity is an example of Turing Complete programming language.

2 Likes

1. What does the EVM do?

The EVM helps interact with the smart contract and reach consensus. It does this with your CPU but doesn’t interact your CPU and smart contract directly it works between the two to help security.

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

EVM Bytecode

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

Bytecode is what language write the instructions of the smart code and Solidity is the language that interacts with the EVM bytecode.

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

Because it is not a turing complete language

5. What is a Turing Complete programming language?

A programmable language that you can pretty much programme to do anything. Loops included unlike simple Script which is used in Bitcoin.

1 Like
  1. EVM = Ethereum Virtual Machine. It reads the smart contract and executes them (with help from cpu).
  2. Bytecode
  3. We (people) use the programming language Solidity to write de orders down. The compiler translates in Bytecode. The bytecode reads then the EVM (language between computers)
  4. Because it is not turing complete
  5. A turing complete language can theoretically do everything with the smart contracts or programms what we want.
1 Like
  1. EVM: reads code and execute contracts.
  2. EVM BYTE CODE (SOLIDITY)
  3. With solidity you can program basically anything (in theory) and bytecode will read and execute what is programmed on etherium blockchain.
    4.Bitcoin is not turing complete, that is why you cannot program or create other applications.
  4. A language that allows you to program and execute instructions.
1 Like
  1. What does the EVM do?

The EVM, or Ethereum Virtual Machine, executes code on the ethereum blockchain. It sits on top of the CPUs of the nodes, meaning that it is not executed on the CPU itself. This protects the CPUs from malicious activity and also protects the blockchain from attacks from computers on the network.

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

EVM reads Bytecode.

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

Programming on Ethereum is done in Solidity, a programming language like Javascript. This is then compiled and converted to Bytecode, so it be read by the Ethereal blockchain.

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

Bitcoin is not a Turing Complete Language, and can’t execute complex commands e.g. loops. It is capable of basic commands like multisig. In any case, Bitcoin was not conceived of as a forum for smart contracts, but a currency/store of value; there could be issues with block size and prone to spam if more complex code were to be introduced.

  1. What is a Turing Complete programming language?

A Turing Complete programming language is a language that can solve any computational problem.

2 Likes
  1. What does the EVM do?
    The EVM is a layer on top of the CPU that processes the Bytecode of a 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?
    Solidity is compiled to Bytecode

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin has a separate (and simple) programming language, but it is very basic and not Turing Complete.

  5. What is a Turing Complete programming language?
    In theory you can write code to do anything you can think of with a Turing Complete language

1 Like
  1. What does the EVM do? The EVM reads the Byte code of the smart contract, executes the commands and produces a result.
  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? the programming language is a tool to help developers write code, it is then submitted to a compiler which turns that language into bytecode - like a translator.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? the programming language on Bitcoin is not turing complete, this was purposeful decision to ensure that the BTC network could not get spammed with complicated contracts, that would also take up blockspace.
  5. What is a Turing Complete programming language? this is a programming language that allows the user to program anything they can think of, an important feature of this is loops, which can be used to tell a program to execute a specific part of the code multiple times.
2 Likes
  1. What does the EVM do?
    Makes it possible to execute code on the blockchain network. Miners are in consensus about what the result should be.
  2. What is the format of the instructions that the EVM can read?
    EVMBytecode
  3. What is the relationship between the programming language Solidity and Bytecode?
    A compiler is used to take Solidity’s code and compile its logic, instructions and turn it into Bytecode.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin code language is Script. Conditions cannot be coded with Script due to its limitations.
  5. What is a Turing Complete programming language?
    Solidity is a turing complete language. In theory an engineer can code anything they want.
2 Likes
  1. The Ethereum Virtual Machine is a piece of code that all the CPUs in the network are running. It reads and executes smart contracts. It tells the CPU what to do.
  2. Byte Code
  3. There is a special application called compiler which takes solidity code and compiles it into Byte Code, which is what the EVM reads and executes.
  4. Bitcoin developers wanted to avoid spam in the blockchain and having to increase block size.
  5. Refers to a language that given enough time and memory along with the necessary instructions , can solve any computational problem, no matter how complex.
2 Likes

1. What does the EVM do?
• EVM stands for Ethereum Virtual Machine. It interprets the byte code and executes the smart contracts on each node.
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 which smart contracts are written in on the Ethereum platform, developers then submitted the code to a compiler which turns it into byte code.
4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
• Bitcoins programming language Script is not turing complete which does not allow for smart contract functionality.
5. What is a Turing Complete programming language?
In theory, a turing complete programming language allows developers to program anything they can possibly imagine.

1 Like

Homework on EVM - Questions (Updated on Dec 3 2019)

  1. What does the EVM do?
    -The EVM reads and executes smart contracts and gives instructions to the CPU.

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

  3. What is the relationship between the programming language Solidity and Bytecode?
    -The relationship is the compilation … the initial instructions are written in solidity , through a special application (compiler) wich compiles the instructions to Bytecode , which makes it possible for the EVM to read and execute the instructions .

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    -Bitcoin cannot run complex programs because it is written in script , script is not Touring Complete ! Very limited

  5. What is a Turing Complete programming language?
    -A Touring complete programming language enables a program to do anything you want it to, it contains loops which can be important in certain situations .

1 Like

1.The EVM ( Ethereum Virtual Machine) is a piece of code ran by all nodes in the Ethereum network that can execute Smart Contracts. Every node must run it to get the same result which provides consensus.
2. EVM reads byte code format
3. Smart contracts are written in solidity programming language.
Smart contracts run through a compiler which creates Bytecode. Solidity programmes in bytecode so the EVM could read it/understand the commands.
4.Bitcoin cannot run the same type of complex programs like Ethereum can simply because the programming language of bitcoin is script. Bitcoin does not have a turing complete language ,as a result , it cannot programme any type of application.
Whereas Ethereums solidity programming language is a turing complete language. This allows for ethereum to programme any type of dapps on the ethereum network.
5.A turing complete programming language is a programming language that completes whatever it is told to do. It is capable of performing any logical computational function. Solidity programming language is a turing complete programming language.

1 Like
  1. EVM is a Virtual machine that can turn smart contracts into byto Code and run them. It is also like a Security Layer, preventing malicious data comming through.

  2. Byte Code

  3. Solidity is a programming language similar to JavaScript. The EVM can turn this Code into byte Code to read it.

  4. Bitcoin is not Turing Complete, Ethereum is. Turing complete means that you can program everything you can imagine.

1 Like
  1. EVM communicates smart contracts to CPUs

  2. Byte code

  3. Solidity compiles readable language into bytecode

  4. Bitcoin runs on script, which is not Turing Complete. It cannot solve all problems.

  5. One that can solve all problems. Solidity is TC

2 Likes
  1. The EVM (Etherium Virtual Machine) can run smart contracts. Its purpose is to prevent smart contracts to being executed on the node’s or miner’s hardware directly. Which could create vulnerability to attack. It is a sandbox for smart contracts, providing a layer of security to the nodes. A kind of middleman/ protector.

  2. The EVM reads Bytecode, it does not care what language the smart contract was written as it only interacts with the byte code.

  3. ‘Solidity’ is the programming language for smart contracts on Ethereum.
    The EVM receives the instructions from these smart contracts in the form of Bytecode.

  4. While Bitcoin has a programming language, it cannot handle any complex instructions, because it uses a Turing incomplete language. It is a more primitive blockchain code.

  5. It is a language that can be used to create a plethora of programs. In fact any conceivable programming idea.

2 Likes

What does the EVM do?
Even encapsulates the smart contract while reading the contracts script. It then relays the script to the nodes cpu’s for confirmation.
What is the format of the instructions that the EVM can read?
The EVM reads byte code. At the time of this video the byte code was written with Solidity.
What is the relationship between the programming language Solidity and Bytecode?
You use Solidity to write the code, then it is transferred into byte code which can be read by the EVM.
Why can’t Bitcoin run the same type of complex programs like Ethereum can?
BTC was meant to be simple to prevent spamming and slowing down the network. BTC is thought of as digital currency or gold. Not a smart contract execution tool.
What is a Turing Complete programming language?
A language that is capable of executing any computational function.

2 Likes
  1. The EVM or Ethereum Virtual Machine is a piece of code that all of the CPUs in the ethereum blockchian are running and the EVM allows the nodes to both read and execute the smart contracts
  2. The format that the EVM can read is called the EVM Bytecode.
  3. Solidity is the base language use to code ethereum smart contracts and when put through a compiler you get the evm bytecode which can be read by the evms.
  4. Bitcoin runs on a basic script language and it is not touring complete meaning it cannot solve all the problems it may need to program smart contracts.
  5. A Touring Complete language is a complete coding language that can do any sort of logical executable action.
1 Like