Homework on EVM

  1. It works as a security protocol that interacts with different CPU’s/nodes of a blockchain to read, confirm and deploy smart contracts.

  2. Bytecode, which is compiled on Solidity and Viper to be read by EVM.

  3. Solidity is able to compile or read the instructions written in Bytecode, which is the way we can create smart contracts on EVM.

  4. Bitcoin network was created under the PoW algorithm, which allows the nodes on its blockchain to validate the TX’s on each block. Meanwhile, while using EVM, it’s possible to create smart contracts with more complex instructions and conditions, not only focused on transactions, but also on programmable products or digital solutions.

  5. It’s a language that is not exclusively linear, that can work with different conditionals, in which you can update or re-read instructions (looping) that can vary when the deployment is running. It allows the system to work under the premise of reading and deploying new sets of rules while running a piece of code.

1 Like

1- Ethereum virtual machine, or EVM for short, is a blockchain-based software platform. It allows developers to create decentralized applications (Dapps)
2- In order to efficiently store opcodes, they are encoded to bytecode
3- Smart contract languages like Solidity cannot be executed by the EVM directly. Instead, they are compiled to opcodes and to efficiently store them, they are encoded to bytecode.
4- Bitcoin is nothing more than a currency, whereas Ethereum is a ledger technology used to build new programs
5- A Turing Complete language, means everything that needs to be computed can be computed using it

1 Like

EVM reads code in a script before it gets executed by the CPU like a security layer for the network.

Bytecode is the format that EVM can read.

It is the compiler which compile the instructions to bytecode.

Because Bitcoins programming language is limited by its programming language which is not turing complete.

It is a language which you can program anything with and solve and computation problem.

1 Like
  1. EVM stands for Ethereum Virtual Machine and it acts as the intermediary between CPU and Smart Contract that reads the Smart Contract byte code and delivers the instructions to the CPU for execution.

  2. Byte code

  3. Solidity is the language used to write byte code

  4. Bitcoin is very limited because it does not contain a Turing Complete programming language.

  5. A Turing Complete programming language (such as Solidity) is one in which any type of programming for an application is feasible. Essentially your options are not limited in regards to programming of an application.

1 Like
  1. EVM’s compiles the instructions of a smart contract relays the commands it byte code to the CPU.

  2. EVM compiles programing languages into byte code.

  3. Solidity is compiled into byte code by the EVM which gets deployed to the Ethereum blockchain.

  4. Bitcoins programing language in written in script which isn’t truing complete. Script cannot execute loop commands.

  5. Turing complete programing allows to execute of commands in a loop, allowing for limitless potential for computing in theory.

1 Like
  1. The Ethereum Virtual Machine is a single environment that is run on all nodes simultaneously. It is the mechanism through which smart contracts are implemented on the Ethereum blockchain.

  2. The EVM can read smart contracts in Bytecode.

  3. Solidity is the user-friendly language through which smart contracts are programmed by users. This is then translated into Bytecode, the program read by the EVM.

  4. The bitcoin protocol reads a simple programming language called Script. It is NON-Turing complete by design in order to maintain the security and scalability of the bitcoin network. It doesn’t need complex programs like Ethereum because it is meant to be a decentralized monetary network and payment settlement layer. Period.

  5. It is one that is able to write code complex enough to solve any problem that a computer theoretically could solve if given enough memory, power, etc.

1 Like

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

  • What does the EVM do?
    ans: Ethereum Virtual Machine reads and executes the commands written on smart contracts on Ethereum network
  • What is the format of the instructions that the EVM can read?
    ans: bytecodes
  • What is the relationship between the programming language Solidity and Bytecode?
    ans: Solidity compiles info data into bytecode so that smart contracts run on EVM is able to interpret and executes commands. Solidity = messenger Bytecode = message EVM = receiver and executer
  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    ans: Bitcoin is the grandfather clock which pendulum can only swing left and right (basic script), Ether is digital watch (turing complete with the ability to create loops)
  • What is a Turing Complete programming language?
    [/quote] Turing complete language is all front interactive, running Loops dynamically and repeatedly so long as the instructions are programmed within logical, theoretical framework.
1 Like
  1. EVM executes a smart contract without directly interfering with your computer CPU.

  2. Smart contracts are programmed with Solidity and I suppose the output is in bytecodes, so EVM reads the instructions in bytecodes.

  3. Solidity is the tool used to program smart contracts and the program’s output is in bytecode format.

  4. Bitcoin’s script is limited and the community around it do not want to change the nature of bitcoin as digital currency. Ethereum on the other hand was proposed as a change to be included in the Bitcoin, but was refused, to keep Bitcoin in its original purpose. So, Ethereum is an alternative to Bitcoin that can run anything. It is Turing Complete.

  5. A Turing Complete language has an universal use, basically unlimited usage of the code. You can literally code anything.

1 Like

1.The EVM reads the compiled solidity code (Bytecode) and tells the CPU’s of node computers what to do.
2. The format is Bytes(Bytecode)
3. The relationship is that the are the same thing however solidity is written in a more spoken way and then compiled into bytes which is then read by the EVM.
4. It cannot because it is not Turing complete. The code it can run is very limited. This was to keep the blockchain lightweight and faster.
5. Turing complete means you can code whatever you want and it can be executed and run.

1 Like
  1. The EVM Ethereum virtual machine is a program that all Ethereum nodes run on their computer that encapsulates and processes smart contracts on the Ethereum blockchain.
  2. EVM can read turning complete language, called Solidity.
  3. Solidity is run through a compiler to generate the machine language called byte code to be run in EVM.
  4. Because the script language associated with Bitcoin is non-Turing-complete language.
  5. This means a coding language that can be used for any application the developer wants, without limits.
1 Like
  1. The EVM reads Smart Contracts and tells the CPU to execute them.
  2. The format is in Solidity
  3. Solidity is the programming language and Bytecode is what you get out of the compiler.
  4. Because the programming language that Bitcoin uses -Script - is not Turing Complete.
  5. It is a language that can use loops and iterations to complete complex instructions.
1 Like
  1. The EVM is able to execute smart contracts in place of your computer’s CPU in order to maintain the security of the Ethereum network and the nodes that comprise it.

  2. Smart contracts?

  3. Solidity translates into Bytecode?

  4. Bitcoin is not Turing Complete.

  5. A Turin Complete programming language is in theory capable of performing any computational task that one could think of.

1 Like

Homework on EVM - Questions

1. What does the EVM do?

The Ethereum Virtual Machine (EVM) is a piece of software/application that reads off instructions embedded in smart contracts (SCs) before relaying the information to a computer’s Central Processing Unit (CPU), in order to carry out these instructions.

The EVM isolates individual SC code from a node’s operating system (OS)/CPU to prevent malicious forms of hacking from taking place.

It also represents Ethereum’s distributed computer network where all nodes run on it.

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

The code read by an EVM is usually compiled into Byte code by a Solidity or Viper compiler.

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

Solidity is a programming language developed by Ethereum that allows to code instructions in a straightforward way, which are then compiled into Bytecode using its compiler.

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

Bitcoin developers decided not to allow for looping functions (a feature of SCs) as they were concerned this feature, as well as the storage of SCs, would significantly affect the size of the Blockchain network, impact its scalability and potentially lead to loads of spamming.

Bitcoin’s programming language (Script) is also not considered Turing Complete unlike Ethereum’s Solidity/Viper.

5. What is a Turing Complete programming language?

A programming language is considered Turing Complete when anything imaginable could theoreticallybe programmable on it. Practically speaking, however, it remains to be seen whether it may actually be practical to do so (for scalability reasons, etc.)

1 Like
  1. What does the EVM do?
    The EVM translates smart contract code so the nodes CPU can execute directions utilizing its local resources.

  2. What is the format of the instructions that the EVM can read?
    The instructions of the smart contract are written in bytecode

  3. What is the relationship between the programming language Solidity and Bytecode?
    Smart contracts on Ethereum are written in Solidity, a compiler application translates this to Bytecode so the EVM can read & execute instructions.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin’s programming language is limited in its problem solving capabilities, namely it is not Turing Complete

  5. What is a Turing Complete programming language?
    A Turing Complete language allows for loops, telling a program to execute specific instructions and repeat these instructions over & over again. Programming this way makes changing instructions much easier, rather than having to make adjustments to every single set of instructions, it can be modified & repeated.

1 Like
  1. Ethereum Virtual Machine that used to execute Solidity and isolate and protect the CPU (Security) that all nodes have a consensus to run.
  2. The format of instructions is Smart Contract
  3. Solidity like javascript has a compiler to compile bytecode to be read by EVM. EVM only concern about the bytecode that it receives.
  4. BTC’s script language is not complete to program an application n top of the blockchain and very limited. running loops would have to be written manually and could cause spam to execute “millions” of times
  5. Ethereum s a true and complete as its able to create any program on top of Ethereum with ability to scale.
1 Like
  1. The EVM reads and executes smart contracts that were previously converted to bytecode.

  2. The EVM can only read bytecode, it doesn’t matter the language it was created to produce that bytecode.

  3. Solidity is just a high level programming language, that helps developers develop the functionality they wish, but then this code is translated to bytecode which is hard for humans to understand but better for computers.

  4. Because Bitcoin programming language (script) is not turing complete, whereas solidity is.

  5. A turing complete language is in theory a language that can be configured to solve any computional problem.

1 Like
  1. What does the EVM do? Calculations with within the EVM have limited access to other info on the hardware.
  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 gets compiled into bytecode that is then running on the EVM.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? Because the bitcoin “script” language is not turing complete
  5. What is a Turing Complete programming language? A language with enough features to build “anything”
1 Like
  1. It’s a virtual machine on which we can run smart contracts. This protects the underlying soft / hardware from being taken over by malicious scripts.
  2. Bytecode.
  3. Solidity is the coding language we use to write smart contracts. This is then parsed into bytcode which our machines can read.
  4. Bitcoin isn’t turing complete. For instance it lacks for-loops which are essential.
  5. The course it mentioned that you can program anything in a turing complete languages. Though more specifically you’d be able to simulate a turing machine using a turing complete language where this isn’t possible with a turing incomplete language.
1 Like
  1. What does the EVM do?
  • Encapsulates the execution of Ethereum smart contracts so that any malicious or misbehaving code is not executed on the host machine directly.
  1. What is the format of the instructions that the EVM can read?
  • Bytecode compiled from Solidity
  1. What is the relationship between the programming language Solidity and Bytecode?
  • Solidity is compiled into EVM-compatible bytecode
  1. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
  • Bitcoin does not support a Turing Complete instruction set
  1. What is a Turing Complete programming language?
  • A Turing complete language can (in theory) be used to solve any computation problem
1 Like
  • What does the EVM do?
    It translates byte code from smart contracts for cpus of each node telling them what to do. It also acts as a security layer preventing dangerous code from harming the ethereum network.
  • What is the format of the instructions that the EVM can read?
    Byte code
  • What is the relationship between the programming language Solidity and Bytecode?
    Solidity is the programming language that is then turned into byte code to be read by the EVM.
  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because it is NOT turing complete.
  • What is a Turing Complete programming language?
    It is a programming language that allows for limitless programmability functions. Solve everything.
1 Like