Homework on EVM

  1. What does the EVM do?

EVM acts as the buffer between the smart contract and the cpu in the network for security purposes. The cpu executes indirectly through EVM. EVM reads the smart contract and tells the cpu what to do.
2. 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?

A compiler is utilized to put Solidity into byte code for the EVM.
4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?

Bitcoin uses script which is primitive and limited. It is not turing complete.
5. What is a Turing Complete programming language?

Turing complete language incorporates loops and is not limited.

1 Like

1- Executes smart contracts to sed to cpu for action
2- Evm reads byte code
3- Solidity can be compiled to byte code for evm to read
4- Script is not Turing complete
5- Turing complete allows your to preform smart contracts on top of one another while interacting with eachother.

1 Like
  1. Evm executes the smart contracts rather than having it done on the cpu.
    2.evm bytecode
    3 smart contracts are written in solidity and the compiler translates into bytecode.
    4.bitcoins programming language is script which is not turimg complete. It’s not capable of solving the needed algorithms.
  2. Turing complete means it can solve complex algorithms and run loops
1 Like
  1. Ethirium Virtual Machine, it makes sure all smart contracts are solved the same way in the network , every node.

  2. byte code.

  3. solidity is the programing language used by programers to program smart contracts then solidity compiles it to bytecode ( solidity can interact with humans and byte code as translator does he understands both sides)

  4. because the creators of bitcoin wanted it to be like gold and chose to add non turing complete programing language which can do simple instructions.

  5. it means it can do all things theoritcaly it has lope options too

1 Like
  1. What does the EVM do?

An EVM reads the code of a smart contract and tells the CPU of each node to execute the code. EVM is created to prevent the dangers of the smart contract being run by the CPUs directly.

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

Solidity.

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

Bytecode is the compiler of Solidity.

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

Script language is not Turing Complete.

  1. What is a Turing Complete programming language?

A Turing Complete programming language can run complex commands/operations.

1 Like
  1. evm works as a security buffer between a smart contract and the executing cpu. it reads and checks the smart contract before forwarding it to the cpu.

  2. evm reads bytecode.

  3. solidity is language used to program the smart contract, which gets compiled to bytecode for the evm to read.

  4. bitcoin´s programming language doesn´t allow complex executions, it doesn´t support loops and is not turing complete.

  5. a turing complete programming language allows programming loops, logic into contracts and is theoretically able to solve complex mathematical problems.

1 Like

EVM reads and executes the instructions.

The format is in Bytecode.

Solidity is the language used to write the contract, Bytecode is language that solidity ,or other language , is converted to .

Bitcoin can’t be looped.

Turing Complete is a loop coded language .

1 Like

1: The EVM reads the instructions of smart contracts and tells the CPU to execute them.
2:The format of the instructions are in byte code.
3: Solidity is a high-level programming language that the smart contracts are written on, they are then compiled into byte code for the EVM to read.
4: Bitcoin is written on the programming language Script which is not turing complete, so it is limited in its programming capabilities. Ethereums programming language Solidity is turing complete so it can theoretically do anything you want it to do.
5: A turing complete programming language is able to make decisions, run loops, have access to infinite amounts of memory, etc. With the right programming skills, you can program just about anything through a turing complete language.

1 Like
  1. It reads the code from the program, verifies it and sends it to the CPU on the node. It also acts as a protective barrier between the code and the computer it’s operating on.

  2. EVM Bytecode. It’s what the Solidity programming language compiles into.

  3. Solidity is translated into Bytecode. EVM can only execute from the Bytecode format.

  4. Because Bitcoin uses a scripting language that is very limited. Ethereum uses a Turing complete language, Solidity.

  5. One that can run loops

1 Like

1.) The EVM (Ethereum Virtual Machine) is an application that runs on each node (on top of that nodes existing hardware resources (CPU, RAM, storage, etc.)) and makes it possible to execute smart contracts on the Ethereum network in such a way that all nodes agree on what the result of executing a particular contract should be. A smart contract is isolated from directly issuing instructions to a node’s CPU for security reasons - it protects the node and the network against malicious code.

2.) The EVM reads and executes instructions in a language called bytecode. The instructions are typically written by people in a language called Solidity.

3.) Solidity is the programming language humans use to write a set of instructions for a smart contract. Because the EVM cannot read Solidity, it requires a special application called a compiler to convert it into bytecode, the only language that the EVM understands.

4.) Bitcoin can’t run the same type of complex programs that Ethereum can because it uses a Turing-incomplete language called Script. Bitcoin developers did this intentionally because they didn’t want people spamming the network with infinite loops, which can be used to perform a DDoS attack on a network. Additionally, using a Turing-incomplete language saves valuable space on the blockchain. Bitcoin was designed to do one thing - be a currency and/or store of value, which it does very well because it runs on a less complicated programming language.

5.) A Turing-complete programming language is just a language with full programmability. On the technical level, it is a language that uses loops - a programming paradigm that allows a single piece of code to execute a specified number of times. This adds a huge amount of functionality to a language and greatly reduces the need to write the same piece of code more than once.

2 Likes

1.It makes it possible to execute smart contracts on every node
2. Bytecode
3. Solidity is translated into bytecode with the help of a compiler, this is needed because EVM can only read bytecode
4. Bitcoin is using “script” wich can only run limited/simple functions, it is not turing complete
5. It is a language that basically is “unlimited”, it allows you to program anything you would like

1 Like

1 It connects the nodes of a network, executes the instructions contained in the Smart Contract, and communicates them to the CPU.
2 Bytecode.
3 Solidity, or similar programs, write the instructions for smart contracts, this instructions are reeded by the EVM thanks to a compiler that convert the instructions in to Bytecode.
4 The Bitcoin’s scripts are very simple and limited right because BTC was designed to be only a currency, something like gold, digital gold.
5 A programming language with full programmability, without limit, and very versatile.

1 Like

1- EVM runs the code for ethereum in several CPU`s and executes smartcontracts.
2- Byte code
3- Solidity is the programming language used to write instructions that are compiled into bytecode and the read by the EVM.
4-Because Bitcoin uses a language called script that is turing incomplete, intended to be simple and with the objective of be currency or store of value.
5- TC is a language with full programmability and ability to use loops, which saves time and space.

1 Like
  1. What does the EVM do?

    It executes the program instructions in the network and makes it possible to reach consensus on what the final result should be.

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

    Although the programming language is initially different, EVM reads it in Bytecode format.

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

    Solidity is the original programming language, where the instructions and logic behind the program behaviour can be found. These instructions are compiled into Bytecode language for the EVM to read and execute them on to the network.

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

    Bitcoin was created with the purpose of being a digital currency and nothing else, so it would be harmful and counter-productive for it’s blockchain, in terms of time and resources, to have a complex programming language.

  5. What is a Turing Complete programming language?

    It’s a programming language with no application restrictions. In theory, it allows for anything to be programmed.

1 Like
  1. What does the EVM do?
  • Controls smart contracts, preventing the smart contract from taking over 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 compiles codes and produces bytecodes in which EVM reads. Bytecodes can be generated by other programing language as well such as Viper.
  1. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
  • Script, the programming language of bitcoin, is not turing complete whereas Solidity is turing complete.
  1. What is a Turing Complete programming language?
  • Turing complete programming language can create complex instructions.
1 Like

1. What does the EVM do?
EVM runs the smart contract code. EVM encapsulates smart contract so it cannot run any code on the host computer/node.

2. What is the format of the instructions that the EVM can read?
Byte code that compiled from a programming language.

3. What is the relationship between the programming language Solidity and Bytecode?
Code written in Solidity will be compiled to the byte code.

4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoins programming language script is not a Turing complete language, which cannot be used for more complex operations.

4. What is a Turing Complete programming language?
A Turing Complete language is one that can perform any computations.

1 Like
  1. What does the EVM do?
    EVM uses the hardware of a connected to the network machine (PC) in order to run Smart Contracts on it. It is also used as consensus algorithm for Ethereum blockchain.

  2. What is the format of the instructions that the EVM can read?
    EVM reads Smart Contracts written in soliditity or Viper programming languages.

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is the programming language that through the compiler is converted to Bytecode.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Script (the programming language Bitcoin uses) is not turing complete. Script is a programming language that doesn’t allow to accept input dynamically and it only stores/appears subjects that are written on it.

  5. What is a Turing Complete programming language?
    Turing Complete are the programming languages that are able to follow the rules that the algorithm has set to produce an outcome.

1 Like
  1. What does the EVM do?

Pass instructions to CPU to get computations doen

  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 compiled into bytecode so that CPU can process instructions in bytecode

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

Because Bitcoin is not turing complete, for instance Bitcoin does not have loops

  1. What is a Turing Complete programming language?

Is a languaje where you can program any well posed problem.

1 Like
  1. The EVM makes it possible for us to execute code on the Ethereum network in such a way that we’re all in consensus about what the result should be.

  2. The format is EVM byte code.

  3. The programming language solidity will compile the logic and instructions it has gathered from a smart contract down to byte code for the EVM to read.

  4. Bitcoin can’t do this because its programming language (Script) is very primitive and not Turing complete so it wouldn’t be able to solve all the problems it might have.

  5. A Turing complete language is something like Solidity for example that is fully programmable.

1 Like
  1. What does the EVM do?

It reads and verifies the instruction of smart contracts and tells the CEPU to execute them.

  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 programming language used to write a set of instructions for a smart contract. A special application called a compiler covert it into bytecode, the only language that the EVM understands.

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

Because Bitcoin uses a very limited language ‘script’, which can only run simple fuctions.

  1. What is a Turing Complete programming language?

A Turing Complete programming language is able to run loops and make decisions.

1 Like