Homework on EVM

  1. The EVM is a program running on the nodes of the Etherum Network. It has the ability to use the nodes resources like the CPU to run programs and especially to execute smart contracts on the ETH Network. By all Nodes executing the same programs/smartcontracts, and reaching the same results, consensus gets achieved.
  2. (+3) It reads Solidity, which then gets compiled to bytecode for execution by the CPU
  3. BTC’s Script language is not turingcomplete
  4. A programming language which is able to code any computable programm
1 Like
  1. What does the EVM do?
    It encapsulate the smart contract to prevent malicious intent. It reads the Byte code.
  2. What is the format of the instructions that the EVM can read?
    Bytecodee
  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity convert the instructions into bytecode
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because it is limited. Code not turing complete, cannot execute loops, limited by blocksize
  5. What is a Turing Complete programming language? Can program anything you want. Can execute loops.
1 Like
  1. What does the EVM do?

EVM uses node CPU power to read and execute a smart contract.

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

It uses a bytecode.

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

Solidity gets compiled to bytecode for EVMs to interact with.

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

Because Bitcoin uses a not Turning Complete programming language called ‘script’.

  1. What is a Turing Complete programming language?

TC languages allow to solve complex problems. One of the examples are loops.

1 Like
  1. EVM is used to run smart contracts, and to secure the Ethereum network.

  2. Bytecode.

  3. Solidity is compiled into Bytecode.

  4. Bitcoin code is simple and not turing complete, while Solidity can do more advanced functions.

  5. A Turing Complete language can be used to program anything.

1 Like
  1. Ethereum virtual machine.
  2. EVM is run isolated from the CPU for security issues.
  3. You program solidity and it produces bytecode.
  4. Ether is turing complete and bitcoin is not turing complete.
  5. You can program virtually anything.
1 Like
  1. What does the EVM do?
    EVM - executes isolated machine language code on Ethereum nodes and isolates smart contracts on the Ethereum nodes that agree to participate in the EVM ecosystem.
  2. What is the format of the instructions that the EVM can read?
    Machine Code, typically Turing based instructions using the Solidity programming language.
  3. What is the relationship between the programming language Solidity and Bytecode?
    Ethereum smart contracts are sets of programming instructions being run on all the nodes running a full Ethereum client. The part of Ethereum that runs the smart contract instructions is called the EVM. It’s a virtual machine not unlike Java’s JVM. The EVM reads a low-level representation of smart contracts called the Ethereum bytecode .
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin uses a script only language not built for smart contracts like Ethereum EVM. Bitcoin is digital gold crytocurrency that has a store of value based on the limited number of bitcoins, aka 21 million.
  5. What is a Turing Complete programming language?
    Virtually all programming languages today are Turing-complete.
1 Like
  1. What does the EVM do?
    The EVM is an application that runs on all of the Ethereum nodes. The EVM compiles the programming languages into Bytecode. This allows anyone on the Ethereum blockchain to execute code in the form of smart contracts without compromising the security of the Ethereum blockchain infrastructure.

  2. What is the format of the instructions that the EVM can read?
    The EVM reads programing languages like Solidity and Viper.

  3. What is the relationship between the programming language Solidity and Bytecode?
    The EVM reads the programming language of Solidity and compiles that code into Bytecode for a CPU to execute.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin is limited in block size and does not have the functionality needed to execute complex smart contracts. Bitcoin is not Turing Complete.

  5. What is a Turing Complete programming language?
    Turing Complete meaning that a programmer can program just about anything with a particular programming language. Almost all programming languages today are Turing complete.

  1. EVM (ethereum virtual machine) directly reads and executes smart contracts. It then reaches some sort of result and finally tells the CPU what to do.

  2. Ethereum’s coding language, Solidity, is written by a dev and then a complier application is used to reformat the code into EVM byte code. Byte code is the format in which EVM can read.

  3. As stated in me answer to question #2, Solidity is written and then compiled into EVM byte code for EVM to read.

  4. Bitcoin cant run the same type of complex programs like Ethereum because it isn’t Turing Complete. Menaning, it can not solve all problems that it might have to solve if you wanted to build some program.

  5. A Turning Complete programming language allows developers, in theory, to program any type of application they want and it can solve all problems. This, of course, doesn’t take the time and cost aspect into consideration.

1 Like

1 The EVM (Ethereum Virtual Machine) is a virtual environment than runs on each of Ethereum’s nodes and they execute the smart contract code.

  1. The EVM runs instructions in the EVM Bytecode format.

  2. Solidity is a programming language that can be compiled into EVM Bytecode and then run on an EVM.

  3. Bitcoin cannot run complex programs as its developers have chosen on purpose that it should have limited capabilities (specifically omitting the ability to perform code loops) mainly to improve its security.

  4. A Turning Complete programming language is a language with a large enough feature set to allow it to solve any complex problem specifically including the ability to perform code loops.

1 Like
  1. It is an application that runs the network code for ethereum resources and uses each computers CPU or nodes to make or confirm transactions. It ensures security because it reads the smart contract and stops the code from controlling the computers in the network. An EVM reads and executes smart contracts.
  2. The bytecode
  3. Solidity is the instructions for the smart contract, the Bytecode is the instruction format that is compiled from the programming language (such as solidity) so that the EVM can implement the smart contract.
  4. Not turing complete, the programming capability is more primitive so it can’t perform the complicated commands.
  5. The system is able to recognise and implement data-manipulation rule sets.
1 Like

1. What does the EVM do?
The EVM takes the instructions from the smart contracts and interprets to the node/computer’s cpu. The EVM also secures the cpu in the node from being directly manipulated by the smart contracts.

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?
Solidty compiles to bytecode, the evm reads the bytcode

4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin has limited programmability. Bitcoin’s programming language Script is not Turing Complete.

5. What is a Turing Complete programming language?
Its a programming language which you can create and program any application

1 Like
  1. What does the EVM do? Every node in the Ethereum network run on EVM which allows them to agree on executing the same instructions.
  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 has a compiler that compiles the instructions down to bytecode for the EVM to read
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? The scripting language in bitcoin is not turing complete.
  5. What is a Turing Complete programming language? You can program anything you want
1 Like
  1. It executes the program.
  2. bytecode.
  3. In Solidity we write a program that EVM reads and executes it as bytecode. I think :confused:
  4. Skrip language complexity does not allow us to create complex code structures like Solidity. It is not Turing complete language.
  5. It is a language that allows you to create code that can handle all computations you can think of.
1 Like
  1. An EVM is an Ethereum Virtual Machine. Every node runs an EVM to execute smart contacts initially, ensuring they are safe to run on the network. Once the majority of nodes agree the smart contract is deployed to the network.

  2. An EVM can read bytecode, which is translated from solidity.

  3. Solidity translates into bytecode, basically translating a human language into a computer language.

  4. Bitcoin has smart contracts, but they are not turing compatible as they don’t have loops. They cannot be very complex. This was intentional to preserve the bitcoin blockchain.

  5. A turing complete programming language contains loops. Functions that can repeat sections of code instead of having to rely on a continuous stream of code.

1 Like
  1. The EVM makes it possible to execute code on the network in a way, that all nodes can reach consensus. The EVM can read and execute smart contracts. The EVM allows for the code to be run indirectly on the nodes CPU.

2.The format of instructions that the EVM can read is byte code. You write the code in solidity then compile it into byte code that the EVM can read.

3.The relastion is that all code on ETH is written in solidity and then a compiler is used to compile the code into byte code that the EVM can understand.

4.The reason that Bitcoin can not run complex programs like ETH is because it only has Script language that you can use, and it is not Turing complete. You can not do complex things with Bitcoins coding Language.

  1. A Turing complete programming language is one that you can do pretty much anything that you think of with it. If a language is not Turing complete then you can not do some complex things with it.
1 Like

1- The EVM reads and execute all the instructions in the smart contracts
2- The format is Bytecode
3- Solidity is the program in charge to compile the instructions into bytecode
4- Because bitcoin have a not turing programming language called “script”. Bitcoin is pretended to be digital money and nothing else.
5- A language where you can program anything you want.

1 Like

Ethereum Virtual Machine, EVM, is an added layer to the Ethereum network that enables execution of smart contracts and consensus of what the results should be.

EVM runs on the hardware of the CPU and executes instructions via the CPU.

Solidity is"translated" with a compiler application to Bytecode which makes the instructions readable by the EVM.

Bitcoin uses the Script programming language. Which is not a Turing Complete language and unable to do more complicated commands like Loops along with limited storage capabilities.

A Turing Complete program language can execute more complicated commands such as Loops etc.

2 Likes
  1. EVM reads code of smart contracts and tells CPUs how to execute it

  2. Format is bytecode written by Solidity or Viper

  3. Solidity compiles logic into bytecode. It’s read by EVM, which the tells the CPUs of the nodes what to do.

  4. BTC can’t run the same because it in not turing complete (it’s limited). It’s primitive in the smart contracts it can write.

  5. T. C is a system is able to recognize other rule sets and scale to meet the demand
    **(this is a very deep question for such a shallow explanation in the video. Had to do a lot of research to figure it out, which is not necessarily a bad thing. Having to go find it helps one learn, but the video content did not cover very well the answer to the question. Similarly, questions 2 and 3 also required additional research about the use of the words, “relationship” and “format”)

1 Like
  1. Ethereum Virtual Machine. EVM executes smart contract code
  2. Is running as a isolated instance
  1. Solidity is the programming language in which smart contracts are programmed: Solidity compiler generates the bytecode which is readable through the EVM.
  2. BTC has a scriptSig language and is not turing complete and simple language which is not able solve complex issues.
  3. TCL can be used just to do something.
1 Like