Homework on EVM

5. What is a Turing Complete programming language?

Yes sir, solidity is a turing complete programming language, but could you please describe What is a Turing Complete programming language means?

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

Carlos Z.

  1. EMV uses host CPU and execute the instruction in the program.
  2. Byte Code
  3. Solidity allows many different types of instruction to be programmed. It then needs to be run through the compiler to be in Byte Code format so EVM can execute it.
  4. Bitcoin runs Script. Its very basic and Not Turing complete.
  5. Turing complete language can handle and solve all the programs that it should.
1 Like
  1. The Etheruem Virtual Machine or EVM is a security layer embedded in each node on the Ethereum blockchain network. It reads and executes code on smart contracts as a CPU would normally. It basically tells the CPU of each computer what to do.

  2. The EVM code will be most likely written in a higher level code like Solidity first then compiled in EVM byte code.

  3. Solidity is the high-level code written with all of the instructions and logic that will then be compiled down to the bytecode that the EVM will read and respond to.

  4. Bitcoin has a very simple programing language called Script that can run some very primitive programs. That is okay because it was always meant to be like digital gold. Ethereum was created to run more complex problems on the blockchain.

  5. A Turing Complete programming language is one that can be used to solve any computational problem. Loops are an important characteristic of a Turing complete programming language in this case.

1 Like
  1. EVM is responsible for ecapsulating the smart contract. It reads the smart contract byte codes and tells the CPU to execute it.

  2. The EVM reads instructions in byte codes.

  3. Solidity is the programming language and programs created in Solidity must be compiled to byte code so that the EVM can understand it.

  4. Bitcoin does not have a Turing-complete programming language, unlike Ethereum.

  5. A Turing-complete programming language means it is a full fledge programming language that can be used to create any program.

1 Like

1:
It is a code that all nodes/computers in the Ethereum network is running
EVM makes it possible to execute code on the Ethereum Network
All nodes in the Ethereum network will check the contains of the SC and then reach consensus by executing the same SC.
EVM does not care about what programming language used. It cares about the byte code.

2:
Byte Code

3:
Solidity is the langauge used to describe/code the instructions that the SC shall perform. This happes through byte code

4:
Problem with more functionality is more size in each blockchain and that does not work for Bitcoin as this shall simply be digital money/digital gold.
Bitcoin is not turing complete. Bitcoin can handle limited code. Bitcoin code language is “script”

5:
Turing complete means that you in theory can do anything. There are no boundaries.

1 Like
  1. What does the EVM do? >> the EVM runs the code of the smart contract
  2. What is the format of the instructions that the EVM can read? compiled binary code
  3. What is the relationship between the programming language Solidity and Bytecode? Solidity gets compiled to Bytecode
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? because it is not turing complete (no loops, ans an example)
  5. What is a Turing Complete programming language? a language where all functionalities of a programming language can be executed (loops as an example)
1 Like
  1. the EVM calculates the bytecode in the smart contracts and makes the CPU execute them. also it calculates a result which all of the other notes must have too to verify the code and get the consensus. every node has a EVM !
  2. the EVM reads the byte code.
  3. Solidity is the programming language which is comulated into the byte code so that the EVM can read it.
  4. because bitcoin is a non touring complete language.
  5. with a touring complete programing language you can program anything you want like loops!
1 Like

1. What does the EVM do?
Read and execute 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 will be compiled in Bytecode to run

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?
With a Turing complete programming language you could, in theory, program infinite possibilities into it.

1 Like
  1. EVM makes it possible to execute code and reach a consensus on the smart contract.

  2. The EVM reads the smart contract instructions in solidity, then compiles them and instructs the cpu on what action to take.

  3. A compiler takes solidity code and its logic to byte code format, which EVM is able to read, ensuring the smart contract cannot escape and give command directly to the CPU.

  4. It is not turing complete, very limited to programming.

  5. Programming and creation of applications can be built (in theory) using the solidity on the ethereum network, which has Turing Complete language.

1 Like
  1. What does the EVM do?
    EVM is Ethereum Virtual Machine, it runs code that is inside Smart contracts.

  2. What is the format of the instructions that the EVM can read?
    Bytecode, compiled from Solidity or Vyper source code.

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

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin uses much simpler script language, that does not allow to have full Turing complete features. Bitcoin developers say that it’s much safer this way.

  5. What is a Turing Complete programming language?
    In Turing complete language you can program all possible programs, however there is possibility it can have hard to find bugs or run into infinite loops…

1 Like
  1. A piece of code reading the byte code which are the instructions of the smart contract and executing it on the cpu.
  2. byte code generated by Solidity
  3. Solidity is a programming language capable of compiling instructions to byte code
  4. It’s not Turing complete: you can’t program everything you can think of
  5. You can, in theory, program anything (any logic reasoning) you can think of.
1 Like
  1. EVM makes possible execute code on network in such a way that all nodes are in consensus.

  2. EVM bytecode

  3. Smart contracts are written in solidity and than compiled to byte code that EVM can read.

  4. Because the script is not turing complete programming language as solidity.

  5. Turing complete language as solidity is a high level language with which you can program programs - dapps or smart contracts.

1 Like
  1. What does the EVM do? The EVM makes it possible to execute code on the Ethereum network. EVM runs on top of the hardware on each node within the network. It can also read and execute smart contracts.

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

  3. What is the relationship between the programming language Solidity and Bytecode? Smart contracts are written in Solidity and compiled into bytecode.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? Bitcoin uses Script which is is not turing complete and can not run loops. Also, Bitcoin’s 1MB block size would not be suitable for any complex programs which would spam the network.

  5. What is a Turing Complete programming language? A language without limitations in what can be achieved. You can basically program anything you want with full functionality, in theory. Examples of Turing Complete languages are Javascript and Solidity.

1 Like
  1. What does the EVM do?
    runs code from smart contracts

  2. What is the format of the instructions that the EVM can read?
    it reads the byte code that is produced from smart contracts written in solidity and viper

  3. What is the relationship between the programming language Solidity and Bytecode?
    smart contracts a re written in solidity and then compiled into byte codd that the evm van read.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because bitcoin uses script which is not turing complete. its small block size would not be suitable either for complex programs.

  5. What is a Turing Complete programming language?
    A language where all functions of programming language can be executed like loops.

1 Like
  1. What does the EVM do?

EVM creates an execution environment on top of nodes in an Ethereum network. This environment allows for excecution of smart contracts (code) while isolating the contract from controlling the phsyical hardware. I would guess that this isolates the operation of one smart contract from interferring with the operation of another smart contract on the same node.

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

EVM reads and executes byte code. Byte code is generated by the Solidity programming language. EVM doens’t directly execute Solidity.

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

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

Bitcoin offers a smart contract-like feature called Script. However, script doesn’t offer enough programming features to support Smart Contracts.

  1. What is a Turing Complete programming language?

To be Turing complete, a programming language must be able to simulate another computer. This requires conditional logic, looping, and change memory. Script doesn’t offer all this.

1 Like
  1. What does the EVM do?
  • The EVM reads and processes the code of the smart contract in an isolated environment so that it does not compromise the network.
  1. 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?
  • The smart contract is created using solidity and then that code is processed by a compiler to produce byte code in order for the EVM to be able to read and execute on it.
  1. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
  • Because btc’s programming language script is not turing complete.
  1. What is a Turing Complete programming language?
  • A programming language that can do complex tasks like loops.
1 Like

1. What does the EVM do?

Guarantees that the code to be executed is not malicious.

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

Bytecode. Normally comes after compiling from a Solidity programmer, but this is not a must.

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

Solidity is used by humans and looks like English language. Then it should be compiled into bytecode.

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

Because Bitcoin scripts are not turing complete. They cannot execute any kind of software. On the other side, Solidity for the EVM is turing complete.

5. What is a Turing Complete programming language?

A software that can execute all possible operations for a CPU.

If you enjoyed these definitions I attempted to make compact and easy, please leave a like!

1 Like
  1. The EVM reads the code of the Smart Contrat which has been compiled from Solidity to Bytecode, and then communicate this information to the CPU in order for it to be executed.

  2. Bytecode

  3. Solidity once compiled is in Bytecode so that the EVM can read it.

  4. Bitcoin cannot read smart contracts like the ones on Ethereum because its language, script, is not turing complete. You can only do very simple things on BTC.

  5. A turing complete language is a more complex language that can do anything you can think of. It main feature is that is allows loops (doing something many times).

1 Like
  1. The EVM is like a middleman between the smart contract and the CPU so the smart contract is isolates from the CPU.
  2. EVM reads byte code.
  3. Smart contracts are created in solidity, but are turned into byte code as EVM reads the byte code.
  4. Its programming language is not touring complete.
  5. It is a language that can program all problems. Developers can create anything on top of Ethereum.
1 Like
  1. the evm is basically the brain of the ethereum network, it reads and implements the commands in a smart contract.

  2. byte code

  3. solidity is what delivers the byte code to the evm

  4. because the script language of bitcoin is very limited and isnt turing complete

  5. a turing complete programming language allows all possibilities, also has loops to repeat processes

1 Like