Homework on EVM

Q1. What does the EVM do?

A1. An EVM (Etherium Virtual Machine) is a virtual environment that runs on top of each nodes CPU to execute Smart Contract code.

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

A2. EVM Bytecode

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

A3. Bytecode is a complied version of the Solidity (source) code.

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

A4. Bitcoin uses the Script language which is not a “Turin Complete” language - i.e. is a primitive programming language and cannot handle/process complex level tasks.

Q5. What is a Turing Complete programming language?

A5. A Turing Complete programming language can solve any computational problem irrespective of how complex it is.

1 Like
  1. What does the EVM do?
    EVM reads smart contract to let CPU execute it. EVM is present on every NODE. EVM is used to achieve consensus. EVM also checks SC for malicious activities to provide security.
  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?
    Code from Solidity is compiled to Byte code which is then written in SC.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because Bitcoin is not turing complete language. Its designed to be digital currency(gold) only. Using “simple” codes to avoid spam and scalability problems as much as possible.
  5. What is a Turing Complete programming language?
    A programming language that allows to code anything.
1 Like
  1. The EVM is some code that is on each node of the Ethereum network that reads and executes the code in the smart contracts. This is a security measure to prevent malicious code taking over the CPU of the network nodes.

  2. EVM reads bytecode.

  3. Solidity is used by programmers to write the code which is then compiled to bytecode so that the EVM can read and execute it.

  4. Bitcoin cannot run the same complex programs as Ethereum because Bitcoin’s code, script, is not Turing Complete. This is intentional as the developers did not want bitcoin to be anything more than a digital currency.

  5. A Turing Complete programming language can execute advanced functions such as loops or conditional branching. Most modern programming languages are Turing Complete.

1 Like
  1. What does the EVM do?
    EVM execute the code, the instructions of the smart contract in each computer of the network where it has to obtain the same result to obtain consensus.

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

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

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because bitcoin has a different programming language that call Scripts. It is a simple programming language that can allow you to do simple programs like a multi sing wallet. Bitcoin is only useful to move money.

  5. What is a Turing Complete programming language?
    It allow you to program everything you want.

1 Like

What does the EVM do?
It runs the smart contracts and segregates them from running directly on 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?
Solidity is a high level language that will get compiled into bytecode for the EVM to run. The smart contracts are written in Solidity, and then compiled into bytecode.

Why can’t Bitcoin run the same type of complex programs like Ethereum can?
It’s language, Script, is a very basic and rudimentary language designed to only do a very few things. It is not a Turing Complete language like Solidity is.

What is a Turing Complete programming language?
It is a language that is capable of running any type of program that can consist of variables and loops, among other constructs and data structures.

1 Like
  1. What does the EVM do? Etherium Virtual Machine helps protect the comoputers that runs nodes from melisious attaches from code run on 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 programming language that talks to Bytecode
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? It uses a more basic programming language (Script) which doesn’t allow commands like programming loops
  5. What is a Turing Complete programming language? Turing is a more evolved programming language that allows for complex programming to occur on the blockchain
1 Like
  1. What does the EVM do ?
    EVM reads and executes smart contracts. EVM tells the network of cpu’s what to execute in a way that all cpu’s are in concensus of what the result should be. EVM makes sure cpu cannot highjack the ethereum blockchain with malicious smart contracts.
  2. What is the format of the instructions that the EVM can read?
    The EVM application runs on top of the cpu computer hardware of nodes.
  3. What is the relationship between the programming language Solidity and Bytecode?
    EVM uses the Solidity or Viper code compilers to turn logic into bytecode.
  4. Why can’t Bitcoin run on the same type of complex programs like Ethereum can?
    Bitcoin runs on Script, which is not turing complete, meaning it has limited logic.
  5. What is a Turing Complete programing language?
    Turing Complete language can do anything you want. It has loops that can execute code over and over and over as many times as smart contract wants.

1. What does the EVM do?
a. EVM - Ethereum Virtual Machine reads smart contracts and instructs the CPU to execute.
i. Nodes that want to read smart contracts will run EVM
b. Acts as a bridge to the CPU
i. Increase security; ensure no malicious executions from happening
c. EVM will read in byte code; Smart contract created in Solidity; Compiler will compile the logic and instructions to bytecode

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

3. What is the relationship between the programming language Solidity and Bytecode?
a. Solidity is the programming language; language code is written in
b. Solidity code is compiled to bytecode
c. EVM reads the bytecode

4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
a. Ethereums programming language; Solidity is considered Turing Complete (TC)
b. Bitcoins programming language; Script is Not Turing Complete (NTC)
c. TC language contains loops; instructions to repeat a process several times
i. Allows more complex instructions to be created, read and executed
d. Scripts language is considered rudimentary and basic; cannot handle complex tasks.

5. What is a Turing Complete programming language?
a. Turing Complete programming language can execute complex tasks; contains loops;
b. Unlimited programmability; No limitations in terms if code is creatable; only limited by other factors (Maybe hardware and such to execute)

1 Like

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

Quite close sir, but 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. EVM is the Ethereum Virtual Machine that that uses hardware from an Ethereum node’s CPU to read and execute a smart contract on the Ethereum network.
  2. An EVM reads the bytecode of a smart contract.
  3. Solidity is a programming language that takes code and uses a complier to translate it into Bytecode.
  4. BTC can run simple code but the more complex code Ethereum is capable of. The difference is that Ethereum’s program language is described as Turing complete while Bitcoin’s code is not.
  5. Some examples of A Turing complete programming language is a language that can make decisions based on variables and that can loop actions as needed.
1 Like
  1. What does the EVM do?

Read and execute smart contracts and compiled into Bytecode and give instruction to the CPU what to do with it and reach to the same result on all nodes.

  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 a programing language that is similar to JavaScript. The programmers write their code on solidity and use an application called compiler to compile the code to Bytecode.

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

The script language on Bitcoin is not Turing complete (very limited and doesn’t solve all problems that needs to be solved).

  1. What is a Turing Complete programming language?

Touring complete is a script language that you can program anything you think of using a programing language called loops (theoretically).

1 Like
  1. What does the EVM do?
    EVM acts as a CPU in that EVM runs a set of instructions step-by-step that is then sent and verified to the ETH network
  2. What is the format of the instructions that the EVM can read?
    Bytecode- Solidity and Viper
  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is a language that compiled into Bytecode
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    This is because Bitcoin is not turing complete
  5. What is a Turing Complete programming language?
    Solidity is one turing complete programming language. You can do loops in turing complete programming languages.
1 Like
  1. The EVM runs on the systems current hardware and creats a shell enviroment to run programs on the ethereum network.

  2. Bitecode

  3. Solidity is the read/writeable way to run bitecode

  4. The networks language “script” is not turing complete

  5. A language that can solve any problem

1 Like
  1. What does the EVM do?
    The EVM allows smart contracts (programmable instructions, apps, money) to be executed on the blockchain while maintaining consensus between nodes, miners, and the network.

  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 language that smart contracts are written in, a compiler is used to translate the solidity in to byte code EVM reads the byte code and instructs the hardware.

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

  5. What is a Turing Complete programming language?
    Turing Complete language can solve complex issues/tasks.

1 Like

1 EVM is the Ethereum Virtual Machine which is run on every node and can read and execute smart contracts
2 The EVM runs in a seperate program, not directly in the CPU, in orer to protect it from malicious code
3 solidity code is transford through a compiler to bytecode, something which can be read by the EVM
4 Bitcoin wants to be a straightforward method of payment or store of value, not a platform where people can build all kind of applications on top
5 A turing complete language can do all calculations necessary to solve any problem. Bitcoin doenst have it, Ethereum does

1 Like
  • What does the EVM do?
    EVM - Ethereum Virtual Machine, present on every node, executes compiled smart contract

  • What is the format of the instructions that the EVM can read?
    EVM reads byte code

  • What is the relationship between the programming language Solidity and Bytecode?
    Solidity is a high level language used by developers, then this language is compiled to byte code (understandable by machines)

  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    in case of Bitcoin, developers use the language Script, which is not Turing complete, it means limited options for creating programs

  • What is a Turing Complete programming language?
    this type of language allows to write programs that solve any complex problem

1 Like
  1. What does the EVM do?
    The Ethereum Virtual Machine works as an intermediary between nodes and code on the smart contracts. Its a security layer to protect against malicious attacks
  2. What is the format of the instructions that the EVM can read?
    EVM uses bytecode
  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is the coding language an application called compiler consolidates the code in bytecode
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Script is not Turning complete. Advanced programs can´t be written on script
  5. What is a Turing Complete programming language?
    Unless it´s illogical in it´s conclusion anything can be programmed
1 Like
  1. What does the EVM do?
  • secure the network, execute the smart contracts and gives instructions to CPU of node.
  1. What is the format of the instructions that the EVM can read?
  • EVM byte code
  1. What is the relationship between the programming language Solidity and Bytecode?
  • Solidity is compiled to bytecode that is executable on the EVM
  1. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
  • it can harm the whole process and meaning of the BTC - like you would be able to spam the network
  1. What is a Turing Complete programming language?
  • it is a languague where you can program anything you want
1 Like
  1. Ethereum Virtual Machine - Sets up a computer inside a computer to run scripts or solidity. The computer inside a computer is to isolate the scripts into their own bubble. This is done for security and efficiency.

  2. Bytecode which is compiled Solidity and eventually compiled Viper.

  3. The programing language is human readable and the Bytecode is computer readable.

  4. Because the Bitcoin developers have not enhanced Bitcoin to run a programing language.

  5. Turing completeness

In computability theory, a system of data-manipulation rules is said to be Turing-complete or computationally universal if it can be used to simulate any Turing machine. This means that this system is able to recognize or decide other data-manipulation rule sets. Wikipedia

1 Like

[quote=“filip, post:1, topic:8443”]

  • What does the EVM do?
    EVM is the Ethereum virtual machine that runs on each node. It reads the smart contracts, determines the next action and instructs 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?
    Solidity is the programming language that developers use to write smart contracts. A compiler then translates that code into bytecode for the EVM to read

  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin does not use Turing complete code and therefore cannot solve all problems. It was never designed with the intention of solving complex algorithms and instead it is seen as a digital form of gold.

  • What is a Turing Complete programming language?
    A Turing complete programming language can be used to solve any problem that can be thought of

1 Like