Homework on EVM

  1. EVM etherium virtual machine is an application that is in all the nodes of the etherium network, reads and executes the smart contracts and gives instructions to the CPUs of the nodes.
  2. Byte code.
  3. Solidity is the programming language of the smart contract that compiles down to byte code.
  4. Btc uses the Script programming language, not turing complete cannot solve the problems that it has to solve to program some types of applications such as etherium that uses Solidity as a programming language that is turing complete and if it can solve them.
  5. Turing Complete programming language allows you to program everything you want and allows you to do loops.
1 Like
  1. What does the EVM do?
    The EVM (Ethereum Vrtual Machine) is a program that runs on every ethereum node. To ensure that each machine is able to run the same code, in the same way. The code is encapsulated within the EVM. The EVM can run and execute smart contracts. It will use Solididty to read the smart contract, compile it to Bytecode and instruct the CPU’s of the various nodes. It will reach a result. All the nodes need to reach the same result to give consensus.

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

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity reads the smart contract and compiles it into Bytecode. The EVM runs Bytecode.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin has a scripting language called ‘Script’. It is not a Turing Complete language (it is Turing Incomplete) and has limited functionality. It will not allow more complex operations such as iteration (loops).

  5. What is a Turing Complete programming language?
    A Turing Complete language is capable of solving any mathematical problem or task as long as it has the correct instructions, time and processing power. It is capable of greater complexity than a Turing Incomplete language like the one Bitcoin uses.

1 Like
  1. the EVM is in charge of delegating tasks to the resources (CPU, GPU, RAM) of the device running the ethereum node. The bytecode of the smart contracts is executed by the EVM.
  2. it’s bytecode. Machine readable code that is generated by the (solidity) compiler.
  3. Solidity gets compiled to bytecode by the compiler.
  4. because the language of bitcoin (script) is very primitive (turing incomplete)
  5. A turing complete programming language is theoretically (if there were infinite hardware resources) capable of solving anything.
1 Like
  1. What does the EVM do?
  • reads all the instructions in a smart contract and calculates them. communicates with node and instruct it’s CPU. EVM is in between smart contract and CPU and will ensure that nothing malicious happens because code is not running directly on CPU.

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

  1. What is the relationship between the programming language Solidity and Bytecode?
  • it is possible to compile solidity into bytecode which is used by EVM

  1. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
  • BTC programming language is script, it is not possible to run smart contracts on this.
  • script is not turing complete

  1. What is a Turing Complete programming language?
  • turing complete programming languages have “loops”
  • loops allow programmers to tell software to do one thing several times
  • (“you can program anything you want” - in theory - practically limited by scalability issues)
1 Like
  1. What does the EVM do?
    It reads the Byte Code and tells the CPU to execute the terms of smart contracts. It is also located between the CPU and the smart contracts and acts as a security layer for the network.
  2. What is the format of the instructions that the EVM can read?
    EVM reads the Bytecode. Current Ethereum programming language is Solidity and you need a compiler to transform that into Bytecode readable for the EVM.
  3. What is the relationship between the programming language Solidity and Bytecode?
    The smart contracts are written in Solidity. The Solidity compiler takes code and compiles logic and instructions into Bytecode, making it readable for the EVM.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin programming language is Scrypt, which is not Turing complete. The smart contract functionality is limited.
  5. What is a Turing Complete programming language?
    Turing complete languages contain loops which let programs execute a set of functions once and after looping back to perform the set of functions again.
1 Like
  1. What does the EVM do?
  • EVM is a virtual machine in which the Ethereum code runs.
  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 and Viper are programming languages that can output as results Bytecode formats once they compile.
  1. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
  • Because BTC uses Script language that is not Turing Complete.
  1. What is a Turing Complete programming language?
  • Turing Complete refers to the ability of a language to execute any kind of complex tasks.
1 Like
  1. Ethereum Virtual Machine runs smart contract code and works to reach consensus
  2. EVM bytecode
  3. While the code is written in Solidity, the compiler converts that code into Bytecode, which the EVM uses to initiate the instructions to the hardware
  4. Bitcoin is not capable of running smart contracts, as it’s only able to run a non-turing language called Script
  5. A language that will give you advanced capability to develop complex logical instructions
1 Like

1 Executes the smart contracts.
2 Byte code
3 Solidity will be translated in byte code.
4 Bitcoins programming language the Script is not allowing complex programs.
5 Programmable complex programs, like solidity.

1 Like

1.What does the EVM do?
It reads and executes smart contracts.

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

  2. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is a compiler that takes code and compiles it into byte code that can be readable and executable for the EVM.

4.Why can’t Bitcoin run the same type of complex programs like Ethereum can?
For the fact that Bitcoin runs on Script which is not a turing complete language.

5.What is a Turing Complete programming language?
A Turing Complete language allow for the complex operation of programs to read and execute operations that essentially repeat in loops.

1 Like
  1. EVM makes it possible to execute.

  2. EVM reads Bytecode.

  3. Solidity is a programming language used translate instructions to the EVM in bytecode.

4)Bitcoin runs on a “Script” language which limited and can’t solve complex problems.

  1. Turin complete programming language means this:
    -You can program anything you want
    • Program is scalable.
1 Like
  1. Compiles code written in Solidity language, in order to process it in the Ethereum network

  2. Solidity programming language

  3. Solidity is human friendly, whereas Bytecode is for CPUs (machine language)

  4. Because Script (Bitcoin programming language) is not Turing complete

  5. One that supports all programming capabilities

  1. All code written on the ethereum network needs to og through the EVM first. The EVM is «above» your computers hardware and will tell all the computers (nodes) CPUs what code they are supposed to execute. The EVM “deploys” smart contracts on the ethereum network.
  2. The format of the instructions the EVM can read is byte code.
  3. The realationship between solidity and byte code is that solidity code can be compiled into byte code
  4. Bitcoin cant run the same typem of complex programs as ethereum because they dont have a turing complete language and the language they use is called script. If bitcoin used a turing complete language like solidity, people could create loops with the code which would create a lot of spam on the blockchain causing it to take up a lot more space.
  5. A turing complete language is a coding language where you can solve all problems through code, it is not limited.
1 Like
  1. What does the EVM do?
    The EVM acts as an intermediary between the node and the blockchain that isolates the node from malicious code. The EVM runs a smart contract together with all the other nodes, thereby reaching consensus.
  2. What is the format of the instructions that the EVM can read?
    The EVM runs ByteCode which is derived from the CPU compiling Solidity.
  3. What is the relationship between the programming language Solidity and Bytecode?
    see 2)
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    The programming language of Bitcoin is Script which is not a turing-complete programming language, making it more robust (not as vulnerable to hacks) for its main use case, namely programmable money.
  5. What is a Turing Complete programming language?
    A language that is capable of running any executable that a computer can.
1 Like

1.EVM gives the informations from smart contracts, on the ethereum blockchain, to all the nodes.
Besides that it protects the network from harmful smart contracts .
2.The EVM can read byte code, which is a code converted from programming languages through a compiler.
3.Solidity is the programming language of the Ethereum blockchain. Programmers use solidity, which will be compiled to byte code, so that the EVM can share it with the nodes.
4.Because Bitcoin is using a not Turing programming language.
5.With a Turing complete language like for example solidity you can program theoretically everything you can think of, while you cant do the same with not Turing programming language.

1 Like

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

Quite close, but solidity is the programming language that humans use to program the instructions, but the code will be compiled into ByteCode which is the format that EVM can read.

Carlos Z

  1. EVM is an application that each computer is running. It looks into the instructions of the Smart contract. Then tell each CPU to execute it–> reach result of the smart contract.
  2. EVM reads Byte code. Language=Solidity --> Compiling it leads to Byte code.
  3. Compiling solidity leads to byte code
  4. Bitcoin’s programming language is called ‘Script’. It can only execute simple ‘contracts’, because it doesn’t have Turing Complete Language.
  5. It’s a programming language that allows you to program anything you can think of.
1 Like

1. What does the EVM do?
EVM = Ethereum Virtual Machine is virtual computer which is executing code of smart contract. Predominantly written in Solidity

2. What is the format of the instructions that the EVM can read?
EVM is reading Ethereum byte code instructions which are compiled form Solidity or eventually other supported programming langueages.

3. What is the relationship between the programming language Solidity and Bytecode?
Bytecode is the execution code of the program. With Solidity, we develop a program and after compiling it with a Solidity compiler Bytecode is created.

4. Why can’t Bitcoin run the same type of complex programs as Ethereum can?
Bitcoin has just scripts, not full programing language. As such script language is very limited in its functionality

5. What is a Turing Complete programming language?
Turing Complete programming language is a fully functional programming language, with access to internal & external storage, loops, conditions, 

Actually, there is a set of rules that programming language needs to meet to be Turing Compatible.

1 Like

1)What does the EVM do?
An EVM reads and executes smart contracts so the network can reach consensus.
2)What is the format of the instructions that the EVM can read?
Ethereum Virtual Machine Byte Code
3)What is the relationship between the programming language Solidity and Byte Code?
Solidity uses a compiler to read and execute the Byte Code in a Smart Contract.
4)Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Its programming language is not capable at a complex level.
5)What is a Turing Complete programming language?
Turing is a pascal like language.

1 Like
  1. EVM = Ethereum Virtual Machine is virtual computer which is executing code of smart contract written in Solidity

  2. EVM is reading Ethereum byte code instructions which are compiled form Solidity or eventually other supported programming languages

  3. Bytecode is the execution code of the program. With Solidity, we develop a program and after compiling it with a Solidity compiler Bytecode is created

  4. Bitcoin has just scripts, not full programing language. As such script language is very limited

  5. Turing Complete programming language is a fully functional programming language, There is a set of rules that programming language needs to meet to be Turing Compatible

1 Like
  1. Reads smart contracts and tells the CPU to execute them
  2. Byte code
  3. Solidity makes smart contracts that can be compiled into byte code and read by EVMs
  4. Bitcoin runs on Script, which is not a turing complete language and is too simple to run smart contracts
  5. A programming language that can solve all possible problems that it might have to solve
1 Like