Homework on EVM

  1. What does the EVM do?
    Etherium virtual machine reads all the codes in the smart contract and instruct the CPU to execute each line of instruction

  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?
    Programming language like Solidity or Viper are compiled into Bytecodes

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin has a programming language called Script which is not Turing Complete whereas Ethereum uses Solidity or Viper which is Turing Complete

  5. What is a Turing Complete programming language?
    Turing Complete, also known as computationally universal, means that the machine can compute anything a turing machine can.

2 Likes
  1. What does the EVM do?
    The EVM is an application on top of the computers hardware that instructs the CPU to execute the instructions of the 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 is the language in which to write the smart contracts that gets translated into bytecode for the EVM to execute.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because Script, the language used to code Bitcoin applications is not turing complete.

  5. What is a Turing Complete programming language?
    It is essentially a programming language that can program anything imaginable using code, one example would be loops.

1 Like

EVM can read and execute Smart Contracts. Also, ensures that nothing malicious happens on the network.

Byte code.

Solidity compile all instructions into byte code which only EVM can read.

Because it’s a non turing complete language which means that can’t solve complex math operations only basic operations.

Is a language used in Ethereum that in theory you can program anything.

1 Like
  1. EVM reads the smart contract, creates byte code from the programming language, and then tells the CPU what to do.

  2. Byte code.

  3. Solidity is like a JavaScript programming language written by the programmer. Byte code is what the compiler will create from your code.

  4. Bitcoin’s “script” is not Turing complete, and only allow for simple multi-sig.

  5. A Turing complete programming language has all the functionality of a Turing machine. It allows for the complete data-manipulation of rule sets.

1 Like
  1. Ethereum Virtual Machine reads & verifies the smart contract data, communicates & verifies contract data from the other nodes which also has EVM and executes the required transaction.
  2. The Smart contract code is written in Solidity and feed out in EVM byte code
  3. The completed code from Solidity is compiled and feed as byte code to the EVM and then processed by the CPU. The common relationship if the “Byte Code” between them.
  4. Mainly because the code Bitcoin uses can only handle relatively simple request, it’s not “Turing” complete.
  5. C+ compared to Bitcoin “Script”, Can’t do “Loops”
1 Like
  1. EVM meaning Ethereum Virtual Machine is the world computer formed out of all nodes in the network and executes for example solidity programming language byte code protecting the CPUs of nodes and give to CPU instructions to execute the Solidity commands.
  2. compiled smart contracts byte code
  3. Bytecode is program code that has been compiled from source code for example from Solidity into low-level code designed for a software interpreter. It may be executed by a virtual machine (such as a EVM) or further compiled into machine code, which is recognized by the processor. For example, Java code is typically stored in bytecode format, which is typically then JIT (just-in-time) compiled to translate the bytecode to machine code before execution. This introduces a delay before a program is run, when the bytecode is compiled to native machine code but improves execution speed considerably compared to interpreting source code directly, normally by around an order of magnitude (10x). Because of its performance advantage, today many language implementations execute a program in two phases, first compiling the source code into bytecode, and then passing the bytecode to the virtual machine. There are bytecode based virtual machines of this sort such as EVM.
  4. Bitcoin network can’t run the same type of complex programs because the Bitcoin Script programming language is not Turing Complete such as Solidity of Ethereum.
  5. In computability theory, a system of data-manipulation rules such as a computer’s instruction set, a programming language, or a cellular automaton is said to be Turing-complete or computationally universal if it can be used to simulate any Turing machine. This means that this system is able to recognize or decide other data-manipulation rule sets. Turing completeness is used as a way to express the power of such a data-manipulation rule set. On the other hand, Turing machines are equivalent to machines that have an unlimited amount of storage space for their computations. A Turing machine manipulates an unbounded amount of data. 1. Turing machines describe algorithms independent of how much memory they use. There is a limit to the memory possessed by any current machine, but this limit can rise arbitrarily in time. Turing machines allow us to make statements about algorithms that will (theoretically) hold forever, regardless of advances in conventional computing machine architecture. Turing machines simplify the statement of algorithms. Algorithms running on Turing-equivalent abstract machines are usually more general than their counterparts running on real machines, because they have arbitrary-precision data types available and never have to deal with unexpected conditions including, but not limited to, running out of memory. The Turing machine was invented in 1936 by Alan Turing.
1 Like
  1. The EVM is present on each ethereum node and executes the bytecode smart applications on the Ethereum blockchain.
  2. Bytecode
  3. Solidity is the language that programmers interact with in order to code DApps, and then this is compiled to bytecode which is EVM-executable.

4.Bitcoin’s scripting language is non Turing complete.

  1. A Turing Complete programming language allows for loops
1 Like

1. What does the EVM do?
The EVM (Ethereum virtual machine) reads and executes the smart contracts. It’s also used for security purposes to make sure the contracts are not malicious.

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?
Solidity code is compiled into bytecode

4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Because its not Turing complete

4. What is a Turing Complete programming language?
A language that allows anything to be programmed, and can solve any computational problem

1 Like
  1. What does the EVM do?
    EVM reads the smart contracts and pass the byte code to the cpu to perform certain logic or arithmetic.
  2. What is the format of the instructions that the EVM can read?
    Byte, i.e., 0s and 1s.
  3. What is the relationship between the programming language Solidity and Bytecode?
    Read the the smart contract and pass the information to the compiler to read the instruction. Interpret the high-level language to assembly language.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Ethereum is a platform that sits on top of BTC to read smart contracts with complex coding. Bitcoin is very limited and not Turing. Ethereum uses solidity which is Turing, by telling software to do something several times (Looping).
  5. What is a Turing Complete programming language?
    Solidity is a Turing complete language.
1 Like

Homework Assignment: EVM (Answers)

  1. EVM reads and deploys Smart Contracts.
  2. Bytecode
  3. Solidity is the language that complies Bytecode.
  4. Bitcoin is not a Turin Complete language.
  5. A language that allow Loops for programmer.
1 Like

1- EVM works on top of the Ethereum blockchain as a medium between nodes and smart contracts to securely communicate creatively programmable code.

2- Bytecode

3- Solidities programming input goes through a compiler that is then configured into bytecode.

4- Bitcoin cannot run the same type of complex programs like Ethereum because it is NOT “Turing Complete”.

5- Turing Complete programming language is basically a language created in a way that the translation of code is limited to the imagination or intellectual capacity of the one who is programming. Basically if there is a problem that can be fixed or something needs to be improved its only a matter of programming.

DUUUUUKAAA!!!

1 Like
  1. What does the EVM do?

The EVM can read and execute smart contracts and tell what the CPU to do.

  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 code is compiled into Bytecode for the EVM to read.

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

Bitcoin isn’t a Turing complete language and can only do simple tasks

  1. What is a Turing Complete programming language?

Turing Complete programming language pretty much allows anything to be programmed. It usually contains ‘loops’ to do one thing several times over and over again without having to handwrite code multiple times.

1 Like
  1. Evm tells byte code what to do.
  2. evm can read byte code which tells the smart application what to do.
  3. relationship between the two is solidity compiles data into bytecode, evm reads the bytecode.
  4. bitcoin runs on programming language called script and is very limited to the operations available for it. basically made to do transactions and to make sure funds are properly allocated in businesses. Also, script is not turing complete. Ethereum has the ability to run more complex tasks.
  5. turing complete means you can program anything you want… “in theory”.
1 Like

[quote=“filip, post:1, topic:8443”]

  • What does the EVM do?

It is etherium’s execute code that runs on top of the CPU of each computer to read the contract and instruct the CPU to execute it.

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

EVM reads a specific Byte Code.

  • What is the relationship between the programming language Solidity and Bytecode?

Solidity is the language in which the code is written that is then recorded in the form of a Bytecode that EVM can read.

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

Bitcoin is not Turing complete so it can only execute simple instructions.

  • What is a Turing Complete programming language?

A Turing complete language can theoretically solve any problem.

1 Like
  1. The EVM, the Ethereum Virtual Machine, executes ethereum code–it is a virtual machine run by the ethereum network that processes, as virtual machines do, virtual instructions to a virtual CPU actually done by a network of CPUs etc.
  2. evm bytecode
  3. solidity is a high-level language to generate EVM bytecode
  4. script is not turing-complete
    5.A language that can execute anything a turing machine can, IF given an arbitrary amount of time and memory
1 Like
  1. What does the EVM do?
  • EVM is a virtual machine which places between OS and application layer to mitigate OS dependency. Contracts are written in a language (like Solidity), then compiled to EVM bytecode. This means that the machine code is completely isolated from the network, filesystem or any processes of the host computer. Every node in the Ethereum network runs an EVM instance which allows them to agree on executing the same instructions. The system is capable of performing any logical step of a computational function (Turing Complete capability). The EVM is essential to the Ethereum Protocol and to the consensus engine because it allows anyone to execute code in a trustless ecosystem in which the outcome of an execution can be guaranteed and is fully deterministic (executing smart contracts).
  1. What is the format of the instructions that the EVM can read?
  • Bytecode is the executable code on EVM. Smart contract code written in high-level languages needs to be compiled into EVM bytecode to be run.
  1. What is the relationship between the programming language Solidity and Bytecode?
  • The EVM does not understand anything but Bytecode. After we write the Solidity code, we must use a compiler to translate our code into Bytecode, the only thing that the EVM can understand.
  1. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
  • Bitcoin is a secure peer to peer decentralized payment system built on the Script programming language which is not Turing complete, meaning it cannot execute all computation logic functions. Ethereum on the other side is a a decentralized platform that is Turing Complete, meaning that it has the capability to solve any computational problem and run smart contracts (applications that run exactly as programmed). While Bitcoin is itself a DAPP that is used to exchange money, Ethereum is a DAPP that developers use to build their own DAPPs.
  1. What is a Turing Complete programming language?
  • A programming language is Turing Complete if any possible algorithm can be implemented with it, being able to solve any computable function.
1 Like
  1. What does the EVM do?

It reads the coded instruction of the smart contract and seperates the CPU from the code to improve the security

  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?

Solidity is the language programmers write in and then it is compiled into bytecode

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

Because it’s programming language Script is not turing complete

  1. What is a Turing Complete programming language?

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

1 Like
  1. What does the EVM do? - It encapsulates the sensitive data on the terminal computers so that the nodes are not compromised
  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? - The compiler that converts the English into Byte code
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? - Bitcoin is not Turing complete and cannot solve all problems
  5. What is a Turing Complete programming language? - Turing complete language has loops
1 Like

EVM (Ethereum Virtual Machine) encapsulates smart contract code to prevent spam or other malware from affecting a given node’s CPU (and thereby preventing such spam or malware from affecting the entire network) and interprets the smart contract code into instructions that allow a given node (CPU with EVM installed) to execute the smart contract.

The EVM reads instructions that are in byte code - basically byte code can be read and executed by a software interpreter (EVM in the case of Ethereum).

Solidity is converted by a compiler to Bytecode.

Bitcoin can’t run complex programs because it is a “primitive language” - a language not Turing Complete (see answer to next question on T. Complete)

Turing Complete programming language has loops - so it can repeat a given instruction set a specified # of times. In a broader context, at T. Complete language can execute any algorithm (I think this is what I understood from the link followed by links in homework reading).

1 Like
  1. EVM (Ethereum Virtual Machine) is an additional layer on top of each nodes CPU within the network. EVM makes it possible to reach consensus for smart contacts. Additionally, EVM provides security by not allowing the network to be exposed directly to the codes within the smart contract. The EVM reads the code of the smart contracts and interacts with each CPU.

  2. Byte code is the instructions that EVM can read. Each programming language on ETH must be run through compiler to “translate” to Bytecode.

  3. EVM executes instructions by a programming language called Solidity. A compiler than takes Solidity and transalates to Bytecode which the EVM can read and execute.

  4. Bitcoin cannont run complex programs like Ethereum due to it not being Turing complete.

  5. A Turing complete language means it can run complex code, for example loops.

1 Like