Homework on EVM

  1. What does the EVM do?
    EVM stands for etherium virtual machine, It is a network of nodes executing the etherium’s smart contracts. It needs the network of individual CPU jointly to compiles etherium contracts.

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

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity (or viper) are examples of languages that can be used by developers to create smart contracts. It will then been compiled into bytecode. The EVM uses/reads the code and executes it. The language used by the developers doesn’t mater as these languages will be compiled into by to code anyway before being used.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin can only execute very simple smart contracts script language of Bitcoin is not complete.
    Etherium runs turing: a looping of self checking of the code that will adapt.

5 What is a Turing Complete programming language?
Turing is a looping of self control ( 1000 )check and adapt system for smart contract. Thus enabling the execution of very complex , safe and precise contracts.
To use an image, It’s like comparing web version 1 and it’s static limitations with web version 2 and JavaScript; flexibility and interactivity.

1 Like
  1. The EVM (Ethereum Virtual Machine) sits on top of each node on the network and executes the instructions in a smart contract. Each node verifies the contract thereby using PoW to reach consensus of the validity of the contract.

  2. The format of the instructions that the EVM can read is EVM_byte or bytecode.

  3. The relationship between the programming language Solidity and Bytecode is that bytecode is the executable compiled from the solidity code. It is possible to use other languages including the new language Viper to arrive at the compiled executable bytecode.

  4. Bitcoin cannot run the same type of complex programs like Ethereum can because it is not Turin Complete therefore not having the ability to rum complex instructions such as languages which are Turin Complete which Ethereum is.

  5. A Turing Complete programming language is one that can handle complex instructions or constructs of a programming language such as iteration or loops.

1 Like

EVM reads the code from the smart contract and gives instructions to CPU about what to do. Essentially a middle man for all nodes on the network and the smart contract written on Ethereum

EVM can read byte code

A developer writes the smart contract in Solidity and then compiles the contract into byte code, that EVM can read.

Bitcoin uses a different programming language for programs called Scripts and that is a NTC language.

A TC language has more functions and the main one is that you can create loops. This means that you don’t have to handwrite it, when the program needs to do the same thing, sometimes with different variables, for many times.

1 Like
  1. Runs on top of CPU hardware as a network of nodes to determine overall state of ethereum.
  2. Bytecode
  3. Solidity is used to construct smart contracts, which is compiled into bytecodes executed by the EVM.
  4. Bitcoin’s script language is not turing complete.
  5. A programming language that can theoretically do anything with any instructions, and that can run loops.
1 Like
  1. The EVM reads the smartcontract and translates it to byte code so the CPU can execute the the instructions in the Smart contract.
  2. It’s formatted in solidity language.
  3. Solidity is the language in which smart contracts are coded, the EVM translates this to Bytecode which can be executed bij the CPU.
  4. Bitcoin only has a very basic coding language called script, this is a non turing complete, what means it can not solve all problems that may be needed for an application.
  5. Turing complete means that it has all functions needed to solve a problem and is able to code any application. Solidity is a turing complete language which means any application can be coded on top of etherium. Solidty for example has the function to create loops.
1 Like
  1. The Ethereum Virtual Machine is the operating system used to run smart contracts.
  2. EVM reads Byte code which is produced by the solidity/viper compiler.
  3. We program our smart contracts in solidity, then the solidity compiler produces byte code.
  4. Bitcoin uses script which is not a turing complete language which means some problems can’t be solved.
  5. A turing complete programming language allows the programmer to run loops on the software and when every possible computable problem can be solved.
1 Like
  1. What does the EVM do?
    Runs code on all computers in the network.
  2. What is the format of the instructions that the EVM can read?
    It reads bytecode which is compiled by languages that are able to write smart contracts.
  3. What is the relationship between the programming language Solidity and Bytecode?
    We write logic of SC in Solidity and that is compiled to byte code which then EVM reads and executes by using the network CPU.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because it’s not Turing complete.
  5. What is a Turing Complete programming language?
    Ability to execute piece of code more than once. Meaning executing almost anything that can be calculated.
1 Like
  1. What does the EVM do?

The Ethereum virtual machine runs on all of the other nodes in the network

  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 is the language to write the bytecode

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

Because Bitcoin is not a Turing Complete language and Ehtereum is.

  1. What is a Turing Complete programming language?

A programming language that allows you to implement any possible algorithim with it.

1 Like

Q1. What does the EVM do?
A: The EVM (Ethereum Virtual Machine) runs on all the nodes in the network. EVM can execute Smart Contract bytecode instructions. These are low-level binary instructions that result from compiling Solidity language.

Q2. What is the format of the instructions that the EVM can read?
A: Bytecode.

Q3. What is the relationship between the programming language Solidity and Bytecode?
A: Once a Solidity program is compiled it becomes Bytecode.

Q4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
A: Bitcoin does not allow Smart Contracts. It is not Turing Complete.

Q5. What is a Turing Complete programming language?
A: It is a programming language that has a number of characteristics including the ability to run loops. TC languages can execute almost anything that can be calculated.

1 Like
  1. The EVM receives instructions via smart contracts and executes them via the Ethereum network of nodes. It prevents malicious attacks by inspecting the code before allowing it to be executed on Ethereum

  2. Bytecode which is distilled from whatever programming language was originally sent

  3. Solidity is how contracts are written and the EVM converts to Bytecode before implementing

  4. Fearing spam attacks and network overload, BTC developers chose to stick to the original Script language which does not allow for complex programming

  5. Turing complete is a programming language capable of performing complex operations/functions

1 Like
  1. Ethereum Virtual Machine is an application layer that runs on top each of the nodes that form the Ethereum network. Its purpose is to verify the smart contracts executed on the chain acorss the whole the network and in doing so, to establish consensus.

  2. EVM is formatted in bytecode, which is the result of a compilation applied to a certain programmin language.

  3. Solidity as a programming language is what the human uses to program instructions and mathematical constraints and rules (the input) which is then compiled into byetcode as an output and which can be interpreted by the Virtual Machine or the CPUs…

  1. Bitcoin´s is unable to carry program code onto its network to keep light, to prevent abuse and malicious use of code on it. At its most sophisticated it may manage a multisignature requirement as part of a transaction, but it will not handle complex mathematical relationships. There is no Network Virtual Machine on bitcoin blockchain.
  1. A Turing complete programming language as such is capable of expressing, running and calculating any mathematical relationships and algorithms you may devise.
1 Like
  1. What does the EVM do?
    The EVM reads the code and tells the CPU to execute it once it reaches consensus.

  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 programming language that the smart contract is written in. A compiler then compiles it into bytecode so that the EVM can then read and execute the code.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin runs on script which is not turing complete and cannot run complex instructions. EVM uses solidity which is a turing complete language.

  5. What is a Turing Complete programming language?
    A language that can complete any instructions or algorithm written in it.

1 Like

1.The EVM or Ethereum Virtual Machine adds a second layer to the network of computers running Ethereum nodes. The EVM makes it possible to execute code on the network in a secure way while achieving consensus. The EVM looks at the instructions in the smart contract code before processing and telling the CPU what to do.

  1. The smart contract will be written in a programming language [possibly Solidity]which is then compiled into Byte Code which the EVM can then read.

  2. Solidity is only the programming language the smart contract instructions have been written in [viper may be used instead]. A special application called a compiler is used to compile the instructions in to Byte Code. The EVM can only read Byte Code. Once the EVM has read the Byte Code it will execute the instructions.

  3. Bitcoin programming language Script is very simple and is not Turing Complete, this means it can not solve all the problems it might have to solve if you want it to complete some programs with more complex tasks.

  4. A Turing Complete language will have Loops. Loops is programming that allows you to tell software to do one thing multiple times, it could be thousands of times even. If you do not have loops programming then you could be writing out single instructions every time.

1 Like

1. What does the EVM do?

EVM is a piece of code that all the nodes within the network are running that will help CPU 's read & execute the instructions from the smart contracts. It provides security and ensure nothing malicious will happen to each CPU and its network.

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

EVM will read and execute codes from smart contracts that uses a compiler, which is a special application that will translate the logic into Byte codes.

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

Solidity is the programming language written in smart contracts, which uses a compiler to translate into Byte codes for EVM to understand & execute instructions.

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

Bitcoin is very limited when it comes to programming as it runs on primative script language and is not a turing complete programming language.

5. What is a Turing Complete programming language?

It means you can program anything you want or what you can think of…it can be done, there is not much limitation theoritcally.

1 Like
  1. What does the EVM do?
    EVM is an application that runs on top of the existing hardware of each node on chain. EVM reads the content / code of the smart contract that is in EVM byte code and returns the commands to CPU to execute them and after that through EVM the final state is updated on the smart contract.
  2. What is the format of the instructions that the EVM can read?
    EVM can read byte code.
  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is the program language for Ethereum which uses Bytecode, an abstract instruction set designed for efficient execution by a software interpreter or a virtual machine. Unlike solidity (human-readable source code), bytecode is expressed in numeric format.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    It uses program language that has some limitations that are not enabling the code to do certain tasks.
  5. What is a Turing Complete programming language?
    It is a language that enables developers to describe any kind of task in that language.
    Whit that kind of language the program can adapt to changing variables and therefore change the output of the program or change the function that will be executed.
1 Like
  1. EVM reads and prepares smart contract instructions in isolated environment due to security reasons and then provides CPU with more machinery code for final computing
  2. Bytecode
  3. Solidity is higher level programming language which is compiled to Bytecode for further EVM processing
  4. Bitcoin community is against such an implementation, beside that Bitcoin uses a Script programming language which is not Turing Complete, which means that complex problems or tasks can not be solved by this language in Bitcoin
  5. Turing Complete language can successfully execute any given algorithm
1 Like
  1. What does EVM do?
    Intermediates between the CPU and the smart contract to generate a result;
  2. What is the format of instructions that the EVM can read?
    Bytecode;
  3. What is the relationship between Solidity programming language and Bytecode?
    Bytecode will compile Solidity programming language logic and instructions and talk to EVM;
  4. Why can’t Bitcoin run the same kind of complex programs as Ethereum?
    Bitcoin is not Turing Complete;
  5. What is a Turing Complete programming language?
    “In the theory of computation, a system of data manipulation rules (as in an instruction set, a programming language, or a cellular automaton) is said to be Turing-complete or computationally universal if and only if it can be used to manipulate any single-tape Turing machine and thus, in principle, any computer. A classic example is the lambda calculus. Turing-completeness is so named in memory of Alan Turing.” Source: Wikipedia
1 Like
  1. It makes it possible to execute code on the blockchain. It reads the instructions of a smart contract and tells the CPU to execute them.
    It also protects your computer/node against being taking over by a smart contact with malicious content.

  2. Byte code

  3. In solidity you make smart contract instructions and a compiler puts these instructions in byte code so the EVM’s can read the smart contracts.

  4. BTC is not turing complete

  5. You can program what you want. exc: Solidity

1 Like
  1. What does the EVM do?
    EVM is Ethereum Virtual Machine. It runs the smart contract code on blockchain by using the resources of the node. Smart contract are written in solidity programming language which are then compiled to bytecode and EVM run these bytecode on blockchain.

  2. What is the format of the instructions that the EVM can read?
    EVM can read instruction in bytecode. Bytecode is generated by compiling smart contract written in solidity.

  3. What is the relationship between the programming language Solidity and Bytecode?
    A compiler compiles the smart contract written in solidity language to Bytecode. Solidity is high level language which is like instructions written in english language and Bytecode is assembly language or machine level language.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin cannot run the complex type program because it does not have turing complete programming language.

  5. What is a Turing Complete programming language?
    Turing complete programming language are generally high level languages which have readable syntaxes and where one can write instructions in english language. Turing complete laguage can do any calculations or anything which you can imagine.

1 Like
  1. The Evm reads smart contracts to give a cpu instructions on what to execute.

  2. Byte code

  3. Soldity allows us to write comprehendable code in english, to later use a compiler to compile the instructions into byte code.

  4. Because it is not Turing Complete, which could result in issues like spam, and significant increase in blockchain size.

  5. A Turing Complete programming language is a programming language that is sophisticated enough to implement any posible algorithm with it.

1 Like