Homework on EVM

  • What does the EVM do?
    evm acts like the cpu for the network by accessing Bytecode inside Smart Contracts and nodes work through the evm to confirm that Smart Contracts are executing correctly

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

  • What is the relationship between the programming language Solidity and Bytecode?
    programmers use Solidity programming language to write programs that can access Bytecode inside Smart Contracts

  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    the Script programming language used by Bitcoin for programmable contracts is not Turing Complete and therefore has limited capabilities

  • What is a Turing Complete programming language?
    in theory this type of language has unlimited capabilities to write Smart Contracts, however in reality it is limited by network scalability

1 Like
  • What does the EVM do?
    The EVM takes all the instuctions written in the smart contracts in solidy language. Each and every node on the Etherum network runs the EVM so this give allows for a more secure and trustless network
  • What is the format of the instructions that the EVM can read?
    the instructions must be written in solidty which then the EVN converts into a bytecode
  • What is the relationship between the programming language Solidity and Bytecode?
    Solidy is the language used by programmers to write smart contracts, and bytecode is the way the EVM processes and runs the smart contract
  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Becasue BTC is not turing complete
  • What is a Turing Complete programming language?
    a turing complete language is one that can do anything you program it to do
1 Like
  1. EVM is a virtual machine that runs on all nodes. It can read and execute code, i.e. from smart contracts. It also adds a degree of security by encasing smart contracts such that the code can’t break out.

  2. EVM reads Byte code.

  3. Solidity is the language in which a smart contract may have been written, when ran through a compiler this produces the byte code that runs on the CPU of a node. An alternative language could’ve been used such as Viper.

  4. Bitcoins language “script” is not turing complete, only allowing for very simple/static programming.

  5. A turing complete language is a progrmming language that is extremely flexible and permits you to code and build more dynamic programmes; e.g the language Solidity. You could draw similar comparisons to Web 1.0 being like bitcoin, only allowing for just text and pictures. Until JavaScript allowed the evolution to Web 2.0, allowing for dynamic websites where people could chat and make accounts. Web 2.0 correlates to the ethereum network where Solidity allowed for more dynamic programming and the start of Dapps.

1 Like
  1. What does the EVM do?

The EVM is a progam which is highly programmable, which can do “loops”, unlike Bitcoin. The EVM can be used to protect your CPU and yet manage commands to and from the nodes and the Ethereum network.

  1. What is the format of the instructions that the EVM can read?
    EVM does not have a preference but right now it uses Solidity and in the near future, Viper.

  2. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is a language used by developers. Solidity saves it as a more rudimentary language called Bytecode, which the nodes can easily read.

  3. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because Bitcoin’s script language does not have the capabilities that Ethereum has, such as running loop commands.

  4. What is a Turing Complete programming language?
    A Turing Complete is a computer or language which can simulate what a Turing Complete machine could do, which included complex operations, loops and instructions. Turing Incomplete is when a computer or language cannot solve problems a Turing complete can.

1 Like
  1. EVM checks the smart contract code and send commands to the CPU to run the code.

  2. Bytecode

  3. Solidity is the programming language of smart contracts on ethereum and bytecode is the compilation of the code done by the EVM

  4. Bitcoin script is not a Turing complete language.

  5. It is a programming language that can approximately simulate the computational aspects of any general-purpose programming language

1 Like
  1. What does the EVM do? The EVM executes all the instructions in the smart contract.
  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 users a compiler and converts to byte code.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? Its not Turing complete.
  5. What is a Turing Complete programming language? Computationally universal.
1 Like
  1. What does the EVM do?
    Makes it possible for us to execute code on the network to execute smart contracts.
    All nodes on the Ethereum network run EVMs, or Ethereum Virtual Machines.

  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?
    Code is written in Solidity by the programmer and compiled into bytecode which is the language the computers will understand.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin ‘script’ is not a Turing Complete programming language like Solidity, which means has limitations as to what can be done with it.

  5. What is a Turing Complete programming language?
    A Turing Complete language is one that, given enough time and memory along with the necessary instructions, can solve any computational problem, no matter how complex.

1 Like
  1. Executes the code of a smart contract on each individual node across the network.
  2. Byte code
  3. The programmer would write in Solidity and then run that through a compiler which will deliver Byte code which is whats actually executed by the EVM.
  4. Bitcoin is not Turing Complete, specifically it does not have the ability to execute loops.
  5. A Turing Complete programming language can be used to do anything you can imagine in theory whereas a non Turing Complete language is limited in what it can accomplish.
1 Like
  1. What does the EVM do?
    EMV IS A LAYER BETWEEN CPU AND INSTRUCTIONS IN A SMART CONTRACT
  2. What is the format of the instructions that the EVM can read?
    EVM CAN READ ALL BITE CODES LIKE SOLIDITY AND VIPER
  3. What is the relationship between the programming language Solidity and Bytecode?
    SOLIDITY IS A TOURING COMPLETE PROGRAM LANGUAGE THAT CONVERT CODES IN BYTE CODES
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    BECAUSE BITCOIN PROPOSE IS TO BE DIGITAL MONEY DIGITAL GOLD (and bitcoin developer think that the possibility of having development over bitcoin can spam the narrative
  5. What is a Turing Complete programming language?
    Theoretically is a program where you can do everything
1 Like
  1. What does the EVM do?
  2. What is the format of the instructions that the EVM can read?
  3. What is the relationship between the programming language Solidity and Bytecode?
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
  5. What is a Turing Complete programming language?
  1. EVM is running on top of hardware of each node on the ethereum network, and it reads the instructions in the smart contract and executes it for CPU. It also makes sure that there is no malicious instructions in the smart contract.
  2. EVM reads instructions compiled in Bytecode from Solidity.
  3. Solidity complies its language into Bytecode so EVM can read the instructions.
  4. Bitcoin stays best itself for simple transaction and a few other purposes like multisig. If more complex programs run on bitcoin, this will cause jams and mess in the network.
  5. A Turing Complete language such as Solidity allows to solve any math problems and create more complex instructions.
1 Like

1- Execute instructions expressed in bytecode in the smart-contracts, at the top of each node, give instruction to node’s CPU. Also ensures security and non-malicious instructions.
2 -bytecode
3- Soldity code can be compiled to Bytecode
4- Because it’s not Turing-complete (ex : no loops are possible)
5- A Turing-Complete language allows to build what you need (u can use loops and other stuff)

1 Like
  1. It secures the net work and reads the byte code compiled from solidity
    2.Byte code
    3.solidity is the programming language for the smart contract, which is then complied to Byte code, with the EVM can read
    4.Script programming language is very basic and is not Turing complete.
  2. Its is a language that you can ask the program to repeat the same operation over and over
1 Like
  1. What does the EVM do?
    EVM is a security layer on top of Ethereum network which executes 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 primary programming language for smart contracts on ETH network, which is then compiled into bytecode for the EVM

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    because ETH is Turing complete and BTC is not, due to their programming languages being used Scrypt vs Solidity

  5. What is a Turing Complete programming language?
    means that the language can compile complex pieces of codes

1 Like
  1. What does the EVM do?
    The EVM (Ethereum Virtual Machine) executes the smart contract code.
  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?
    The Solidity program gets compiled and during the compilation process the Bytecode gets produced.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin’s programming language, Script, has far fewer capabilities that the Ethereum Solidity language.
  5. What is a Turing Complete programming language?
    A Turing Complete programming language allows for any conceivable logic operation including conditional looping.
1 Like

@sinsan Welcome to forum :smiley:

2 Likes
  1. Ethereum virtual machine: exectutes smart contract code, isolates individual conract code into byte code

  2. Byte Code

  3. EVM can only interpret/“read” byte code. Byte code is compiled from solidity programming language.

  4. protection/security reasons

  5. can program any instructions ad a smart contract on the blockchain

1 Like

The EVM, or Ehteruem Virtual Machine, acts as an intermediary between the individual node host machines and the smart contracts that are deployed on the ethereum blockchain. It reads the byte code that contains the instructions of the smart contract, and then instructs the cpu of the host node to execute these instructions. The programming language Solidity is an English like programming code in which the smart contracts are written. It then uses a compiler to translate these instructions and logic into bytecode. Bitcoin does not have the same capabilities to run the types of Programs that Ehtereum does, primarily to maintain the network speed and security. The Bitcoin community rejected Butterins’ ideas about smart contracts primarily because it did not feel that the Bitcoin network would benefit from these aspects of future capabilities, instead it wished to preserve Bitcoins initial goals of being a peer to peer remittance system and a store of value like a digital form of Gold.
Turing complete programming languages are capable performing any type of mathematical operation imaginable, whereas script, the basic progrramming language of Bitcoin is limited to only certain calculations. One of the main reasons Bitcoin does not use a turing complete language is because of the loop feature, which allows the programmer to instruct the machine to perform multiple calculations with different variables and thus would slow down the network.

1 Like

The EVM, or Ehteruem Virtual Machine, acts as an intermediary between the individual node host machines and the smart contracts that are deployed on the ethereum blockchain. It reads the byte code that contains the instructions of the smart contract, and then instructs the cpu of the host node to execute these instructions.
The programming language Solidity is an English like programming code in which the smart contracts are written. It then uses a compiler to translate these instructions and logic into bytecode. Bitcoin does not have the same capabilities to run the types of Programs that Ehtereum does, primarily to maintain the network speed and security.
The Bitcoin community rejected Butterins’ ideas about smart contracts primarily because it did not feel that the Bitcoin network would benefit from these aspects of future capabilities, instead it wished to preserve Bitcoins initial goals of being a peer to peer remittance system and a store of value like a digital form of Gold.
Turing complete programming languages are capable performing any type of mathematical operation imaginable, whereas script, the basic progrramming language of Bitcoin, is limited to only certain calculations. One of the main reasons Bitcoin does not use a turing complete language is because of the loop feature, which allows the programmer to instruct the machine to perform multiple calculations with different variables and thus would slow down the network.

1 Like

The EVM is like a CPU executing code on a program. It interacts with the network of computers that have the ethereum program language. The format of instructions is written in EVM Bytecode. Solidity is the language and a compiler is used to compile into the Bytecode. Ethereum’s computer language Solidity is turing complete, while Bitcoin’s Script language is not. Turing Completed would be a language that has loops.

1 Like
  1. What does the EVM do?
    The EVM, the Ethereum Virtual Machine, is feeding the ethereum platform to create smart contracts. It is not included in the blochchain, so you can test, standing beside the blockchain, without changing the ethereum bloickchain. Each node is running the ethereum platform and each node has a little bit of the EVM. The addition of all these single parts is creating the whole EVM.

  2. What is the format of the instructions that the EVM can read?
    The EVM is reading all machine language, which are based on the the binare code 0,1.

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is a programming language . It is similiar to Java. Bytecode is necessary to translate the programming language into a Bytecode. the Bytecode is a language between the programming language and the machine language. The EVM is able to read the bytecode, so that all CPU machines can do what the programming is asking them to do. .

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    the Bitcoin proramming language “skript” is not made for accomplished proramming. Bitcoin is amde as money and payment system. Skript is a non turing language.

  5. What is a Turing Complete programming language?
    With a turing complete language you can say, programme, calculate everything what you want. It means you need a big brain and memory.

2 Likes