Homework on EVM

  1. What does the EVM do?
    Etherium virtual machine, makes it possible to execute code on the network, in such a way that were all in consensus.
  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?
    programmers, are using Solidity to get into the byte code.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    because it is not Turing complete, so it is very limited.
  5. What is a Turing Complete programming language?
    it is a programming language, that could solve any problem, create any program.
1 Like
  1. EVM runs the smart contracts.
  2. Bytecode
  3. Smart contracts have to be transformed trough compiler into bytecode in order to be readable for the EVM.
  4. Bitcoin programming is not Turing complete.
  5. Programming language where you can program everything you want.
1 Like

An EVM makes it possible to execute code on the ethereum network while maintaining consensus. It also acts as a buffer or security measure between the smart contract, and the CPU of a computer.

Its written in solidity but translated in EVM bytecode for the EVM to read.

Solidity is like a natural based language, so its easier for a programmer to use. Its then compiled to bytecode, which can now be executed by an EVM.

Bitcoin doesn’t use a turing complete programing language unlike ethereum. Therefore, it is limited in what it can do.

Its a language that can theoretically do anything including loops.

1 Like

What does the EVM do?
executes smart contract code
What is the format of the instructions that the EVM can read?
bytecode
What is the relationship between the programming language Solidity and Bytecode?
Soliditiy is a programming language. solidity code is compiled down to bytecode before it can be ran by the EVM.
Why can’t Bitcoin run the same type of complex programs like Ethereum can?
bitcoin is not turing complete and cannot perform loops and is limited in functionality.
What is a Turing Complete programming language?
A programming language can do any task including loops

1 Like
  • What does the EVM do?

The EVM acts as an intermediary between the smart contract and the CPU by telling the CPU, and its components, how to execute the smart contract.

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

The format of the instructions, or smart contract, is up to the developer, or creator, of the contract. It depends on what results they want to achieve. The EVM communicates with the CPU on the specific instructions of the smart contract. This format provides a measure of security by not allowing a smart contract to interact with a CPU directly, which can compromise the CPU and its components.

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

The instructions in a smart contract is written in byte code. Developers utilize solidity to write smart contracts, which then is compiled by a special application into byte code.

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

Bitcoin utilizes a program called script which is not considered a Turing complete language, which is very limited as to what it can do.

  • What is a Turing Complete programming language?

An example of a Turing complete language is solidity, which is utilized for Etherium because it offers the capability to loop instructions, or make instructions repetitive as needed in a smart contract.

1 Like
  1. EVM is a virtual machine that runs smart contracts on the nodes in the eth network. it prevents malicious activity in smart contracts.
  2. byte code
  3. Solidity language is compiled into byte code using a compiler. The byte code runs on the emv on a node.
  4. BTC´s script language is not turing complete
  5. It is a language that allows to call other programs and manipulate them.
1 Like
  1. What does the EVM do?
    A. The EVM (Etherium Virtual machine) creates an isolated environment to execute the smart contracts on each node.
  2. What is the format of the instructions that the EVM can read?
    A. The EVM reads the instructions when they are compiled into format of ‘ByteCode’.
  3. What is the relationship between the programming language Solidity and Bytecode?
    A. Solidity is the language that the original smart contract is written in. Bytecode is the language that the smart contract is compiled into§ so that it can be read and executed.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    A. BTC is written in Script which is not Turing Complete, meaning that it cannot solve all of the problems that can be presented to it.
  5. What is a Turing Complete programming language?
    A. A Turing Complete language can solve all of the problems and has extra functionality like ‘loops’
1 Like
  1. evm is a virtual machine running on every node of the ethereum network. it is an isolated, safe environment used to run code. it executes code in smart contracts circulating on the network and provides a ‘result’
  2. the instructions are in bytecode, a compiled version of the solidity programming language
  3. solidity is a programming language similar to javascript; bytecode is its compiled output. evms run the bytecode
  4. the initial set of instructions in the bitcoin programming language script is very limited by design. there is also not a lot of space in each block on the chain for running a lot of code.
  5. turing complete programming language is a language that allows any computation or task to be made possible if it has the resources available
2 Likes
  • What does the EVM do?
    The Ethereum Virtual Machine distributes the smartcontracts to all the nodes on the networks and feeds them to the node’s CPUs one instruction at a time. When the nodes have validated the contract it verifies consensus so the contract can be added to the blockchain.

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

  • What is the relationship between the programming language Solidity and Bytecode?
    When Solidity is compiled it becomes Bytecode.

  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Its programming language, Script, is not Turing complete; Solidity is Turing Complete.

  • What is a Turing Complete programming language?
    It is a language that allows logical loops or repetitive actions. “Take the output of this process and put it back through the process x number of times.” It makes a programming language that can do anything you can think of.

2 Likes

1 the EVM puts a layer in between the smart contract and the CPU for security reasons. It reads the smartcontract and makes the CPU execute.
2 the EVM can read bytecode.
3 Solidity is the way to write and construct a smartcontract and through a compiler it will be in bytecode for the EVM to read.
4 Bitcoin is constructed is such a way that it can not handle complicated programs, it’s programming language is not Turing complete.
5 a Thuring complete language is capable of programming anything you can think of. No limitations.

2 Likes
  1. EVM ensures that nothing malicious happens with the smart contracts, which sends instructions to the CPU to perform the instructions.

  2. It only cares about the byte code, and it doesn’t matter about what program you use.

  3. That they’re connected with each other. Solidity can compile codes that then pass to a byte code.

  4. Because they use different programs, Bitcoin uses script and Ethereum Solidity. Script is very limited and it’s not turing complete. While Solidity is complete and contains TC or loops that allows a program to do things several times.

  5. A turing complete programming language is a system of data-manipulation rules that has the ability to solve various problems based on codes.

2 Likes
  1. The EVM acts as a buffer between the CPU of each node and the Ethereum network to create consistency and security amongst nodes.

  2. The EVM reads byte code

  3. Solidity language is used for writing the programs on Ethereum and byte code is used to execute the programs via the EVM.

  4. Bitcoin is more limited in its programability because the language it uses, script, is not touring complete.

  5. Solidity the code Ethereum uses is a touring complete language.

2 Likes
  1. What does the EVM do?

The Ethereum Virtual Machine executes smart contracts in a distributed manner, within the network of Ethereum miners.

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

Ethereum Byte Code (compiled from programming instructions in Solidity)

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

see above

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

Because Bitcoin script is not Turing complete, i.e. it cannot run loops. (this was a deliberate development decision for Bitcoin to avoid spamming and reduce block sizes)

  1. What is a Turing Complete programming language?

A Turing Complete Programming language allows to express any sort of mathematically valid instruction. Anything can be expressed in such a language.

2 Likes
  1. What does the EVM do?

The Ehtereum Virtual Machine functions as a container for the bytecode inside a computer. Bytecode is read by the EVM and the EVM tells the computer’s CPU what to do, this way the computer is protected from the bytecode protocol (and a potently malicious protocol) and cannot perform a command that goes against the Ethereum system.

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

The EVM can only read bytecode, any code that is used to write smart contracts will first be converted into bytecode and only then can the EVM read and execute it’s commands

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

Solidity is the programming language used to write smart contracts, solidity code are converted into bytcode by a code compiler before being stored in the Ethereum system.

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

Bitcoin is purposefully written in a simple language called script which cannot handle complex transactions. Bitcoin was designed specifically to transfer funds, not for anything else. The simplicity of bitcoin prevents many of the problems that have plagued other blockchain networks…Like Ethereum.

  1. What is a Turing Complete programming language?

A Turing complete language is a programming language designed for complete transactions since the language can evolve over time to include new functions and complex processes. Theoretically, any conceivable application can be built with Solidity or any other Turing complete language.

1 Like
  1. The EVM is an application running on every node in the network. The EVM protects the node from malicious code by encapsulating the SC.
  2. The EVM can, like the CPU, only understand binary code.
  3. It is a translation. As a human it is hard to learn Bytecode, as a EVM/CPU it is hard to learn Solidity. That is why we create programming languages resembling of our natural language, but with strict logic, and a special translator: the compiler, that transforms our program into bytecode.
  4. Bitcoin’s language, Script, is much simpler in order to keep Bitcoin free from spam and to keep the size of the blocks down. Bitcoin was not created to host second layer applications.
  5. In a Turing Complete language you can design programs for any task. You can build any kind of application.
2 Likes
  1. What does the EVM do?
    EVM is the Ethereum Virtual Machine that runs on virtual nodes within an isolated environment that run smart contracts and transactions requests that have been submitted

  2. What is the format of the instructions that the EVM can read?
    The EVM reads, interprets and executes the smart contract in an isolated program, rather than directly on the CPU. This reduces the likelihood of malicious code built within a smart contract affecting the computer running the EVM.

  3. It is a translation. As a human it is hard to learn Bytecode, as a EVM/CPU it is hard to learn Solidity. That is why we create programming languages resembling of our natural language, but with strict logic, and a special translator: the compiler, that transforms our program into bytecode.

  4. Bitcoin’s language, Script, is much simpler in order to keep Bitcoin free from spam and to keep the size of the blocks down. Bitcoin was not created to host second layer applications, meaning it had limited ability for coding certain functions.

  5. In a Turing Complete language you can design programs for any task.

2 Likes
  • What does the EVM do?
    EVM, Ethereum Virtual Machine, is a piece of code that enables Ethereum to run smart contracts on the blockchain. It also acts as a layer of security for each CPU in the network by preventing malicious activity from taking place within the smart contract.

  • What is the format of the instructions that the EVM can read?
    EVM reads byte code.

  • What is the relationship between the programming language Solidity and Bytecode?
    Solidity is converted by a compiler into Byte Code.

  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Script is the programming language used on the Bitcoin network. Because this language is Not Turing Complete, it can not be used to write complexed programs.

  • What is a Turing Complete programming language?
    A turing complete language is one that can be used to write complexed programs. Basically, with this language ones options are without limit.

2 Likes
  1. The EVM a virtual machine runtime that execute compiled smart contract byte code. It is an encapsulated environment securing the execution. The EVM is found on all ethereum nodes and a smart contract execution across all nodes is how consensus is maintained.

  2. Bytecode is the instruction set.

  3. Solidity is compiled into EVM bytecode.

  4. Bitcoin’s script language is limited in ability - it is not turing complete.

  5. Turing complete language is not limited in it ability to express instructions for computation.

3 Likes
  1. EVM is a virtual machine running on Ethereum nodes.
  2. byte code.
  3. Solidity is compiled into byte code.
  4. it only uses a basic language called script and is not Turing complete.
  5. Turing complete programming language allows the program to perform a set of functions in a loop.
2 Likes
  1. The EVM encapsulates the smart contract reads the smart contract whilst also looking for anything malicious and then allows the CPU to execute the instructions.
  2. The format of the instructions that EVM can read is byte code.
  3. The relationship between the programming language solidity and byte code is that the programme is written in solidity but compiled in byte code.
  4. A Turing complete programming language can be written to do anything , in theory.
1 Like