Homework on EVM

  1. EVM is a virtual machine to run smart contracts on the nodes in the network. The EVM ensures that no malicious activity is happening in a smart contract, and is like a security layer for the network.

  2. The EVM reads byte code.

  3. Solidity is compiled into byte code using a compiler, and the byte code then runs (through the EVM) on the CPU of a node, just like every other programming language.

  4. Because Bitcoin’s programming language, Script, is not turing complete.

  5. A turing complete programming language is a programming language that’s so flexible that you can write whatever program you want on it. A non-turing complete programming language would be a programming language where you could only program applications that generated a website with a variable set colors, while a turing complete programming language would make you able to create the website from scratch yourself.

2 Likes

1.the EVM will act like a middle man for the CPU so instead of the CPU reading the smart contract The EVM will tell the CPU what the smart contract says which isolates the smart contracts from the from the CPU
2. EVM reads byte code
3. smart contracts are written is solidity then the compiler turns it to bytecode and EVM reads the bytecode
4.because the script is not a turing complete language
5.a turing complete language is where you can put anything in a smart contract

1 Like

1 O EVM é o mecanismo utilizado para garantir a segurança dos nodes.Os smart contracts são executados num ambiente controlado para que não tenham acesso direto ao CPU do node, então o EVM funciona como uma aplicação que intermedia a execução programação do smart contract para a CPU do node.

2 Bytecode

3 A Solidity é a linguagem de programação utilizado nos smart contracts da Ethereum e o bytecode é a compilação dessa linguagem

4 Pois o Bitcoin não foi criado com esse propósito e não existe interesse da comunidade e dos desenvolvedores em modificar isso. A linguagem de programação do Bitcoin não possui as funções necessárias para executar as mesmas funções do Ethereum e isso é proposital, pois a blockchain do Bitcoin tem as características necessárias pra suprir suas funções conceituais.

5 É uma linguagem de programação capaz de executar funções avançadas necessárias a uma aplicação.

1 Like
  1. Ethereum Virtual Machine. Reads the instructions of the smart contract and protects the cpu from malicious content.
    2.The evm reads byte code.
    3.Solidity is the language for ethereum.
    4.Bitcoin cant handle complex instructions.
  2. Solidity and viper are turing complete and they can solve more complex problems in coding.
1 Like

1- Ethereum Virtual Machine. It is the operating system to run smart contracts.
2- Solidiy language.
3- Solidity programs compiled into bycode to run on EVM.
4- Bitcoin is not turing complete. It can only do simple tasks like multi-sig wallet setup. However, the bitcoin is written using C++ which is a turing complete language. I believe the smart contract feature could be added to Bitcoin but they want to keep Bitcoin as a currency and simple protocol.
5- It is a language that allows to call other programs and manipulate them.

1 Like

1. What does the EVM do?
Ethereum Virtual Machines (EVMs) execute the smart contract thus separating the CPU from the programming code to improve Ethereum blockchain network security.

2. What is the format of the instructions that the EVM can read?
EVMs execute byte code complied from programming languages written in Solidity or Viper"

3. What is the relationship between the programming language Solidity and Bytecode?
Solidity is the programming language which is complied to create the byte code for execution by ALL EVM nodes within the Ethereum blockchain network.

4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin includes a Java script language which can only perform basic instructions, and so is not “Turing Complete”.

5. What is a Turing Complete programming language?
A programming language which can be scaled to perform any programming task through the deployment of recursive loops which are not available within the bitcoin blockchain network.

1 Like
  1. The EVM reads a smart contract before having the CPU execute the contract in order to protect the CPU from malicious content.
  2. The EVM can read bytecode.
  3. Solidity is the language programmers write in and then it is compiled into bytecode for the EVM to understand.
  4. Bitcoin does not use a Turing complete programming language.
  5. A Turing complete programming language like Solidity would allow loops of a program to be run over and over. Anything that you can think of making theoretically is possible with a TC programming language.
2 Likes
  1. What does the EVM do?
    The EVM is an application that is running on top of the existing hardware in the nodes - The EVM uses the CPU - The EVM can read and execute smart contracts. It takes instructions from the smart contracts, it does the calculations, then it tells the CPU of the computer what to do. The smart contract is written in SOLIDITY - The EVM translates the smart contract SOLIDITY code into BYTE code - the BYTE code is sent through the CPU, and after the code is executed onto the CPUS and it will reach some kind of result.
  1. The format of the instructions that the EVM can read is SOLIDITY.

  2. The relationship between the programming language SOLIDITY and BYTECODE is as follows: SOLIDITY is the programming language that is used on the Etherium Blockchain - it is TURING COMPLETE which means that you can use it to program almost anything - this is what makes the money that is held in smart contracts programmable - the Byte code is the programming language of Bitcoin - it is a simple language that is not Turing complete - the SOLIDITY code is translated into Byte code by the EVM and sent to the nodes via the CPU - and the nodes then carry out the instructions in BYTE code.

  3. Bitcoin can’t run the same kind of complex programs like Etherium can because it is run on Bytecode, which is not Turing complete.

  4. A Turing Complete programming language has complete prograability, it has scripting, and developers have the opportunity to create anything they want on top of Etherium. In theory, you can do anything you want with a Turing Complete programming language. A Turing Complete language has ‘Loops’ which are feature of a programming language, that allows you to do one thing several times - this is useful in a smart contract because it reduces the need to write all the instructions by hand - and you might need to to use looping to change a state in your smart contract where the are variables.

3 Likes

1.What does the EVM do?

EVM is a pice of code that all the computers in the network are running and the network need to have the same result.

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 programing language like JS, which then compile to Bytecode in order to EVM to read it.

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

Because the developers think that it will lead to huge spam on the network, and they think of it as digital gold and they do not want to overload the network.

5.What is a Turing Complete programming language?

It is a language that can solve all the problems.

1 Like

1. What does the EVM do?

It reads and interprets the smart contract and gives instructions to the CPU based on that.

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

It can read Bytecode.

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

Solidity translates the code written on it into bytecode that an EVM can understand.

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

Because it’s programming language Script is not touring complete.

5. What is a Turing Complete programming language?

It helps to program everything we can think of.

2 Likes
  1. What does the EVM do?

An EVM executes script in a smart contract.

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

It can read Bytecode

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

The relationship is, Solidity will translate the code using a compiler into Bytecode so the EVM can read it…

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

Because its not Turing complete programming language.

  1. What is a Turing Complete programming language?

Any programming language that has no limits or complexity to what it can program computationally universal.

1 Like
  1. The EVM is a piece of code which is executed on all computers in the network. It is used to execute the smart contracts and passes on the instructions to the CPU.

  2. Bytecode

  3. Solidity is the Syntax used to create the smartcontract. This is translated by a compiler to Bytecode which can be executed by the EVM.

  4. The programming language on Bitcoin is not touring complete (does not allow for loops). The Developers where fearing clogging up of the network if someone would create programs with too many loops or even worse an infinity loop. Due to this loops are not part of the programming language available on Bitcoin.

  5. A touring complete programming language does allow the use of all operations possible and executable by a processing unit. This does include repeated operations otherwise called loops.

1 Like

1- The EVM is the application responsable of reading and running the smart contracts created on the Ethereum blockchain by using the resources of all the nodes that have it installed.

2- The format is called Byte Code which is the compilation of the code written in Solidity.

3- Solidity is the programing language used to create smart contracts but this piece of code needs to be compile to Bytecode so the EVM can be able to read it and run it through the Ethereum blockchain.

4- Because in Bitcoin use a scripting system that is not a Turing Complete programming language while the one use in Ethereum called Solidity is.

5- A Turing Complete is a characteristic of many programming languages that allows programmers to create complex or basically any function.

1 Like
  1. The EVM isolates the byte code of the smart contract and executes it before sending the results to the CPU. This is done for security reasons so malicious code in the smart contract can’t directly interact with the CPU and compromise the Ethereum network.

  2. The EVM reads Bytecode.

  3. Smart contracts are written in Solidity, which are then compiled into Bytecode with the EVM reads.

  4. Bitcoin can’t run the same type of complex programs like Ethereum because it is not Turing complete.

  5. A Turing complete programming language allows programmers to program essentially anything they want.

1 Like
  1. What does the EVM do?
    EVM is an Ethereum virtual machine that CPUs run to execute smart contracts.

  2. What is the format of the instructions that the EVM can read?
    EVMs reads all instructions in Byte code.

  3. What is the relationship between the programming language Solidity and Bytecode?
    the relationship between programming language solidity and Bytecode, is Solidity is compiled into Bytecode

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    the reason that bitcoin cant run the same type of complex programs like Ethereum is because Ethereum is turing complete and bitcoin is not.

  5. What is a Turing Complete programming language?
    A turing complete programming language ,is a language that can be edited or adapt to any further programming, or updates.

1 Like
  1. EVM runs on every node and separates the smart contract from the CPU.
  2. The EVM reads Solidity and Viper and turns it into bytecode.
  3. Solidity is what the smart contract is written in and the EVM reads it and turns it into Bytecode.
  4. It is not Turing complete, a turing complete language is not capable of Loops…
  5. Solidity and Viper
1 Like

1/the EVM reads the smart contract, interpret, gives CPU instructions, to come to a result.
2/ Format is (binary) byte code.
3/Solidity is the Ethereum programming language which is compiled in a byte code
, the smart contract.
4/Bitcoin programming language “script” is not Turing complete.
5/ Turing complete means “can solve any problem”

1 Like
  1. EVM executes the smart contracts from the byte code.

  2. EVM reads byte bode.

  3. The relationship between Solidity and Bytecode is that the solidity language gets compiled into bytecode.

  4. Bitcoin can’t run the same type of complex programs as Ethereum because it is not turring complete.

  5. A turing complete language allows you to program anything you want. Allows you to do loops.

2 Likes

Reads and executes the smart contract

Byte code

SC written in Solidity which is then compiled and converted into byte code which the EVM reads

Bitcoin is not Turing Complete

Can solve all complex programs

1 Like
  1. makes it possible to execute code on the Ethereum network therefore coming to consensus about what the results should be.
  2. bytecode, smart contract
    3.Solidity: is one of the many languages that can be used to develop EVM (Ethereum Virtual Machine) understandable bytecode.
  3. It fairly primitive.
  4. a form of conditional repetition or conditional jump to read/write to some storage mechanism (variables)
1 Like