Homework on EVM

  1. read the smart contract after it is compiled into Bytecode and tell the CPU what to do.
  2. Solidity
  3. Solidity is a programming language that human can understand. After Solidity was compiled into Bytecode then The EVM can read the instruction from Smart Contract.
  4. Bitcoin is not Turing Complete. it can only do a simple task but don’t have feature to do a complex one.
  5. Programming language that have a abilities to manipulate the data such as condition , loop.
1 Like
  1. Executes the byte code of a smart contract on a node to give some kind of result
  2. Byte code
  3. Solidity is a human readable programming language that can be compiled into Bytecode
  4. Bitcoin uses a programming language called Script that is not Turing complete and can only do very simple commands while Ethereum uses any programming language that can be compiled into Bytecode which allows for more complexity
  5. A Turing complete programming language is one that can be used to simulate any Turing machine
1 Like

1.Evm executes code on the ethereum network to reach consensus with the nodes within the network
2.Bytecode
3.Program getting written in solidity and gets then compiled to bytecode so the evm can read and execute the code
4.because bitcoin’s code is not turing complete unlike ethereum and can only do simple tasks
5.Turing complete programming language is one that simlate and solve complex problems in any language

1 Like
  1. EVM or Ethereum virtual machine is running on top of each nodes hardware. It will take a look of the commands on SC, will do all the calculations and will tell the CPU what to do.
  2. Byte code
  3. EVM read in solidity and compile it into EVM byte code.
  4. Because BTC developers want it to be a digital gold and nothing more. And having the complex program would require more space on blockchain and might cause spams.
  5. A Turing complete programming language can do or implement any possible algorithm.
1 Like
  1. What does the EVM do?
    EVM stands Ethereum Virtual Machine and its task is to communicate with the nodes CPU and give it instructions on what to do.

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

  3. What is the relationship between the programming language Solidity and Bytecode?
    The relationship between Solidity and Bytecode is that Ethereums code is first written in Solidity, which is then put into a special application that translates solidity code into byte code, which is what the EVM will read.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin can´t run the same type of complex programs that Ethereum runs because it uses SCRIPT, a not turing complete language.

  5. What is a Turing Complete programming language?
    A turing compolete programming language is basically a programming language that can execute code to run in loops.

1 Like
  1. it creates a functioning layer between the cpu and the smart contracts.
  2. the EVM reads in byte code.
    3.Solidity interprets the byte code much like viper.
    4.bitcoin is not Turin complete language.
  3. a turin complete language language is one with that can create anything with unlimited scale ability.
1 Like
  1. What does the EVM do? EVM, ETH virtual machine, a component of consensus, is an intermediary between the blockchain and CPU’s that launch smart contracts by reading and executing byte code. It is a security feature in this role, eliminating the need for the CPU to interact with the smart contract, which would result in compromised security.

  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 byte code is written in solidity, EVM reads instructions in byte code.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? Script, the programming language for BTC, is not capable of executing smart contracts, the programming language is limited.

  5. What is a Turing Complete programming language? A true and complete language is one that has loops that perform various, repeatable tasks.

1 Like
  1. Every node of the Ethereum network runs the EVM. In each EVM the smarts contracts are executed constantly.

  2. The EVM reads instructions on a byte format.

  3. The commands of the programming language Solidity all have its translation to Bytecode, so they can be executed on the EVM.

  4. The bitcoin programming language is Turing Incomplete, while the ethereum one is Turing Complete. In conclusion, Bitcoin can’t run most things that Ethereum can.

  5. A Turing Complete programming language is one that can execute any logical algorithm given enough time and computational power.

1 Like
  1. The Ethereum Virtual Machine (EVM) is an application that runs on each node of the Ethereum network. By having an EVM, a node and its CPU are protected from potential malicious activity. Encapsulating the smart contract within the EVM makes this possible.
    The EVM reads the contract, calculates and then instructs the CPU of each node what is to be done; all along the way, delivering the contract to a new state-of-being as it advances in maturity.

  2. The instructions that the EVM can read are in the byte code format. The “lingua franca” nature of byte code allows for other programming languages to be used beyond Solidity and Viper.

  3. Solidity is the programming language used to write or program the smart contract. From there, a separate application called a compiler translates the smart contract into Bytecode which will then be read by the EVM to instruct, or be used to instruct, the CPU.

  4. Compared to Ethereum, Bitcoin is limited; some might even say that it is primitive. This is because Bitcoin is not fully programmable—it isn’t “turing complete”—and is unable to run the same type of programs of complexity that Ethereum can.

  5. Turning complete language allows a programmer to instruct the execution of an action multiple times. These are called “loops”, and they allow for the duplication of code with fewer chances of mistakes and less time taken, had every code input been scribed, manually.

1 Like
  1. Virtual Machine which executes smart contract on CPU
  2. byte code
  3. Solidity is the language of the smart contract, which get converted into bytecode when it compiles
  4. Because bitcoin isn’t turing complete
  5. It is a complete programming language that can perform complete functionalities
1 Like
  1. The EVM can read and execute smart contracts on the Ethereum Network. It also allows us to execute code on top of the Ethereum Blockchain.

  2. Bytecode

  3. The relationship is that the code is transferred from Solidity to Bytecode in the smart contract. The instructions of the smart contract are in Bytecode but the smart contract was made with Solidity.

  4. Bitcoin can’t run the same complex programs as Ethereum because Bitcoin’s language Script is not Turing Complete and this scalability would cause the block size to increase.

  5. A Turing Complete programming language is one that can do anything you program it to do. An example of a Turing Complete programming language is Solidity.

1 Like
  1. What does the EVM do?
    EVM - ethereum virtual machine, it is application running in all nodes. It is running on top of each hardware of each node, EVM will use CPU and other resources and it will read and execute smart contract.

  2. What is the format of the instructions that the EVM can read?
    EVM can read instructions written in bytecode - solidity program (in the future Viper). EVM doesn’t care what application will write code, but it has to be written in bytecode.

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is written in Bytecode and EVM will only read Bytecode.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin is using script, it can do let’s say multiscript wallet, it is not turing complete programming language and it means, it can not solve all the issues. It doesn’t have loops (feature of programming language, to do 1 thing several times until complete), If you don’t have loops you have to write all the instructions by yourself and it can cause spamming or issue of blockchain size.

  5. What is a Turing Complete programming language?
    Theoretically it can solve all the problems, practically there is scalability issues.

1 Like

Hi everyone,

  1. EVM (Ethereal Virtual Machine) works on top of the CPU to read the instructions of the smart contract and tell the CPU what to do. It adds an important layer of security to prevent malicious instructions (which could be included in the smart contract) from being run on computers.
  2. It reads bytecode.
  3. The programming language is Solidity, it is compiled to be “translated” in byte code, which the EVM can read.
  4. Bitcoin is using a script which is not Turing complete, i.e. it can not solve all problems, it is just doing basic/limited instructions.
  5. A turing complete programming language can perform any kind of computation, which will enable it to solve complex issues. For example, a TC can do loops (repeat the same instructions many times).
1 Like
  1. What does the EVM do?
    The ethereum virtual machine is the environment which all smart contracts execute in. It has access to all of the nodes on the network and keeps them in sync. It also protects the nodes from direct access from the smart contract so the contract cant take over the nodes.
  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?
    Ethereum smart contracts are written in Solidity which is compiled into Bytecode
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because it isn’t Turing complete. This is by design to keep the focus on bitcoin as currency and keep the block size down.
  5. What is a Turing Complete programming language?
    A language that can, in theory at least, solve all problems. Ethereum is Turing complete. Bitcoin is not.
1 Like
  1. The Ethereum Virtual Machine a piece of code that runs on Ethereum nodes, and executes the compiled code from the smart contracts.
  2. the EVM reads insttructions in byte code. a compiler compiles the code from Solidity to Byte code.
  3. Solidity is the language used to write the smart contracts and an compiler then compiles that code to Byte code.
    4 because the Founders of Bitcoin did not want Bitcoin to be be spammed with data , so they made the Bitcoin protocol not Turing complete.
  4. A Turing complete language is a language that is able to perform any mathematical operation that can be coded. Solidity is an example of a turing complete language.
2 Likes
  1. What does the EVM do?

EVM is an appllication running on top of eacht hardware of every node in the network. It can execute code, as long as al nodes are in consensus. The EVM will read and execute the smart contract ( and check if there are malicious intstruction in the smart contract) via CPU.

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

EVM can read Bytecode. For example solidity/viper, it doesn’t matter with what application the bytecode is written.

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

Solidity is an compiled written bytecode, which the EVM will read and execute.

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

Bitcoin is using script which is not Turing Complete. The program can not solve all problems, only the basic instructions. The bitcoin script doesn’t use loops, which means you have to write all the codes by yourself.

  1. What is a Turing Complete programming language?

It’s a programming language that can do anything you can think. So it’s able to solve complex issues.

2 Likes
  1. What does the EVM do?
    It’s a regular virtual machine. It gives the possibility to run a smart-contracts compiled into the bytecode.
  2. What is the format of the instructions that the EVM can read?
    It’s byte code. Programmer should compile their solidity/viper instructions into the byte code.
  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is a programming language and the compiler can compile it to the Bytecode
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because complexity of such network with complex programs is very high and computing time of blocks adding and transactions creation will be increased. The main Bitcoin idea is the digital gold without any additional complexity.
  5. What is a Turing Complete programming language?
    The TC language provides possibility to write any idea you can think.
1 Like
  1. The EVM is a software interface between the CPU and smart contract that reads and executes the contract. It interprets the instructions, compiling them from the smart contract language to byte code and instructs the CPU accordingly. The EVM also contains the smart contract acting as a critical security interface for the network.

  2. The EVM reads byte code compiling it down from the contract programming language.

  3. Solidity is byte code written in user friendly terminology.

  4. Bitcoin uses script as a programming language which is not Turing complete.

  5. Turing complete languages have a programming feature called loops that allow a programmer to tell software to do something several times.

1 Like

Homework on EVM - Questions (Updated on Dec 3 2019)

  1. What does the EVM do?
  • EVM is a type of code encapsulating all the computers or nodes that participated in the Ethereum network.
  1. What is the format of the instructions that the EVM can read?
  • EVM codes are in bytecodes but it reads its smart contract from mainly Solidity program and viper program.
  1. What is the relationship between the programming language Solidity and Bytecode?
  • Solidity is the programming language to write smart contracts while Bytecode is the code in the EVM.
  1. Why can’t Bitcoin run the same type of complex programs as Ethereum can?
  • Because Bitcoin programming language script is a not full Turing programming language.
  1. What is a Turing Complete programming language?
    A Turing complete language is a program that can write everything from start to finish and can also handle complex programming codes.
1 Like
  1. The EVM is a stack machine which is the runtime environment that interprets and executes smart contracts.
  2. The EVM can read instructions in bytecode.
  3. Solidity is a programming language developers use to write smart contracts, which are then compiled to bytecode.
  4. Bitcoin script language is not Turing Complete and has limited computation ability; specifically, it cannot run loops.
  5. A Turing complete language is any language that can compute anything that the Turing machine can.
1 Like