Homework on EVM

1.evm is a global vitural machine,it runs on the nodes and incapulatesand runs the smartcontracts and transactions, it is isolated from your local device
2.evm reads bite code
3.solitiy get compiled into byte code and the evm executes the instructions
4.bitcoin isnt a turing complete programing languge
5.in theroy any problem can be solved, no limits on what can be programed

1 Like

Looks at and verify smart contracts.
Evm is in the middle to stop direct communication between cpu and smart contract, security!
Solidity reads bytecode.
Bitcoin is digital gold ethereum has smart contracts.
Bitcoin is not Turing complete it can’t solve all problems singularly can solves problems and smart contracts.

1 Like
  1. EVM create an additional abstract layer between the CPU and the Smart Contract.
    This layer in needed to improve the portability and the security of the software, also to make sure each applications are separated between each other and from the host.
    Must be separated because if we have the CPU linked directy with smart contract can be dangerous in order to avoid malicius deplointment agaist the network.
  2. Bytecode.
  3. Solidity is complied into bytecode.
  4. Bitcoin is not Turing complete, allowed only storaging and transactions.
    5.Turing complete is a system of data-manipulation rules as computer instructions set. For example, all the programming language are Turing Conplete.
1 Like
  • What does the EVM do?
    Virtual machine that can execute bytecode (generated from solidity or other language) and propagate requests to hardware
  • What is the format of the instructions that the EVM can read?
    Bytecode
  • What is the relationship between the programming language Solidity and Bytecode?
    Bytecode is generated from Solidity as compiled version of Solidity code.
  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin Script is not Turing complete.
  • What is a Turing Complete programming language?
    Language that theoretically can solve any type of task (without specifying how long it going to take)
1 Like
  1. The EVM reads the smart contracts and tells to CPUs what to do.
  2. The format of instructions that the EVM can read is byte code
  3. Code written in Solidity goes through a compiler that converts it into byte code that can then be read by the EVM.
  4. Bitcoin can read Script language, which is not turing complete - in other words, it cannot solve every problem, making it limited.
  5. Turing Complete programming language can solve any problem, in theory.
1 Like

1. What does the EVM do?

The EVM (Ethereum Virtual Machine) is a virtual CPU that runs on top of the node hardware CPU. The EVM processes the smart contract’s byte code by telling the CPU how to process it and ensure the smart contract code does not escape into the CPU, providing security to the network.

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

The EVM can only read byte code.

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

Solidity is a programming language that through a compiler, is translated into Bytecode.

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

Because Bitcoin developers chose to only allow script language, to avoid the chance of spamming the Bitcoin network with long codes.

5. What is a Turing Complete programming language?

A Turing Complete programming language is one that allows anything to be programmed, including loops.

1 Like
  1. An EVM is Ethereum’s Virtual Machine that has been created to take information from a program and execute that programs code. Once it does that it will then pass this information over to each individual computers CPU that is in the Ethereum Network to complete the consensus process. It acts as a middleman between the network and a smart contract.

  2. The EVM can read bytecode that is compiled from a specific programming language.

  3. The programming language provides code is compiled by a compiler into bytecode.

  4. Bitcoin can’t run the same type of complex programs like ETH can due to the fact that BTC is not turing complete and ETH is.

  5. Turing complete means that a programming language can essentially have the ability to create anything due to its level of robustness.

1 Like
  1. EVM is Ethereum Virtual Machine. It reads and executes the smart contracts.
  2. Byte code
  3. Solidity is complied into byte code; EVM can only read byte code, but Solidity is easier to write for programers
  4. Bitcoins programing language ‘script’ is not Turing Complete.
  5. A programing language that can be used to simulate any Turing machine. In other words that allows you to program anything you want without restrictions.
1 Like
  1. evm read smart contract and tell to cpu what to do
    2.bytecode
    3.solidity creates bytecode that evm can read and execute on cpu
    4.bitcoin is not turing complete language (limited uses)
    5.turing complete programming language (solidity) you can program everything, you can add loops
1 Like

EVM prevents malicious attacks and allows the execution of smart contracts to all the nodes safely by converting solidity or viper code to byte code, then to CPU’s.

EVM reads solidity and viper code and translates it to byte code. EVM allows this byte code to execute contracts instead of the CPU, thus preventing malicious attacks to the CPU and infecting the entire network.

Solidity is a coding language translated into a coded language that the computer can understand called byte code.

Bitcoin has a basic structure and uses only script language that can only do basic functions like multi-sig.

Turing Complete is you can program anything including loops in which Bitcoin’s script can not do.

1 Like

1.The evm reads the instructions of a smart contract that are for a smart contract written in byte code and than it will calculate if everything is executable and when it has a result it will give the cpu and other hardware of the nodes permission to execute the s.c
2.Bytecode
3.Solidity is the program language wich requires the instructions to be written in Bytecode.
4.Bc is mainly a digital currency and therefore no need to add smart contracts that would also interfere with the block size and would only cause instability to the bitcoin network. Bc uses script and that will do for what Bitcoin stands for.
5. Turing complete stands for more complex programming wich can solve almost any problem when giving enough time and memory. It is way more advanced than the script language used in bc.

1 Like
  1. The EVM is an application run on nodes to read and execute smart contract commands across the ethereum blockchain.
  2. The EVM reads byte code from the smart contract commands. This Byte code is created from programming languages Solidity and Viper.
  3. Programmers write commands within Solidity. These commands are processed through a compiler, which turns the solidity commands into Byte code for smart contracts.
  4. Bitcoin runs a programming language called Script, which is considered to be “not turing complete”. This means that only simple commands can be programmed through script. Solidity is “turing complete”, which allows for virtually any commands to be possible through Ethereum smart contracts.
1 Like
  • What does the EVM do?
    EVM exectutes the byte-code produced from compiled Solidity contracts. The EVM is isolated from the network and the host machine it runs on. The EVM is on every Ethereum node and is Turing Complete.

  • What is the format of the instructions that the EVM can read?
    EVM can read byte-code, which at present is compiled Solidity code.

  • What is the relationship between the programming language Solidity and Bytecode?
    Solidity is the human friendly language that gets turned into machine friendly byte-code.

  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin’s Script language is not Turing Complete. Script is limited to how sophisticated it can make contracts. I think it is limited to making wallets that can require more than one signature to authorize transactions.

  • What is a Turing Complete programming language?
    Any language that allows the program to control it’s own flow. Most all modern programming languages are Turing Complete. Think of the Do While loop common to every programming language and you’re now crossed over to the realm of Turing Completeness.

1 Like
  1. What does the EVM do?
    The Etherium Virtual Machine is an application that reads and actions instructions of smart contracts on the the Etherium blockchain

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

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is the code language a programmer would use to decipher Bytecode through a compiler.
    Have I got that right? Or does the CPU just read the Bytecode that the EVM instructs through the Solidity code language.
    A bit confused on this one.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin only allows script language and is not turing complete

  5. What is a Turing Complete programming language?
    A theoretical language program that can solve any task

1 Like
  1. EVM reads the smart contract, comes to a consensus as to the validity of the smart contract, and executes the smart contract sending commands to the CPU.
  2. EVM reads bytecode instructions compiled from the Solidity code.
  3. Solidity is the primary Ethereum programming language. The Solidity code is then compiled into bytecode which is read by the EVM.
  4. Bitcoin’s language “Script” cannot run the same complex programs as Ethereum because it is on a language which is not Turing Complete. Only very basic code can be executed on the Bitcoin blockchain.
  5. A Turing Complete programming language is a system that is able to recognize other data-manipulation rule sets. A Turing Complete language has “loop” which allow for running the same commands repeatedly until it finds a certain condition. I can also adapt to certain conditions and execute code based on those conditions. Where almost anything can be coded.
1 Like
  • What does the EVM do?
    Acts as go between the CPU and Smart contract to gain consensus on the nodes
  • What is the format of the instructions that the EVM can read? Bytecode
  • What is the relationship between the programming language Solidity and Bytecode? You can create bytecode with the solidity programming language
  • Why can’t Bitcoin run the same type of complex programs like Ethereum can? Bitcoin does not have Turing complete language
  • What is a Turing Complete programming language?
    A language that enables loops to be programmed
1 Like
  1. EVM stands for Ethereum Virtual Machine, It is part of every node and serves as encapsulated environment to protect nodes (CPS) from malicious code. Basically EVM executes smart contracts (execute the instructions to get results). Since all nodes (CPUs) have the EMV the execution of smart contracts happens on all nodes. All nodes must come to same results and when it happens we can talk about the consensus on the ETH network. ETH 1.0 PoW, ETH 2.0 PoS

  2. EVM Sandbox environment means that the code is run inside encapsulated space. This is needed to prevent the malicious code to infect the CPUs. CPUs if infected can represent a threat to entire ETH network, someone could take over the control and compromise smart contracts, resulting in stealing money. This scenario is prevented by using EVMs

  3. Solidity is entry level language similar to JS. Solidity or Viper is used by developers to write a code for smart contracts, however EVM understands only Bytecode, so a compiler is needed. Compiler will translate solidity or viper code to Bytecode, so that EVM will understand it.

  4. Bitcoin uses script which is a turing incomplete language, means can’t solve all problems. Ethereum uses a turing complete language, which can run loops and solve all problems. This is the reason why Vitalik left BTC. They haven’t agree to use loop able language on the top of BTC, since it would represent a spamming vulnerability.

  5. Like mentioned before, It can solve all the problems, it can run loops, you need to address spamming vulnerabilities. So we can say that it is a complete language. Devs. do not have much limitations, basically they can create any kind of apps.

1 Like
  1. What does the EVM do?
    The Ethereum Virtual Machine reads and executes smart contracts (SCs), communicating the SC’s instructions to the node’s hardware, such as the CPU. It is an application running on all nodes in the ETH blockchain. These nodes must all run the SC on their EVM and reach a consensus based on a mutual result from this process.

  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?
    The programming language Solidity is intially used to write SC’s instructions, but eventually compiled into Bytecode. As the EVM only reads the Bytecode, the SC could initially be written in another programming language, such as “Vyper” (in development at the time of recording), as long as this is compiled into Bytecode.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin’s programming language “Script” is not Turing complete. This means its programmable features are very limited, e.g. to creating a multi-sig wallet. It is designed to function in this manner, as BTC is not meant as programmable money, rather as digital gold and a store of value, that can be transferred.

  5. What is a Turing Complete programming language?
    A Turing complete programming language can be used to theoretically program anything. It includes “loops”, allowing programmers to write sets of instructions that repeat upon full execution. A Turing complete programming language is not limited by its internal lack of features like e.g. BTC’s script, rather, by practical limitations such as scalability, time and cost.

1 Like
  1. EVM is a piece of code running in all nodes of the network that makes them read and execute the SCs actions till they get a result. If that result is the same in all nodes a consensus is reached.
  2. Byte code
  3. Programmers write the code in Solidity, and then use a compiler to “translate” that to Byte code because EVM can only read the latter.
  4. Because Scrips it is not a Turing complete language, meaning it can’t perform complex math operations such as loops. It is ment to be this way to keep BTC BC clean as a transaction only chain without the risk of spam and greatly increased transaction sizes.
  5. A language code that aloows you to program anything you can think of. Solidity is a TC lenguage, but the real scalability makes it so just in theory.
1 Like
  1. What does the EVM do?

The EVM (Ethereum Virtual Machine) reads and executes smart contracts.

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

Bytecode.

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

Solidity is the programming language that smart contracts are written in but the EVM can only read smart contracts in bytecode. A compiler is needed to translate solidity to bytecode so it can be read and executed by the EVM.

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

Because the underlying programming language that bitcoin is written in (Script) is not a Turing Complete programming language. It is unable to run loops to continually check whether requirements are met for a smart contract to be executed for example.

  1. What is a Turing Complete programming language?

A programming language that doesn’t have any restrictions on what can be done with it.

1 Like