Homework on EVM

  1. What does the EVM do?
    it reads the commands in the smart contract and it sends them to the cpu for execution
  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?
    between solidity and byte code is a so called compiler
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    bitcoin isnt turing complete
  5. What is a Turing Complete programming language?
    A programing language that allows complex commands
1 Like
  1. What does the EVM do
  • ethereum virtual machine.
  • runs smart contracts
  1. What is the format of the instructions that the EVM can read
  • solidity language
  1. 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.
  1. Why can’t Bitcoin run the same type of complex programs like Ethereum can
  • programming Turing limited
  • limited capability - only perform basic instruction
  1. What is a Turing Complete programming language
  • a script language that can solve all problem it needs to solve
1 Like

1. What does the EVM do?

The EVM is an application that runs on top of each node in the network. It reads smart cntracts and tells the CPU of each node to execute each action.

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

The EVM reads instructions in Bytecode

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

Solidity is the program smart contracts are written in, Bytecode is what they are compiled to in order to be stored on the blockchain and read by the EVM.

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

Bitcoin’s programming language is not Turing complete and so can only do very limited things.

5. What is a Turing Complete programming language?

A Turing complete language allows you to program anything you can think of.

1 Like

2.What is the format of the instructions that the EVM van 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 doubt, please let us know so we can help you! :slight_smile:

Carlos Z.

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

Not quite right sir, the format of the instructions that EVM reads is Bytecode.

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

Not quite right sir, could you please redesign the answer?

5.What is a Turing Complete programming language?

Quite right sir, but that could be one of the abilities of the Turing Complete programming language, could you please describe it in general terms?

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

Carlos Z.

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 doubt, please let us know so we can help you! :slight_smile:

Carlos Z.

  1. What does the EVM do?
    EVM makes it possible to execute code(SC) on the ETH network in a way that there is consensus. It is an app that run on top of the physical hardware of the network nodes.
    It reads and executes the instructions of the SC. EVM will tell CPU to execute 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?
    Solidity is the programing language used to create a SC. That code then is compiled into bytecode and fed to EVM.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    BTC script is very simple primitive language. It is not turing complete. BTC did not want the network to be spammed by crazy endless loops or for the blocks to be filled up with all the data that is necessary with SC.

  5. What is a Turing Complete programming language?
    Java Script or Solidity are examples of Turing complete languages. They have the ability to use loops and solve all problems. The script of BTC is not Turing complete. It can not perform loops or solve all problems. it is limited.

1 Like

Excellent answer sir! really well documented! keep it like that please! :muscle:

Carlos Z.

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 doubt, please let us know so we can help you! :slight_smile:

Carlos Z.

  1. What does the EVM do?
    The EVM (Ethereum Virtual Machine) runs on top of each Eth node and utilises the hardware of the node to execute smart contract, without directly exposing the hardware for security reasons.

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

  3. What is the relationship between the programming language Solidity and Bytecode?
    Programs are written in Solidity (which is similar to Java) or Vyper (which is similar to Python 3) and ran through a compiler to create the Bytecode.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin can’t run these smart contracts as the programming language Script is not Turing Complete. There is also a potential security risk of people spamming the network with resource intensive smart contracts.

  5. What is a Turing Complete programming language?
    A programming language that can solve any computational problem.

1 Like
  1. What does the EVM do?
    a) Ethereum Virtual Machine runs on every nodes in the blockchain. It creates and executes smart contract making sure each smart contract reaches consensus.

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

  3. What is the relationship between the programming language Solidity and Bytecode?
    a) The data represented within the smart contract is written in Solidity and then is compiled into byte code which is what EVM reads.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    a) Bitcoin is not Turing Complete. Bitcoin is built for simple code using the language simplicity.

  5. What is a Turing Complete programming language?
    a) Turing Complete programming language is scalable and in theory, has no limits.

1 Like
  1. EVM enables to execute code on the blockchain, it can read and execute smart contracts, it runs on all nodes
  2. the only format the EVM can read is Bytecode
  3. Solidity and other programming languages use a compiler to translate the code to Bytecode
  4. Because the programming language used with Bitcoin isn’t Turing complete and therefore doesn’t support advanced programming
  5. A Turing Complete programming language is a more complex language and gives the developers a lot more options to program the blockchain like e.g. using loops
1 Like

Etherium virtual machine executes SC and verifies SC with whole network.

Bycode

[quote=“filip, post:1, topic:8443”]
What is the relationship between the programming language Solidity and Bytecode?
[/quot
Solidity is program language changed to bytecode when stored in EVM.

Because solidity is turing complete so you can program anything.ETH
Script is not turing complete so you can program only simple things.BTC

Turning complete program can run anything with no limitations.

1 Like

1.) EVM is the Ethereum Virtual Machine that allows the execution of smart contracts within the Ethereum network.

2.) EVM reads instructions from a network of computers CPU’s each running EVM code on top of each computers hardware. The EVM will look at the nodes/info in each individual CPU and verify if they are using the same code in order to execute the smart contract.

3.) Solidity is the programming language used, what happens is a compiler takes the solidity code then compiles the instructions in to bytecode which the EVM then reads. This bytecode read by the EVM contains the information programmed into solidity.

4.) Bitcoin can’t run the same type of complex transactions since it is not Turing complete, it can only run simple financial transactions using “Script” but not real smart contracts.

5.) A Turing complete programming language is something that can use loops, basically implementing a set of instructions multiple times automatically as opposed to manually programming the instructions in one at a time.

1 Like
  1. The EVM is executing the binary code of a smart contract in a secure manner for the blockchain.
  2. EVM can read ByteCode.
  3. Solidity is the language that creates ByteCode using human readable instructions.
  4. Bitcoin can’t run the same type of complex programs like Ethereum do cause Its code (Script) isn’t Turing Complete.
  5. A Turing Complete language is a language that theoretically can program any function needed in a program or smart contract (in our case).
1 Like
  1. The EVM runs on those nodes, where they creates an isolated(encapsulated) environment to run smart contracts and process transaction.

  2. Bytecode

  3. Solidity compiles smart contracts into bytecode which the EVM can read.

  4. Script is not Turing complete.

  5. Solidity is Turing complete. This means that this system is able to recognize or decide other data-manipulation rule sets

1 Like

EVM is a virtual machine (an emulated CPU) that reads and executes the smart contract.

The instructions are written in the language Solidity that the EVM

Solidity is a programming language that humans write. EVM reads Solidity written by humans and compiles it to bytecode. The bytecode is executed by the EVmachine.

Bitcoin only has simple logic called script. This is called non-Turing. Ethereum, on the other hand, is fully Turing meaning that it can be programmed to perform any task.

  1. answered above
1 Like
  1. The EVM is the interface between the smartcontract and the physical hardware of the computer, converting the code into instructions that can be understood by the hardware
  2. Format of the instructions is Byte Code
  3. Solidity is the programming interface that converts the instructions and code into machine readable code and this uses the EVM as the platform for that.
  4. Bitcoin script language has limitations which do not allow the wide use of smart contracts along with all their conditions. Bitcoin is limited to (multisig) transaction signatures and variants thereof.
  5. Turing complete language allows scripts to run constantly (such as loops) looking for the conditions of the smart contract so that it can be executed. These constantly running scripts could flood the network and reduce capacity if not planned for, which is why it was not possible on the Bitcoin network.
1 Like

— My answers —

  1. By being a virtual machine, EVM creates an intermediate layer between software and hardware, in other words it allows to execute the Ethereum smart contracts without giving direct access to the machine’s hardware.

  2. EVM reads instructions in Bytecode format, however these can be compiled from multiple human-readable programming languages such as Solidity and Viper.

  3. Solidity if the first human-friendly programming language developed for Ethereum. The code is written in Solidity by developers, then compiled in Bytecode to be executed by the EVM efficiently.

  4. Bitcoin’s “Scrypt” language is not Turing complete, so it is only able to execute simpler, linear instructions but not more complex conditional statements such as loops.

  5. A Turing complete language is able to emulate any kind of Turing machine. In other words, it can execute any complex set of rules and data manipulation that can change the state of the machine itself. For example, web 1.0 content is written in HTML which is not Turing complete, while web 2.0’s dynamic pages are powered by Javascript which is instead Turing complete.

1 Like
  1. It executes the smart contracts and interpret them to the CPU of each node.
  2. EVM reads byte code
  3. Solidity is programing language which is compiled into Bytecode in order EVM can read it.
  4. Because its not turing complete programming language
  5. It’s a programming language you can program whatever you want with.
1 Like