Homework on EVM

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

Quite close sir, but Solidity is the programming language that you use to create/design smart contracts, after that, it will be compiled into ByteCode, so the format of the instructions that EVM reads is Bytecode.

If you have any more questions, please let us know so we can help you! :slight_smile:

Carlos Z.

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

  1. What does the EVM do?
    It improve the portability of software, as well as to make sure applications are separated from
    each other, and separated from their host.
  2. What is the format of the instructions that the EVM can read?
    EVM uses a set of instructions called OPCODES to execute specific tasks.
  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is a statically-typed programming language designed for developing smart contracts that
    run on the EVM. Solidity is compiled to bytecode that is executable on the Ethereum Virtual
    Machine.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin Script is a simple, stack-based programming language that enables the processing of
    transactions on the Bitcoin blockchain.

With its own complex programming language, Ethereum makes it possible for blockchain
technology to be many applications , that means applications that aren’t money-related. And it
allows for more complex smart contracts to be implemented.
5. What is a Turing Complete programming language?
Turing Complete refers to a machine that, given enough time and memory along with the
necessary instructions, can solve any computational problem, no matter how complex. The term
is normally used to describe modern programming languages as most of them are Turing
Complete (C++, Python, JavaScript, etc.).

1 Like
  1. What does the EVM do? The EVM is an application that reads and executes smart contracts. The EVM is a piece of code that all the network nodes are running and maintain a copy of in order to achieve consensus.
  2. What is the format of the instructions that the EVM can read? The format that is read in is Bytecode
  3. What is the relationship between the programming language Solidity and Bytecode? Solidity would be used to construct the smart contract with instructions which will be in bytecode. The Solidity code uses a compiler that compiles the logic and instructions given down to bytecode. The EVM from there would read the instructions to run successfully.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? Bitcoin uses the Script programming language which is very limited and is not Turing complete.
  5. What is a Turing Complete programming language?A Turing Complete language allow programmers to program anything with no restrictions. Turing Complete have loops, and these loops are a feature that allows a programmer to tell the software to do something several times.
1 Like
  1. What does the EVM do?,
    EVM, Ethereum Virtual Machines are present on every node. They are the ones that analyse the smart contracts and will decide to accept them or not.

  2. What is the format of the instructions that the EVM can read?
    This is what I was going to answer “EVM can read solidity” but not being sure I cheated and I guess EVM read byte code compiled from a language such as solidity (thank you jelucamur

  3. What is the relationship between the programming language Solidity and Bytecode?
    Had to review again before answering. So the contract in written in a language like solidity but to be understood by the EVM, it will be compiled into byte code.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin is written in Script which is not a Turing Complete program so is limited. However Ethereum is written in Solidity which is a Turing Complete Program.

  5. What is a Turing Complete programming language?
    A non Turing Complete program cannot solved problems that normal programming can solve. So a Turing Complete Program, can solve all kinds of math problems so you can program what you want.

1 Like
  1. What does the EVM do?
    It takes the bytecode of smart contracts and runs it in each node of the ethereum network.

  2. 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 a language that compiles smart contract code into bytecode for the EVM to run it

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

Because script is not a turning complete language, loops are not allowed

  1. What is a Turing Complete programming language?

One that can accomplish any task given the correct instructions, enough time and resources (processing power)

1 Like
  1. its a virtual machine installed at all the nodes. It can read the smart contracts byte code and execute it.

  2. It can read byte code

  3. Solidity code can be compiled into byte code which can be executed by the EVM

  4. Because the bitcoin protocol is setup differently. If smart contracts like the ones in ethereum would be executed and put on the bitcoin blockchain there would be big scalability problems as the bitcoin network block growth is very small. This is way too much data for btc protocol

  5. A programming language in which you can do practically anything you want.

1 Like
  1. The Ethereum Virtual Machine (EVM) is a software/environment that acts as a middle layer between the smart contracts and the CPU. Running the smart contracts directly by the CPU increases the risk of malware spreading through the Ethereum network. The Solidity code in the smart contracts is compiled into byte code, and then fed into the EVM, who in turn sends the instructions to the CPU to be executed.
  2. The EVM can only read byte code. Therefore, the code in programming languages (like Solidity) first need to be compiled to be understood by the EVM.
  3. The relationship between the programming language Solidity and Bytecode is that Solidity is a high level programming language that gets compiled into bytecode that can be run by a processor.
  4. Bitcoin cannot run the same type of complex programs like Ethereum can because its programming language, Script, is not a Turing-complete language. This means for example that Script cannot utilize loops, like Ethereum’s programming language, Solidity can.
  5. A Turing complete programming language is a programming language with functionalities which allow you to program literally everything (no restrictions).
1 Like

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

  1. What does the EVM do?

Read the instructions in the smart contract and send the instructions tot the cpu

  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 code we write in, bytecode is the same code but then compiled to be executable code for the EVM

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

Because it uses other “programming” language (script)

  1. What is a Turing Complete programming language?

Turing complete is able to solve any (math) problem

1 Like
  1. EVM is an application that runs on the hardware of each computer of the network on top of the blockchain program. It reads and executes smart contracts.
  2. It will read the instructions written in Solidity ( or another language ) and compile them in EVM byte code
  3. Bitcoin is not Turing complete
  4. A Turing complete language means you can program any instructions you want
1 Like
What does the EVM do?

The Ethereum Virtual Machine acts as a layer on top of the CPU of each node it interacts with to execute smart contracts.

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

The EVM can read instructions in Bytecode

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

Solidity is used on the ETH network, which then goes through a compiler and gets converted into Bytecode. The EVM can read and interact with the CPU to execute smart contracts.

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

Because Script is not a Turing complete language and is limited.

What is a Turing Complete programming language?

A programming language where anything imaginable can be built and is limitless.
1 Like
  1. What deos the EVM do?
    EVM read and execute the smart contract. It is an Apllication running on all the nodes and executing smart contract and give instruction to CPU for security. Have access to the resources of all computers solidity.
  2. What is the format of the instructions that EVM can read?
    Programmable java script - called solidity, bytecode, Viper
  3. What is the relationship between the programming language solidity and byte code?
    Solidity is compiled to bytecode that is executable on EVM.
  4. What can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin on Vitalik Script Not Turing Complete. ETH is complete 100% scalability and designed to be much more than a payment system that runs smart contract.
  5. What is Turing Complete programming language?
    Java, c++, pascal, cobal
    Turing Complete write on an infinite piece of tape paterns of Zeros and 1. Limitless programmable machine.
1 Like
  1. What does the EVM do?
    EVM makes it possible to exit code on the ethereum network in a way that we are all in consensus
    about what the result should be.
  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 we write in and byte code is the same code but compiled to be
    executable.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    because the bitcoins programming language is not capable of doing the same things as the
    ethereum programming language
  5. What is a Turing Complete programming language?
    if a programing language is Turing complete you can program any instructions you want.
1 Like
  1. What does the EVM do?
    The Ethereum Virtual Machine acts as an isolated, singular computing environment across the Ethereum network. This virtual computer processes transactions and smart contracts for the users on the network.

  2. What is the format of the instructions that the EVM can read?
    What happens in the virtual machine, stays in the virtual machine. Nodes supply the computing power for the Ethereum network, the virtual machine ensures that network functions stay isolated in that environment and don’t spill over to other computing components of the nodes’ hardware.

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is a programming language, bytecode is the format in which the virtual machine receives applications. A compiler will take the Solidity coding and turn it into bytecode for the EVM to run.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin code does not contain all of the logical operators to be a Turing Complete language. Therefore, Bitcoin is not capable of performing certain functions.

  5. What is a Turing Complete programming language?
    In my own terms, a Turing Complete programming language can express any mathematical function.

1 Like

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

Correct sir, but that is part of the process of what EVM does, not the format.
The format of the instructions that EVM read is ByteCode.

If you have any more questions, please let us know so we can help you! :slight_smile:

Carlos Z.

1 Like
  1. EVM is a program running on the computers on the network that can read, verify and execute smart contracts as the third party security so a contract cant be executed directly from CPU

2.EVM byte code

3.solidity translates into bytecode after it compiles

  1. Because bitcoin runs on script and cant perform as complex data transactions

  2. TC language can program anything and has loop ability

1 Like
  1. What does the EVM do?
    The EVM (ethereum virtual machine) is running on top of the ethereum blockchain. In the EVM smart contract are executed. Just line transactions on the main ethereum smart contract has to be checked by multiple nodes to be excecuted.

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

  3. What is the relationship between the programming language Solidity and Bytecode?
    The smartcontracts are written in Solidity. But the EVM can not read this. Through a compiler the smart contract in Solidity is transformed into bytecode. The bytecode is readable for the EVM so he can executed te contract.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin code is not Turing complete.

  5. What is a Turing Complete programming language?
    A turning complete programming language is a non-restricted programming language. You can code really everything you want.

1 Like
  1. It runs the smart contracts and protects the hardware from malicious smart contracts
  2. Bytecode
  3. Solidity programmed smart contracts are transformed by a compiler into Bytecode
  4. They a primitive programming options that is not Turing Complete. i.e. It does not support loops.
  5. It means you can program anything you want
1 Like

The Ethereum Virtual Machine acts as an intermediary between a nodes CPU and a smart contract. It can execute whatever is programmed into the contract using the network as a means of consensus and providing a virtual environment for decentralized execution.

The format of the instructions the EVM can read are EVM Bytecode.

The relationship between Solidity and Bytecode is that of an interpreter. Solidity is a readable language that will compile the code into Bytecode to execute in the EVM.

Bitcoin is not able to run complex programs like Ethereum as it is not Turing complete.

A Turing complete programming language would be solidity, python, javascript, etc. A language in which you can loop or program anything you can think of.

1 Like
  1. ETH‘s virtual machine (EVM) is used to incapsulate the program for security reasons. So the code can’t take over the CPU. The program is not executing directly on CPU.
  2. The format is called bytecode.
  3. On Ethereum the program language is Solidity which gets compiled to byte code.
  4. With its language Script there are limitations for programming e.g. no loops for smart contracts can be programmed.
  5. A language that allows complex programming including loops.
1 Like
  1. What does the EVM do?
    Ethereum Virtual Machine (EVM) executes the smart contract codes it gets or reads from the language that writes the code.

  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 bytecode is the end instruction that can be compile on a platform called Solidity which in turns is readable by EVM to execute.

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

  5. What is a Turing Complete programming language?
    A turing complete programming language is a language that can execute so many function and loop at the same time to make the language so versatile in it’s operation.

1 Like