Homework on EVM

  1. What does the EVM do?

EVM executes the solidity byte code in a secure manner.

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

The EVM executes compiled smart contract bytecode.

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

Solidity is the programming language and bytecode is a Solidity program (smart contract) compiled into bytecode.

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

Bitcoin blockchain has limited capabilities e.g. does not have integrated the required tools to develop smart contracts. Also the Bitcoin programming language script is not a Turing compatible language and therefore cannot execute complex code.

  1. What is a Turing Complete programming language?

Modern programming languages are said to be Turing complete because they can accomplish the same computing principles noted in Turing’s theory. The Turing machine itself is composed of three theoretical components:

1. A limited set of states e.g. a smart contract can change state
2. An infinite amount of storage e.g. Blockchain practically provides that storage
3. A transition function e.g. a smart contract using EVM changes state

In simple words a Turing compatible language has better expression capabilities and therefore can be used to solve more complex problems.

1 Like

1.) EVM makes it possible to execute code on the Ethereum network. These pieces of code are smart contracts.
2.) EVM can read byte code.
3.) Solidity is used to program smart contracts and compiles and translates instructions into byte code for the EVM in order to be executed.
4.) Script (for Bitcoin) is not a turing complete language. It has limitations to what it can do.
5.) A turing complete language can solve anything mathematical. It allows the programmer to develop almost anything they want through a set of instructions.

1 Like

What does the EVM do?
Reads instructions in smart contrast and tells the CPU to execute it.

  • What is the format of the instructions that the EVM can read?
    EVM reads byte code.

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

  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    It is not turning complete which does not have access to more advanced capabilities like Eth can do because it is turning complete.

  • What is a Turing Complete programming language?
    Solidity

1 Like
  1. EVM runs atop of the hardware, reads and executes smart contracts, and gives instructions to the CPU’s.

  2. The instructions are in Bytecode.

  3. The programmer uses Solidity and Solidity compiles into Bytecode so the EVM can read the smart contract.

  4. Bitcoin uses Script , which is not a turing complete language.

  5. It is a computer language that alows you to program almost anything into a smart contract One of its characteristics is the ability to program loops

1 Like
  1. The EVM runs on every node on the network and executes the byte code of a smart contract. It protects the cpu from potentially malicious code within a smart contract.
  2. The EVM reads byte code.
  3. Solidity is the high level language that is used to program smart contracts. It gets compiled into byte code that can be read by the EVM.
  4. Bitcoin can’t run the same complex programs that Ethereum can because it supports a language called script that is not Turing complete. Ethereum supports solidity which is a Turing complete language.
  5. A Turing complete language is a language that can be used to solve a problem of any complexity.
1 Like

Q1. What does the EVM do?

  1. EVM is an application running on all of the nodes executing the smart contract and then giving instructions to the CPU.

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

  1. EVM byte code is the format of the instructions that the EVM can read.

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

  1. Programmers use a programming language called Solidity to get to the byte code. A compiler, which is a special application will take the solidity code and compile it down to byte code so that the EVM can read the byte code.

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

  1. Bitcoin uses Script. It is not a Turing Complete language.

Q5. What is a Turing Complete programming language?

  1. Turing Complete language is a programming language that allows a programmer to program almost whatever they want.
1 Like
  1. EVM reads smart contracts on the Ethereum network via consensus amoung nodes on the network…

  2. The byte code is the format that the EVM can read.

  3. The Solidity language is written by the programmer to be read by a user while the compiler of the EVM is the mechanism that translates the Solidity language into Bytecode.

  4. Bitcoin was only developed to contain it’s own programming language called Script which is only able to perform basic functions.

  5. A Turing Complete programming language allows for large amounts of coded language to perform multiple functions and store smart contracts.

1 Like
  1. Protects the cpu when reading the code
    2.Bytecode
    3.Byte code si the compiled version of the solity programmed code that the EVM reads and executes.
  2. Because of the limitations of his non turing programming languaje script
    5.A languaje that can do anything including loops
1 Like
  1. reads smart contracts and sends the instructions to the cpu this way protecting the computer
  2. (bytebit)wrong . byte code in solidity
    3.use bytecode to wright in solidity
  3. the programing language “script” use din bitcoin is not so developed , is not touring complete
  4. in theory you can code everything ( including loops )
1 Like

wow, its a lot of questions in this one :slight_smile:

  1. EVM is Ethereum Virtual Machine, which is the one who is executing smart contracts.

  2. EVM reads bytecode instructions which define particular smart contract.

  3. Solidity is programing language for Ethereum smart contracts and a compiler which will generate bytecode needed which would be then executed on EVM.

  4. Bitcoin has s script as a programable language however script is not Turing complete.

  5. Turing complete programming language is a language with complete standard instructions such as loops for example.

1 Like
  • The EVM reads all the instructions in a smart contract, ensures that they are safe to run and asks the CPU of the node to execute it.
  • It can read ByteCode
  • Programmers write the Smart contracts in Solidity programming language, the compilers then compile it to Bytecode so the EVM can read the code.
  • Because the size of the blockchain will get large, and it is only made for transactions and not to be programmed on.
  • Turing complete programming languages are complete languages that allow programmers to make use of it more than other programming languages (like loops for example)
1 Like

The EVM executes smart contracts stored on the Ethereum blockchain.

The format of the instructions the EVM can read is Bytecode.

Solidity compiles to Bytecode that the EVM can then read and execute.

Bitcoin scripting code does not allow for loops and other types of instructions that are necessary to have a language that can accomplish what many want to accomplish in creating applications.

A turing complete language is one that allows for loops and more complex operations that are normally needed to achieve what is desired in useful applications.

1 Like

What does the EVM do? - The EVM reads the byte code based instructions generated by a smart contract, and tells the CPU of the machine it is running on what to do. It also protects the machine it is running on against any potential malicious or harmful instructions.
What is the format of the instructions that the EVM can read? - The EVM reads byte code.
What is the relationship between the programming language Solidity and Bytecode? - Solidity is the (turing complete) programming language that was developed for the programming of Ethereum smart contracts. Therefore, solidity is the language used to generate byte code based instructions for any EVM to read and relay to the CPU it is associated with.
Why can’t Bitcoin run the same type of complex programs like Ethereum can? - Because, Script, the language used to program Bitcoin is not turing complete, allowing only the programming of certain more primitive logic, like multi-sig (and no loops).
What is a Turing Complete programming language? - A turing complete language is a language in which one can program anything that one can conceptualize, in theory.

1 Like
  1. What does the EVM do?
    executes smart contracts that are stored on the Ethereum blockchain
  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?
    Smart contracts are written in Solidity, which are translated to Bytecode via a compiler, in order to make it readable for the EVM.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because it doesn’t have a turing complete programming language and because they didn’t listen to Vitalik :slight_smile:
  5. What is a Turing Complete programming language?
    The highest level of programmability. A language that can perform any computation.
1 Like
  1. What does the EVM do?
    The EVM (Ethereum Virtual Machine) executes smart contracts on all nodes in the Etherum Network.
  2. What is the format of the instructions that the EVM can read?
    The Contracts are written in the Solidity programming language.
  3. What is the relationship between the programming language Solidity and Bytecode?
    The instructions/contracts are written in Solidity which converts the instructions into Machine Byte Code that can be interpreted by the Node CPU.
    Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    The blocks inside Bitcoin are not dynamic or programmable. They can only store financial transactions as a store of money
  4. What is a Turing Complete programming language?
    A Turning Complete language allows complex problem solving and uses features such as loops in its programming language.
1 Like
  1. The EVM parentheses ethereal virtual machine and parentheses reads the code in the smart contracts, executes computations, and then instructs a CPU regarding what actions to take.
  2. The instructions for the EVM to read are written in Solidity, which is a programming language.
  3. Solidity compiles the instructions from smart contracts into Bytecode, which can be interpreted by the EVM.
  4. Bitcoin can’t run complex programs like Ethereum because it uses a primitive programming language called Script.
  5. A Turing complete language can solve all problems and therefore execute any type of contract. The main technical difference is the presence of loops in a Turing complete language. This introduces the vulnerability to spam and malware and also greatly increases the size of the pieces of code, which restricts scalability.
1 Like
  1. What does EVM do?
    EVM is designed to be the infrastructure for smart contracts based on Ethereum.
    The Ethereum Virtual Machine (EVM) is a turing complete virtual
    machine that allows anyone to deploy smart contracts on the Ethereum
    Blockchain without affecting the Ethereum Blockchain operations as EVM is
    designed to work in a sandbox environment by ensuring programs have no
    access to each other’s state, making sure communication is created without being
    disturbed and designed for delivering security and executing untrusted code by
    the computers in the network.

  2. What is the format of instructions that the EVM can read?
    It uses a bytecode called Solidity.

  3. What is the relationship between the programming language, Solidity and Bytecode?
    Solidity is a human readable language. A shorter version of bytecode to make
    programming smart contracts easier. Solidity is then converted to bytecode so the
    EVM can read it.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin runs and executes on a programming language called SCRIPT. Script is
    limited and lacks features of modern programming languages. Complex
    programs would weigh down the Bitcoin Network and make it slower.

  5. What is the Turing Complete Programming Language?
    Turing Complete means that it is computationally universal and doesn’t support
    loops.

2 Likes

1. What does the EVM do?
EVM (Ethereum Virtual Machine) is a piece of code which is runned in every node of the Ethereum network. It reads the Smart Contracts of the network giving a result. This results of each EVMs of the nodes must be equal to reach a consensus.
2. What is the format of the instructions that the EVM can read?
EVM can read in bytecode.
3. What is the relationship between the programming language Solidity and Bytecode?
Programmers use Solidity to comunicate with the EVM, this language has to be compiled to bytecode to be able to read by the EVM.
4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin network is not Touring complete
5. What is a Turing Complete programming language?
https://en.wikipedia.org/wiki/Turing_completeness

1 Like
  1. The EVM makes it possible to execute smart contracts on the ethereum network by telling the computers CPU what to do.

2.The format of the instructions EVM read is called bytecode.

3.Solidity is compiled into bytecode and are then executed on the ethereum network.

  1. Because bitcoins programming language Script is not turning complete.

  2. A turning complete language is a program that allows anything to be programmed. It uses loops to execute instructions several times over again.

1 Like
  1. What does the EVM do?

EVM is the Ethereum virtual machine. The EVM is what interprets and executes the smart contracts.

The EVM reads, interprets and executes the smart contract in an isolated program, rather than directly on the CPU. This reduces the likelihood of malicious code built within a smart contract affecting the computer running the EVM.

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

EVM-bytecode computer language.

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

Solidity is where programmers may write smart contract stepped instructions. Solidity language requires a secondary function known as compilers. Compilers use logic and calculations to convert this language type to bytecode that can now be delivered, read, and handled by the EVM.

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

Bitcoin only has a simple script programmable smart contract language and therefore is limited in usage. It is also not a “true and complete” language whereas Ethereum is. Bitcoin was created to be a safe, secure store of value like gold.

  1. What is a Turing Complete programming language?

A true and complete language is able to perform a loop function. It can instruct a computer to run a set of sequential instructions from say 1-7 and then on the seventh instruction command the computer to revert back to the start to run through it again for maybe 100 times before completion.

1 Like