Homework on EVM

  1. What does the EVM do? EVM is an app that is running on each node and that is capable of reading the smart contracts and executing their instructions, it is capable of reading the Solidity language after it is compiled in byte code. EVM is also adding a level of security because all nodes need to be in a consensus that the requirements in the smart contract are satisfied.
  2. What is the format of the instructions that the EVM can read? as written above, the code is written in solidity which is subsequently compiled in byte code for the EVM to be able to read it
  3. What is the relationship between the programming language Solidity and Bytecode? explained with previous question
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? Because Bitcoin’s language (script) is more basic and does not have the loops capability which is deliberate as not to cause too much congestion in the blockchain. Bitcoin is non-touring complete.
  5. What is a Turing Complete programming language? It has the loops capability which allows for an instruction to be repeated multiple times as opposed to creating the repetitions one by one.
1 Like
  1. The Ethereum Virtual Machine (EVM) processes byte code instructions on the smart contract and ensures consensus of the contract across the network.

  2. The instructions / code is programmed using the Solidity language before being compiled into byte code, which the EVM then reads and processes.

  3. Solidity is the language used by the developer to create the instructions and byte code is the language read by the EVM.

  4. Bitcoin uses a language called Script which does not have Turing Complete capabilities. Meaning it can’t run loops like solidity can. This is to ensure less overhead in the Bitcoin blockchain and mitigate against potential bottleneck / spamming programmes being created.

  5. A Turing Complete language is one whereby loops can be created. I.e. more complex programming for more depth of instructions.

1 Like
  1. What does the EVM do?

The EVM is a machine that runs bytecode instructions to transform the system state from one state to another. It sends the instruction via the EVM to the CPU The EVM is a Turing-complete machine but is limited by the amount of gas that is required to run any instruction.

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

Once the code is written, it is compiled into bytecode that’s understandable by the EVM.

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

Code for smart contracts in Ethereum is written in high-level languages such as, Solidity, or Vyper, and is converted into the bytecode that the EVM understands for it to be executed. Once the code is written, it is compiled into bytecode that’s understandable by the EVM using the Solidity compiler

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

The “Script” language for the bitcoin blockchain is not Turing complete like the EVM and can only run very simple commands.

  1. What is a Turing Complete programming language?

A Turing complete language means that it can perform any computation. It is named after Alan Turing, who developed the idea of a Turing machine that can run any algorithm however complex. Turing complete languages need loops and branching capability to perform complex computations.

1 Like
  1. What does the EVM do?
    It is a code app that runs atop each node, it reads and executes smart contracts.

  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 takes the logic and and turns it into bytecode so it is readable by the EVM

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because BTC uses Script and it is not Turing complete

  5. What is a Turing Complete programming language?
    Is a programming language with no limits

1 Like
  1. EVM reads and executes all smart contracts on the Ethereum Network.
  2. EVM reads EVM bytecode.
  3. Solidity is the programming language that programmers use to write with, it is then compiled to bytecode for the EVM to read and execute.
  4. Bitcoins “Script” is not Turing complete.
  5. A Turing complete language is one that can compute anything one can think of.
1 Like
  1. What does the EVM do?
    Provides a security, reads and executes smart contracts while using the computing power of the network.

  2. What is the format of the instructions that the EVM can read?
    From solidity to EVM Bytecode.

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity has a compiler that creates the bytecode the EVM reads.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    The programming language will not allow it but in a bigger picture, it is important to keep the type of programs (transactions) occuring on bitcoin to “pure” transactions - not ones that will strain the network and result in increased blockchain unnecessarily.
    The desire is to keep bitcoin as money, digital gold, a store of value.

  5. What is a Turing Complete programming language?
    One that can solve complex problems and can be used to program almost anything you can think of, not limited the way Bitcoin’s Script programming language is.
    Has Loops - a feature that allows you to tell the computer to do something several times.

1 Like

EVM Homework

  1. What does the EVM do?

EVM - Ethereum Virtual Machine is basically a program that can execute smart contracts, its essentially a program running isolated within a pc or each node, all nodes have the EVM running on top of their own CPU, making it safe for smart contracts to be executed in an encapsulated and safe envoironment, thus without making the main machine or CPU vulnerable to possible bad programs or code

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

Smart contracts are written in whats called byte code, using a program called solidity. Solidity is a program similar to Java script

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

Solidity is a language like English, you use this to write your program. It has a compiler which takes your solidity program and turns it into byte code, this can then be read by the EVM. New languages can be added with their own compiler to turn it to byte code for the EVM.

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

Bitcoin can’t run complex programs like Ethereum, it can do simple small programs but it is very limited as the script in bitcoin is not Turing Complete.

  1. What is a Turing Complete programming language?

A Turing Complete language can solve complex problems, it can be programmed in any way you can think. It has something called loops. This is a feature of the language that allows the programmer to tell the software to do one thing several times.

1 Like
  1. What does the EVM do?
    The EVM is the go-between for smart contracts and the hardware of 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?
    Solidity is the language used by programmers and Bytecode is the code within the contract that Solidity is changed into by the compilier.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? Bitcoin uses Script which is not Turing complete
  5. What is a Turing Complete programming language? A language that can complete any task.
1 Like
  1. What does the EVM do?
    The EVM, which stands for Ethereum Virtual Machine operates on nodes on an isolated or encapsulated network which runs smart contracts.
  2. What is the format of the instructions that the EVM can read?
    The EVM can read Bytecode.
  3. What is the relationship between the programming language Solidity and Bytecode?
    Smart contracts are written in Solidity, then the code is converted into Bytecode by a compiler.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin programs are written in script form, which executes without the ability to monitor its executions, by the use of loops, conditionals, and any instruction which allows the program to self-examine its actions.
  5. What is a Turing Complete programming language?
    Turning complete programming languages are able to examine all aspects of its executions and feedback. Virtually all programming languages today are Turing-complete.
1 Like
  1. EVM is a program that can execute smart contracts. It is an app that runs on nodes and communicates with the Ethereum network.
  2. The EVM can read Bytecode, which is a compiled version of the Solidity code.
  3. Solidity is the programming language people can write and read, whereas Bytecode is the program once it is compiled that computers can read and execute.
  4. Bitcoin’s programming language, script, is not Turing Complete. Where Ethereum’s language Solidity is Turing Complete.
  5. It is a language that you can code anything in and there are no restrictions.
1 Like
  • What does the EVM do?
    EVM is the etherium virtual machine is a code that all etherium nodes run. EVM will read the smart contract and tell the cpu to execute them and if each node reach the same result then everyone is in concensus of a smart contract.
  • What is the format of the instructions that the EVM can read?
    In bytecode which can be programmed by either solidity or viper.
  • What is the relationship between the programming language Solidity and Bytecode?
    Solidity is like javascript then you use a compiler which converts it into a bytecode and evm reads the bytecode.
  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    It’s not touring complete, the code is very limited.
  • What is a Turing Complete programming language?
    You can program anything you want, a turing complete language has loops which are a feature to tell software to do one thing several times.
1 Like
  1. What does the EVM do?

EVM runs on all of the Ethereum nodes and it is used to run the byte code.

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

The byte code.

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

You write the smart contract code in Solidity, then it is converted to byte code so that the EVM can run it.

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

The Bitcoin programming script is not Turing complete. The developers purposefully limited it this way so that the system wouldn’t be spammed and to increase security.

  1. What is a Turing Complete programming language?

When a programming language is Turing Complete it means that you have a lot more options when programming, like loops. Examples of this are Solidity and Viper.

1 Like
  1. EVM reads :nerd_face: the byte code from smart contract :page_facing_up: and runs on the Ethereum nodes. EVM also prevents the execution of malicious :female_detective: code to the entire network, because EVM encapsulates :fishing_pole_and_fish: the contract for verification.
  2. Byte code :currency_exchange:
  3. EVM is a virtual machine placed between the operating system :file_cabinet: and the application :mag: layer to reduce dependency on the operating system. EVM bytecode is a low-level :walking_man::walking_woman: programming language composed of a high-level :running_man: :running_woman: programming language such as Solidity. EMV bytecode is an executable code :receipt: on EVM, requiring smart contract code written in Solidity to be compiled :next_track_button: into EVM bytecode in order to run.
  4. BTC program :receipt: has limited script functionality :warning: that is incomplete, so that the execution of byte code in more complex programs cannot make loops to ensure completeness.
    (The side effects in storage of states and amount of instructions offered, which have a major impact on blockchain size and network usage, meant that the BTC community did not want to deviate from their BTC vision as digital money / gold.)
  5. Turing completeness :white_check_mark: is a concept from theoretical computer science :man_student:. It tells you how powerful :mechanical_arm: a programming language is. Not in terms of performance or maintainability or how rich its ecosystem is. A programming language is Turing complete :white_check_mark: if you can implement any possible algorithm (with infinite :infinity: loops to control how long a loop :repeat: runs from within the loop :repeat: itself).
1 Like
  1. What does the EVM do?
    EVM Reads the Byte code from smart contracts and prevents malicious attacks on the network by encapsulating the smart contracts to be verified by the network nodes!

  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?
    Smart contracts are written in solidity and converted to Byte Code and read on EVM

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoins programming language Script is not Turing complete. This is to increase the security of the network and limiting it in such away to avoid spammers

  5. What is a Turing Complete programming language?
    TC is when a language has more leeway to implement different options such as looping.

1 Like
  1. Executes smart contracts
  2. Byte code
  3. After compiling program made in Solidity you obtain Bytecode
  4. Scripting language that doesn’t permit extend programs uses (loops, etc…) for securuty and blockchain optimization.
  5. Language that permits to program all practical situations.
1 Like

What does the EVM do?

It reads the smart contract and gives the information to the cpu.

What is the format of the intructions that the EVM can read?

Bytecode

What is the realtionship between the programming language Solidity and Bytecode ?

U write the smart contract with Solidity and afte that u convert the code into Bytecode with a compiler.

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

Because Script is not turing complete.

What is a Turing complete programming language?

With a turing complete programming language u can solve more complex problems.

1 Like
  1. What does the EVM do? The EVM is an application which allows developers to execute code network in a way that all are in consensus about what the result should be

  2. What is the format of the instructions that the EVM can read? All computers run on the existing hardware of each computer and will read the smart contract instructions and then tell the CPU of the computer what do do. All will then need to read the same result which = consensus

  3. What is the relationship between the programming language Solidity and Bytecode? The instructions are in byte code. Developers use solidity to access the bytecode

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? Because bitcoin uses script which is not turing complete meaning it cant solve all problems it may have to solve

  5. What is a Turing Complete programming language? Allows you to program anything in solidity and uses loops which tells the software to do one thing several times.

1 Like
  1. What does the EVM do?
    EVM reads and executes smart contracts. So it is a link between a smart contract and a CPU.

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

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is the programming language which can be converted to Bytecode using a compiler.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because bitcoin uses a not turing complete language (Script), which has limited programming capability.

  5. What is a Turing Complete programming language?
    With a turing complete language you can program anything you can imagine, without limitation.

1 Like

1.EVM’s can read and execute smart contracts within the ethereum network.

  1. EVM’s read byte code.

  2. Solidity is the language used to create the byte code that EVM’s can read

  3. Bitcoin’s language, script, is not turning complete.

  4. Turing complete means that it can solve problems and run in loops on its own. Turing completeness allows the program to run on its own.

1 Like
  1. EVM reads bytecode in smart contract.
  2. EVM reads bytecodewhich is complied from i.e. solidity or viper.
  3. Solidity is the programmig language, bytecode is a code of that language which has been compiled.
  4. TC language is a language which can implement all the features required to run a program.
1 Like