Homework on EVM

  1. What does the EVM do?

Compile the data to EVM byte code, and verify\execute the smart contract before deciding if it require to send command to the CPU.

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

The format should be based on a set of questions that if all of the questions return the value TRUE, than commit the next action.

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

Solidity is ‘programmer’ language, which the EVM compiled to Bytecode in order for it to execute.

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

Bitcoin’s script language have limited capabilities.

  1. What is a Turing Complete programming language?

A programming language that been fully ‘tuned’ to do most of the available capabilities pre-writen within the language level which makes is easier and more developer friendly.

1 checks information before it can execute
2 Solidity or viper
3 solidity compiles the code in byte code so evm can read it
4 because the blocks are to small to store all the programme information
5 turing complete can solve all problems in a sc

  1. Read and execute smart contracts, telling the computer what to do.

  2. bytecode

  3. Read Solidity and compiled in bytecode in order to interact with the EVM.

  4. BTC is not a turing complete, it cant execute all the calculations needed.

  5. Solidity is a turing complete language because it can run any calculation.

1 Like

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

Quite close sir, but Solidity is the programming language that you use to create/design smart contracts, after that, it will be compiled into ByteCode, so the format of the instructions that EVM reads is Bytecode, which is binary code.

If you have any more questions, please let us know so we can help you! :slight_smile:

Carlos Z.

1 Like
  1. What does the EVM do?

EVM allows developers to create decentralized applications. All nodes can perform the instructions leading to network consensus.

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

Bytecode language.

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

With compiling Solitidity can be converted to bytecode that can be read by the EVM.

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

Because bitcoin has a simple script language which is kind of limited in usage. It is not a Turing language.

  1. What is a Turing Complete programming language?

A programming language that can pretty much solve any computation problem.

3 Likes
  1. The EVM allows developers to deploy smart contract onto the decentralised network and encapsulates the smart contracts for security.
  2. The EVM reads byte code
  3. Smart contracts are written in Solidity, the instructions of which are compiled into byte code
  4. Bitcoin’s programming language ‘script’ is not Turing complete and hence is unable to run programs of the same complexity as Ethereum
  5. A Turing complete programming language is one that is theoretically capable of computing any desired problem/computation (i.e. it includes loops).
1 Like

1. What does the EVM do?
The EVM reads the code of the smart contract and executes it

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?
A EVM will compile the solidity language to Bytecode so it can be read by the cpu

4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Because Bitcoin is not Turing complete and is basic and primitive

5. What is a Turing Complete programming language?
A program that allows manipulation with scripts and loops

2 Likes

aha thank you i get it :relaxed:

1 Like
  1. EVM is Ethereum Virtual Machine which read and executes the smart contacts into byte code.
  2. Bytecode
  3. The smart contracts are written in solidity language and EVM will compile all the logic and instructions received to the bytecode and read them.
  4. Because BTC is not a turin complete.
  5. A TC allows you to program everything you want.
2 Likes
  1. What does the EVM do?
    EVM stands for Ethereum Virtual Machine. Every node in the network runs EVM in the background so that every smart contract reaches consensus.

  2. What is the format of the instructions that the EVM can read?
    It reads “instructions” in bytecode which is compiled from a higher-level language

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is a statically-typed programming language designed for developing smart contracts that run on the EVM. Solidity is compiled to bytecode that is executable on the EVM.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because BTC doesn’t have a smartcontract?

  5. What is a Turing Complete programming language?
    In computability theory, a system of data-manipulation rules (such as a computer’s instruction set, a programming language, or a cellular automaton) is said to be Turing-complete or computationally universal if it can be used to simulate any Turing machine. … Virtually all programming languages today are Turing-complete.

2 Likes
  1. EVM is an app that all nodes run in addition to broadcasting transactions across the network. EVM reads and executes smart contracts.

  2. EVM reads bytecode.

  3. Solidity is the main coding language for Etherium, and bytecode is compiled from Solidity in a way that allows the EVM to read and execute it.

  4. Because its coding language, Script, is not a Turing Complete Language, limiting the possible program possibilities to be built on it

  5. A Turing Complete programming language is a coding language where every single idea you think of, could be coded in that language. For example, C++ is a Turing Complete language, and Solidity is a Turing Complete language.

2 Likes
  1. The Ethereum Virtual Machine can contain, read and execute smart contracts. It then relays that information to the CPU’s of nodes on the network that are also running EVM.
  2. It reads byte code
  3. Solidity is the human readable programming language that gets converted into Byte Code by a solidity compiler.
  4. Bitcoins programming language is Script which is not turing complete opposed to Etheriums EMV which is turing complete,
  5. Turing complete means that the language is highly programmable and flexible so that developers can write code that is able to perform complex computations.
2 Likes
  1. What does the EVM do?

The Ethereum Virtual Machine is an application that runs on the nodes of the Ethereum Blockchain network mainly to create standardization in the way individual nodes read and execute the terms of smart contracts.

The EVM also provides a security layer between the node CPU and the Ethereum network by ensuring that the smart contracts are not run directly on the node/miner’s hardware. The EVM reads the smart contract which has been converted to steps in Byte code which then directs the host computer what to do. In this manner, all nodes running the EVM could then achieve the same result while processing each smart contract and this is how consensus is reached.

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

There are around 7 programming languages that can be used to detail the functionalities of a smart contracts and chief among these are Solidity and Viper. However, whichever language is used, a compiler then converts the code to Byte code which is the universal format that is read by the EVM.

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

Solidity is one of the programming languages used to write Smart Contracts. A compiler software then translates the code of the smart contract into a set of machine language instructions called Byte code which can then be read by the EVM and instructed to the node computer’s CPU. The standardization of the Byte code ensures that all nodes on the Ethereum network execute the smart contract in exactly the same way.

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

The Bitcoin network uses the programming language ‘Script’ which is not Turing-complete and therefore has limitations with regard to the complexity of the programs it can run. The decision to limit the features and operations possible on the Bitcoin network is a deliberate move by its original creators for the purpose of protecting the security of the network.

Ethereum uses Solidity which is a Turing complete language which can in theory, be used to write programs of extreme and infinite complexity.

  1. What is a Turing Complete programming language?

A programming language is Turing complete when it is sufficiently powerful to compute any algorithm/program/problem

2 Likes

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

Bitcoin use Script languange, which is not capable to run complex operations (like loops), this was made by design in order to just use bitcoin has it is, while Ethereum use Solidity has programming languange which is turing complete (can do complex operation, loops …) and this give him the ability to design complex smart contracts.

If you have any more questions, please let us know so we can help you! :slight_smile:

Carlos Z.

2 Likes
  • What does the EVM do?
    –The EVM makes it possible to execute code on the network in such a way where the nodes reach a consensus based on the result that code intends to instruct.
  • What is the format of the instructions that the EVM can read?
    –EVM uses byte code to read the instructions within the smart contract.
  • What is the relationship between the programming language Solidity and Bytecode?
    –Solidity complies the smart contract instructions into Byte code which allows the EVM to read and execute the instruction in the smart contract.
  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    –Bitcoin can’t run the same complex programs as ethereum because it is not a turing complete language. It can’t solve complex programs that you might need more flexibility for.
  • What is a Turing Complete programming language?
    –Turing complete language is one that is adaptive, programmable, and can handle a more complex level of instructions like looping and changing the subject of the loop.
2 Likes
  1. What does the EVM do?
    It allows for developers to create smart contracts.

  2. What is the format of the instructions that the EVM can read?
    Byte code converted primarily from the Solidity programming language.

  3. What is the relationship between the programming language Solidity and Bytecode? Solidity is a programming language that when translated by compiler software results in byte code.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? The Bitcoin network is non-Turing Complete, which was done on purpose to limit operations and protect security.

  5. What is a Turing Complete programming language?
    A programming language that can simulate a Turing machine aka complete complex problems.

2 Likes

Thanks for your Answer Carlos! :slight_smile:

1 Like
  1. EVM executes the smart contracts.

  2. EVM reads instructions in Bytecode.

  3. Solidity is designed to make smart contracts while Bytecode is designed to be read by EVM.

  4. Bitcoin doesn’t have enough storage to do so.

  5. A programming language that you can do anything with.

2 Likes
  1. EVM is Ethereum Virtual Machine.It is reading smart contracts and tell cpus to
    process.

  2. EVM can read bytecode only.

  3. As EVM can not read solidity(it is more like a language not a cod) ,it need to
    translated to bytecode regard of deploy smart contracts.

  4. Btc’s language not Turing complete,means it is not capable execute complex
    tasks.So ideally resist malicious scams.

  5. It programmable for complex tasks,for example it can run the same function
    multiple times.

2 Likes
  • What does the EVM do?

EMV is the Ethereum Virtual Machine, the EVM encapsulates, reads and executes the smart contract.

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

EVM reads byte code that is compiled information from programming languages such as solidity.

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

Solidity is a programming language that interprets the instructions of the smart contract and converts it into byte code for the EVM to read.

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

Ethereum is Turing Complete while Bitcoin can only be scripted, scripting does not allow Bitcoin to loop/repeat commands.

  • What is a Turing Complete programming language?

TC programming language allows the instructions in the smart contract to looped/repeated.

2 Likes