Homework on EVM

  1. EVM is an application integrated in to each full Ethereum node responsible for executing contract bytecode. Contracts are typically written in programming languages, like Solidity, then compiled to EVM bytecode.
  2. EVM executes byte code
  3. Solidity is a programming language used for implementing smart contracts, it takes the programming commands or code of solidity and translates it into byte code which the EVM can execute.
    4.Because Bitcoins programming language Script is considered to be not Turing Complete, thus making it unable to perform complex programming.
    5 Turing complete programming language allows for iterative and decion making instructions, this allows complex funtionality.
1 Like

The EVM is an application that runs on all Ethereum nodes. It reads the smart contracts of the Ethereum blockchain and tells the CPU what to do.

The EVM reads a compiled version of the smart contracts: EVM Bytecode.

Solidity is human readable code. Bytecode is machine readable code derived from the Solidity code. It is more efficient to interpret and independent from specific hardware. It is an intermediate form of code before machine code.

Bitcoin has a very limited programming language called Script. It is not Turing Complete. This is on purpose to keep Bitcoin simple, clean and efficient. Bitcoin is only meant to be money.

A Turing Complete programming language that is universally programmable. It can perform any mathematical calculation (the same as a Turing machine). It can use loops. Simply put, in theory you can program everything you want with a Turing Complete language.

1 Like

1. What does the EVM do?
The EVM is an application running on all the nodes of the network it is responsible of reading smart contracts and adds security by ensuring that nothing malicious happens with smart contracts
2. What is the format of the instructions that the EVM can read?
The EVM reads compiled data called byte code
3. What is the relationship between the programming language Solidity and Bytecode?
Solidity is used to write the code and then compiled to byte code so the EVM can read the smart contract
**4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? **
Bitcoin uses script as the program language and it is not Turing Complete so it cannot run complex programs.
4. What is a Turing Complete programming language?
A language that you can program almost anything with its ability to recognize or decide other data-manipulation rule sets

2 Likes

EVM (Ethereum Virtual Machine)

  1. EVM create a possibility to execute codes in the Ethereum network in a way to achieve concensus.
  • It provides security ie helps prevent denial of service attacks(DOS)
  • it does a runtime environment for smart contract based on the Ethereum (Sandboxed Environment) which is great for testing.
  1. The format EVM can read - comes from the byte code, using a compiler application and solidity language programming or others to read instructions from the smart contract.

3.The relationship between solidity and byte code is that solidity is a language (Javascript, C++, Python, Viper etc) for implementing smart contract. It uses the compiler application to translate in to byte code . The EVM uses the byte code to read instruction from the smart contract, derive result and then propagate the information to the different nodes in the network.

  1. Bitcoin cannot run the same type of complex programs like Ethereum because bitcoin is just a digital asset and will have to avoid spamming and the potential to increase its block sizes to accommodate all the information.

  2. Turin complete programming language is simply that you can program anything you can think of, like in solidity. Theoretically its possible, practically it is disputable when you consider time and cost. Technically, for example, It uses loops to tell the computer to do one thing several times.(repeatedly)

1 Like
  1. EVM reads and executes byte code on the smart contracts. It is threre for security reasons and it encapsulates the code so that it cannot take over ones computer.
  2. the EVM can read byte code.
  3. Solidity compiles the information for the smart contract into byte code so that the EVM can read it. It act kind of like a translator from one language to another. All that the EVM cares about is the byte code not the programing language it came from.
  4. Bitcoin can’t run the same complex programs like ethereum because it has no EVM.
  5. Touring complete language has loops. This means it can tell a program to execute something a number of times instead of just once.
1 Like

EVM Etheruem Virtual Machine a layer of difference between the CPU, nodes and itself. Reads byte code, communicates with a node in the network with instructions, and nodes executes instructions. Only the language used by EVM will compile the smart contract into byte code for EVM to read and take action. That way ensuring CPU cannot be use to attack a network nodes.

Byte code. Byte code is compiled from high level languages that cannot be understood by just reading them yourself or a CPU. The EVM is needed to provide nodes to provide CPU instructions, this is also a level of security.

Solidity is one of many specialized coding languages on the Ethereum decentralized network. Bytecode is what is complied in this case from Solidity, read on EVM.

Bitcoin and Ethereum are different networks speaking different languages. Bitcoin uses script language, it is simple and can do smart contracts just not same sophistication level has EVM, because Ethereum is a platform for networking businesses, investments, and all relavanate use cases on a large scale.

1 Like
  1. What does the EVM do?
    The EVM (ethe virtual machine) is capable of working as the CPU does with regular programs but it works as a substitute and protection lawer interface to protect the blockchain.
  2. What is the format of the instructions that the EVM can read?
    The format that of the instructions that the EVM can read is Bytecode.
  3. What is the relationship between the programming language Solidity and Bytecode?
    Both Solidity and Bytecode are used EVM code: Solidity for writting Bytecode for reading.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin runs its coding under Script opposite to Ethereum which runs it under Solidity which has an limited spectrum of utilities. Bitcoin was mainly created to be used as liquid gold therefore the capacity of the program its coding works under is very limited adding thus, I soppose, higher security.
  5. What is a Turing Complete programming language?
    A turning Complete programming language is capable of writing unlimited programs structures.
    I appreciate corrections on *possible mistakes Guys! Thanx
    *(very possible)
2 Likes
  1. An EVM is an Ethereum virtual machine carries out the smart contracts

  2. It can read Ethereum byte code.

  3. It uses solidity to create a bytecode which is used by the CPU

  4. Bitcoin’s script is a very simple and is not TC

  5. It can complete any problem

1 Like
  1. What does the EVM do?
    The Ethereum Virtual Machine is a piece of code that all computers in the network run.
    It runs, executes and encapsulates the smart contracts and afterwards tells the cpu what to do.
    This prevents the following from happening:

A CPU directly running and executing a smart contract. This would mean that if the smart contract is programmed to execute something ‘‘corrupt/bad’’ it would simply do so. This means you could program a smart contract to turn on a webcam and send that information to someone else. Or read what someone is typing on his keyboard the whole day and send that information. (Including passwords or other sensitive information.)

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

  2. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is a language that people understand and use to program smart contracts. This language can be compiled to Bytecode so that a computer will understand.

  3. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because Bitcoin uses a different language than Ethereum. Bitcoin uses script which is a more primitive form of programming language than what Ethereum uses.

  4. What is a Turing Complete programming language?
    A turing comple programming language is a programming language that is more universal understood than a turing incomplete language. It has more abillities.

1 Like
  1. What does the EVM do?
    EVM application runs on top of hardware node in EHT network, using CPU and other resources, EVM executes the same piece of code (over the network) that runs the smart contract, it makes it possible to execute consistent instructions over the network that ALL are in consensus of and compiles it into the final result.

  2. What is the format of the instructions that the EVM can read?
    Solidity compiled into Byte code

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is a programming language in English that is compiled into byte code to be executed on ETH

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin uses primitive programming and can’t compile the Solidity code

  5. What is a Turing Complete programming language?
    A programming language when scripted properly can solve all problems that need to be solved to complete the application needed.

1 Like

1. What does the EVM do?
The EVM, Ethereum Virtual Machine, is installed on every node which reads, writes, and directly executes smart contracts on the Ethereum blockchain.

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

3. What is the relationship between the programming language Solidity and Bytecode?
The Solidity programming language is first in human readable form and then compiled into machine readable language called bytecode that runs on the blockchain.

4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin’s Script language is not Turing Complete and thus, not able to run complex code. However, Ethereum’s programming language Solidity is Turing complete and is able to execute complex instructions.

5. What is a Turing Complete programming language?
A Turing Complete language is a language that can perform complex instructions. Examples are C or Java.

1 Like
  1. An EVM or Ethereum Virtual Machine is a piece of software that runs on each node. The EVM reads the smart contract code written in Solidity and compiles it into byte code.

  2. Solidity is the programming language that smart contracts are written in. Byte code is what the EVM compiles the smart contract code to in order to be read by the CPU of the node

  3. Bitcoin cannot run the same type of complex programs like Ethereum can because Bitcoin’s underlying programming language, Script, is not a Turing Complete language.

  4. A Turing Complete system is a system in which a program can be written that will find an answer. It could in theory be used to solve any computational problem.

1 Like
  1. What does the EVM do? The EVM is short for Ethereum Virtual Machine, it’s a simple set of instructions that read on byte data to insure security from the primary cpu to validate smart contracts.
  2. What is the format of the instructions that the EVM can read? The EVM reads byte code.
  3. What is the relationship between the programming language Solidity and Bytecode?Solidity programs compiled into bycode to run on EVM.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? Because Bitcoin was created to run on an entire different program “script”
  5. What is a Turing Complete programming language? It gives you the freedom to create and run any set of input set of instructions to no limit.
1 Like

The EVM is the middleman between the ethereum network of nodes and your CPU so that your CPU can not be controlled directly through a smart contract and has to go through the EVM which then sends info to your CPU.

EVM can read smart contracts compiled into bytecode by Solidity.

Solidity will compile the code into bytecode for the CPU to read.

Because bitcoin’s programming language is not turing complete(It can’t have loops). This waas done to not clog the system with spam and make the block size big.

A turing complete language means the language has capabilities to solve any kind of computational problem that we can think of. Cool stuff

1 Like

Homework on EVM :slight_smile:

  1. What does the EVM do?
    Ethereum Virtual Machine instructs computer CPU on what to do and does it in a secure way without compromising host.

  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 language gets rearranged by a Compiler into a Bytecode which in turn is read by EVM.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because Script programming language on BTC is not Turing-complete.
    Solidity used on Ethereum (in EVM) is a Turing-complete programming language.

  5. What is a Turing Complete programming language?
    Under the Church-Turing thesis (https://esolangs.org/wiki/Church-Turing_thesis), a Turing machine is the embodiment of the intuitive notion of an algorithm.
    This enables Solidity programming on EVM and is more complex when compared to BTC Script language!

G.

1 Like

1)EVM is an application run on every node , its a virtual machine which uses hardwares of the different paricipants in the mining process to read and execute smart contracts . we added EVMs in the ethereum mining to protect nodes from malewares and keyloggers…

2)the format is written in Bytecode.

3)solidity is the language of the programmer : in which he can program, read and understand ; then compiled to Bytecode. the Bytecode is the language of EVMs : which they can read and execute the instructions within the smart contracts.

4)because we will end up with a scalability problem: because of the limited size of bitcoin’s blocks. since the script language is not turing complete , we can’t use loops so it will take a lot of lines of codes to write the program , which will slow the bitcoin network.

5)a Turing complete programming language is a language in which you can program anything you want such as loops …

1 Like
  1. The EVM executes smart contracts on nodes and performs network consensus.
  2. EVM currently reads Bytecode derived from solidity. Currently an alternative to Solidity called Viper is in development.
  3. The smart contract is written in solidity and then put through a compiler into Bytecode.
  4. Bitcoin is not Turing Complete while Ethereum is.
  5. Turing complete can perform loops and other advanced computations. Loops are repeated tasks.
1 Like
  1. What does the EVM do?
    Ethereum Virtual Network is software that runs on ethereum notes and allow smart contracts to run while on the same time, protecting the CPU from malware and malicious attacks that might be on 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 is closer to a human language and its used to write the code in a friendlier way. Bytecode is what the computers really understands.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    The BTC blocks are already to small for the signature and it would need such a massiv Hard Fork to do that.
  5. What is a Turing Complete programming language?
    It is possible to program anything you want in a TC language. This isnt possible in a Script language.
1 Like
  1. The EVM is a program on Etherem nodes that reads smart contracts on the Ethereum network and verifies which action should be taken, based on the input/ activity with the smart contract. The EVM is also a buffer between smart contracts and nodes’ CPU’s, protecting nodes from being attacked by malicious smart contracts.
  2. The EVM reads Bytecode.
  3. Solidity is the programming language used to develop smart contracts. Solidity is then passed through a compiler, which converts Solidity into Bytecode, which the EVM can read.
  4. Bitcoin’s programming language is basic and not Turing Complete. It cannot execute loops and is incapable of the complexity required for smart contracts.
    5 A Turing Complete programming language is one that can handle any computation/ run any program, given the time and resources.
1 Like
  1. What does the EVM do?
    It parses the smart contract and then tells the CPU what to do and it also acts as security for the CPU so your computer doesn’t get hacked.

  2. What is the format of the instructions that the EVM can read?
    It reads from top to bottom left to right.

  3. What is the relationship between the programming language Solidity and Bytecode?
    So Solidity is a programming language that allows developers to write code that will transform into bytecode for the EVM to compile.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because it does not have a Turing Complete programming language.

  5. What is a Turing Complete programming language?
    A programming language that has loops.

1 Like