Homework on EVM

Solidity/Viper are the programming language used to compile the smart contract instructions into Bytecode.

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

Solidity will compile the instructions coded on an smart contract into Bytecode to be able to executed by the EVM.

Hope this give you a better understanding, let us know if you still have any doubt! :slight_smile:

Carlos Z.

Hello sir, The Turing Complete does not create smart contracts, Solidity/Viper are the programming language used to create/design/program.

5. What is a Turing Complete programming language?
Its the ability to solve any kind of complex problem and the capacity to use loops.

Carlos Z.

What does the EVM do?
The Ethereum Virtual machine interprets the compiled code on the Ethereum network. It exists on many nodes within the network and ensures that the code written for the smart contract makes sense.

What is the format of the instructions that the EVM can read?
The instructions are in Bytecode format

What is the relationship between the programming language Solidity and Bytecode?
Solidity is an interpreted programming language that is compiled into Bytecode format before it can be read by the EVM.

Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin does not have a sufficiently Turing complete programming language integratred. Bitcoin does has Script language, but this is limited in its functionality.

What is a Turing Complete programming language?
Turing complete describes the ability of a programming language to complete computing tasks by taking a program and produce an answer. This will often require the use of loops in the language, and so if a language lacks the cabability to perform loops it is said to be Turing incomplete.

1 Like

The EVM reads the code in solidity converts it to bytecode and allows the operation of the code written.

The format is bytecode that is what the EVM compiles it to.

Solidity is the base code and bytecode is what it is converted into to be readable

Bitcoin is not a Turing complete blockchain

A turing complete programming language means any code written is executable by the EVM

1 Like

Hello sir, the EVM its not responsable to handle any internal operation of the network nor the account information, Its an application that run in top of an ethereum node that execute the bytecode of an smart contract within a safe environment (smart contracts cannot harm nodes since they run in a virtual machine). Think of an EVM like a safe virtual sandbox that handle the instructions of an smart contract in order to verify if all the instructions are valid and will not harm either the node or the network before those instructions pass through the node and then the network itself. :slight_smile:

Carlos Z.

  1. What does the EVM do?
    EVM is the virtual machine that runs smart contracts on top of the blockchain. Virtual machines do no have a direct connection to the CPU and run in a configuration known as ‘sandboxed’. This allows a high level of security due to its isolation from the hardware. Once these virtual machine nodes reach consensus on the network, then the transaction can be written to the actual blockchain.
  2. What is the format of the instructions that the EVM can read?
    The fundamental format of the the instructions that an Ethereum Virtual Machine can read is JavaScript. More precisely, the Java code is compiled into ByteCode, which is the intermediary language between Java and the machine.
  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is a ’high level’ programming language, so it more closely resembles everyday language. ByteCode is the intermediary which interprets that high level language into machine language (binary), the actual ones and zeros that a machine understands.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    BitCoin’s format is one of transferring value - so it only has to say this much coin is going from this person to that person. Ethereum was designed to not only transfer value, but also allowing the use of conditions to be a gatekeeper of the transfer - if X happens at this specific time (T), then execute this program - and the instruction of the program is only limited by the design of JavaScript.
  5. What is a Turing Complete programming language?
    Turing is a WWII hero that invented a machine that decoded Axis power’s cryptography and essentially won the war for the Allies. Turing’s machine was able to do any mathematic calculation. The term Turing complete implies that a programming language includes every imaginable instruction set available.
1 Like

Thank you Carlos.

Tony Liberale
Liberale Roofing & Architectural Cladding P/L

www.instagram.com/liberale_bespoke_cladding

1 Like

1. What does the EVM do?
The EVM executes smart contracts in a secure environment before handing it off to the CPU
2. What is the format of the instructions that the EVM can read?
A smart contract is written in Solidity and then uses a compiler to turn it into Bytecode. It is the bytecode that the EVM reads and executes.
3. What is the relationship between the programming language Solidity and Bytecode?
Solidity is the language used to write a smart contract which is then compiled to Bytecode for the EVM to execute
4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin is not turing complete which limits its abilities
5. What is a Turing Complete programming language?
A turing complete language allows for loops which enables unlimited possibilities

1 Like
  • What does the EVM do?
    Ethereum virtual machine. It executes smart contracts. EVM runs on the ethereum nodes in the network.

  • What is the format of the instructions that the EVM can read?
    byte code. (You can use other scripting languages like Viper and Solicity and convert it to byte)

  • What is the relationship between the programming language Solidity and Bytecode?
    You write code in Solicity and convert it to Byte code.

  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    It is using script language. This is very basic and does not have dynamic capabilities like Solicity.

  • What is a Turing Complete programming language?
    Solicity and Byte code is. You are able to build virtually any program you want. On Bitcoin this is impossible. Bitcoin is not turing complete for that matter.

1 Like
  1. The EVM is the Ethereum Virtual Machine that executes smart contracts. It converts Smart contract code into byte code so that the Node CPU can interpret the smart contract and execute its functions. All nodes have the EVM.

  2. Byte Code is the format

  3. Solidity is the ethereum language where we insert our code, and the EVM converts it to Bytecode for the CPU to understand.

  4. Bitcoin was written with a program language called Script, Script is limited to what instructions it can execute.

  5. Turing Complete Programming Languages are Coding Language that are able to run complex codes, loops, and cane be left to run on its own.

1 Like
  1. The Ethereum virtual machine is code that runs on all the nodes in the network to control smart contracts.
  2. The format that the EVM can read is Bytecode
  3. Solidity is the code that runs the Ethereum blockchain and in order for the EVM to run on top of it the solidity code must be compiled to Bytecode. So bytecode is a compilation of solidity
  4. Because the code that runs Bitcoin (script) is not “turing complete”
  5. A turing Complete language can do one thing several times (create loops)
1 Like
  1. The EVM is an application that reads and verifies the code in the smart contract and directs the CPU in what to do. It also acts as a security measure to the blockchain as if the smart contract contained malicious components that communicated directly with the CPU all nodes on the blockchain would therefore be corrupted.
  2. Byte code
  3. Solidity is translated into byte code and then the EVM reads it.
  4. Bitcoin cannot run the same complex smart contracts in the way that Ethereum can, as it uses Script, which is non-Turing complete language.
  5. A Turing complete language can solve many complex problems and repeat them (using Loops). This means it is extremely agile and can be programmed to perform almost any task.
1 Like
  1. The EVM is a program in ETH that can execute code on the system so that every computer is in consensus of a specific result.
  2. Byte code compiled from Solidity instructions
  3. Solidity exists for the EVM to execute instructions, a smart contract is in bytecode and therefore programmers are using Solidity to compile their messages into bytecode-language that the EVM understands and can execute commands from.
  4. Because it is not Turing-complete like Ethereum’s Solidity, that means in short that a Turing incomplete language is an insufficient language for complex coding.
  5. Turing complete means in short that the system can write any program and find any answer to that program. In essence it means that the system can solve any computation problem.
1 Like

EVM makes it possible to execute code on the network in a way that we are all in consensus of what the results should be. EVM is an unstoppable, transparent application that can handle money. The smart contracts are written in solidity and complied in EVM bytecode. Bitcoin cannot run the same type of complex programs like ETH because bitcoin can only write scripts and is very limited, it is not turning and complete. Turning and complete language that is a loop, a command that is done over and over.

1 Like
  1. What does EVM do?
    Ethereum Virtual Machine runs on top of hardware and it can read and execute smart contracts.

  2. What is the format of the instructions that the EVM can read?
    It uses Solidity like Javascript and then uses Compiler which takes Solidity code and compiles to Bytecode. So EVM can read bytecode.

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

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin is Script limited ( not turing complete). Ethereum is turing complete.

  5. What is Turing Complete programming language?
    It is Solidity which is turing complete. That features loops which allows you to program a smart contract. Unlike Bitcoin which is not turing complete.

  1. EVM reads smart contracts step by step in a secure environment and sends to cpu to execute .
  2. EVM reads byte code that was created using a compiler from the programming language called solidity .
  3. Solidity creates the smart contract but then uses a compiler to turn instructions into byte code for the EVM To read .
  4. Bitcoin uses script which is not Turing complete so they cannot program smart contracts .
  5. Turing complete language means you can program anything . It uses loops to be order to execute instructions over and over .
1 Like
  1. The EVM, the Ethereum Virtual Machine, reads the smart contracts and tells the CPU’s of the nodes what to do. Runs on top of the CPU’s of the nodes.
  2. Bytecode.
  3. Smart contracts on Ethereum are programmed using solidity, then a compiler reads the solidity code and turns it into bytecode that the EVM can read.
  4. Because it uses script, which is not turing complete.
  5. A turning complete programming language is one that is able to have loops.
1 Like

1: EVM allows smart contracts to be run on a virtual machine so as to protect the CPUs and hardware of the nodes.

2: EVM ByteCode

3: Smart contracts can be written in Solidity and then compiled into EVM ByteCode

4: Bitcoin is not Turing Complete.

5: Turing Complete offers a great depth of programming posabilities. It offers loops which simplify programming and allows for accomodation of changed states.

1 Like

Hello sir, please if you can describe a little more this question.

If you have any doubt, let us know so we can explain it to you! :slight_smile:

Carlos Z.