Homework on EVM

  1. What does the EVM do?
    The Ethereum Virtual Machine is a isolated protected environment that runs and manages the Smart Contracts. Each node runs the same EVM and Smart Contracts.

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

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is the Ethereum coding language and is used to programmer smart contracts, when the programs are compiled or prepared to be distributed the smart contracts (programs) are converted to executable byte-code ready to be processed on the EVMs

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin is not designed to run smart contracts, it does not allow for the more complicated programming and processing required to run Smart Contract type functionality.

  5. What is a Turing Complete programming language?
    It essentially is a programming language that meet a standard requirement to be Turing Complete. In theory a Turing Complete Language can allow you to write a program to solve “any” problem. It supports advanced programming functions to allow you to tackle complex problems and solutions, unlike Bitcoin that supports Scripts that can only help develop basic solutions for basic problems.

2 Likes
  1. EVM executes given instructions on a smart contract and relays it to cpu and connected nodes.

  2. Bytcode

  3. Solidity or any other language is sent to the compiler, transalted into bytecode and run on EVM.

  4. Bitcoin’s script is not Turing complete and limited.

  5. A tyring complete language allows you to write loops, is very flexible and diverse. You can run a script again and again without writing it individually.

2 Likes
  1. EVM can read smart contracts and inform the cpu to execute. All nodes carry an EVM, this brings consensus into the network when a smart contract is about to be executed.
  2. EVM byte code.
    3.Solidity is the Ethereum program language, when code is written it sent through a compiler. a Compiler translates the logic and program of the SOL code into a EVM readable lang, byte code.
  3. Bitcoin was made to be digital money. If it had application and contract abilities, the code would be too complex and blocks wouldn’t be able to carry such information. anti spam as well.
  4. Turing complete language is a language that also has looping. theoretically TC languages can solve all/most problems.
1 Like
  1. The EVM is an Ethereum based Virtual Machine that acts as an intermediary between a computer’s CPU and a Smart contract. EVMs are responsible for interpreting the coded instructions on a smart contract and instructing the CPU to execute them. EVMs also provide security as malicious code has no way of executing itself on the CPU directly. It is sandboxed essentially.

  2. Bytecode.

  3. Solidity is the programming language used by developers to create instructions, these instructions are put through a compiler which converts them into Bytecode. This bytecode is then easily readable by the EVM.

  4. Bitcoin uses a programming language which is not Turing-Complete. Ethereum’s programming languages are Turing-Complete. The architecture of the bitcoin blockchain prevents complex programs from running as block sizes are limited to only 1mB.

  5. A Turing-Complete programming language is able to theoretically program anything you can think of. This means very complex programs are able to be made.

3 Likes
  1. Its code that runs on top of the existing hardware of each node that also reads and executes smart contracts.

  2. Bytecode

3.Bytecode is solidity that has been run through a compiler.

  1. Bitcoin runs script which is not turing complete while Ethereum runs solidity which is turing complete.

  2. A language that allows you to program whatever you want.

1 Like
  1. EVM executes the smart contracts, sends commands to the CPU.
  2. EVM can read Bytecode.
  3. The programmers write commands with Solidity and and compile them in Bytecode which is easy readable for EVM.
  4. Bitcoin’s programming language is not a Turing-Complete and can’t run complex programs, being also limited by the size of the blocks to only 1 Mb. ETH has a Turing Complete and can run complex programs .
  5. A Turing - Complete programming language can run any complex program , theoretically.
3 Likes
  1. EVM executes the byte code on all the nodes, the instructions that comes from soliditys compiler that is.
  2. byte code.
  3. The compiler reads the Solidity language and interacts with EVM using byte code that the EVM understands.
  4. Because Bitcoin is not Turing Complete and for example cannot use loop functions.
  5. It is a programming language where there is no limit to what you can program.
3 Likes

EVM Solidity and Smart Contracts - HOMEWORK

1. What does the EVM do?

It runs on top of the hardware of ETH nodes and tells the CPU what to do. It also encapsulates the smart contracts and ensures that no smart contracts can do harm to the network.

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 Byte code?

The EVM can only read byte code so the Solidity rules and concepts within the smart contract need to be compiled into byte code for the EVM to be able to process it.

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

Because it doesn’t run a Turing complete programming language like Solidity. It runs on script.

4. What is a Turing Complete programming language?

A language that can program absolutely anything.

3 Likes
  1. EVM, or Ethereum Virtual Machine, is the code that the network of nodes run. EVM is the consensus mechanism used in the Ethereum Blockchain. It is similar to Bitcoin Core. EVM also acts as a middleman between smart contracts and the nodes themselves, preventing code from running straight on the node’s CPU.
  2. Bytecode (compiled Solidity or Vyper).
  3. Bytecode is the low-level output of compiling Solidity. This bytecode makes it more convenient to code smart contracts, as any language of any level can be used to code them as long as it produces the same bytecode that the EVM can understand.
  4. Because the Smart Contract/Transaction language that Bitcoin uses, Script, is not turing-complete, meaning that the language is incapable of things like loops or conditional statements.
  5. It is a language that is defined as the most powerful computing model known to man (currently). It can simulate any possible Turing Machine. This means it has conditional statements and loops.
2 Likes
  1. EVM makes posible the execution of code in the network, in such way that all nodes have consensus of the result. It is executed on top of the existing hardware of each node in the Ethereum network, it will use CPU and all the resources each node has.

  2. EVM can read Smart Contracts, which are small pieces of program/code.

  3. Solidity compiles all the code, the instructions that the smart contract has and turns it into byte code and the EVM will be able to read all the instructions, in order.

  4. Because Bitcoin uses a programming language called “Script”, which is a non turing complete language, it means it can do basic things but not complex. Bitcoin is designed to work as digital cash or digital gold and nothing more.

  5. A turing complete programming language means you can program everything you can think of in theory, all the problems can be solved.

1 Like
  1. What does the EVM do?

The Ethereum Virtual Machine (EVM) is a singleton global machine. With a singleton state that is global. The state of the network is maintained by the nodes that accept and verify transactions. The EVM is executed on each of those nodes. The EVM operating on such nodes creates an isolated (encapsulated) environment in which smart contracts and transaction requests may be performed. To avoid spam, it employs OP Codes and gas.

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

The EVM can read bytecode, which is Solidity code or Vyper code which is compiled.

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

Solidity is a programming language that developers use to create smart contracts. The way it is written can be understood by humans. However, in order for it to be picked up by the EVM, the written solidity code has to be compiled into bytecode, which is basically making the code readable to the EVM.

Think of it as typing a letter in English and finally translating it into Spanish so that your mate in Spain can understand it.

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

Bitcoin isn’t Turing complete, which means it does not have the same features that are enabled in the Ethereum blockchain. This is because its purpose is to be a scarce “digital gold”; a store of value. Anything more would turn it into something it wasn’t intended to be.

  1. What is a Turing Complete programming language?
    Solidity and Vyper are some examples of this because they can allow you to do anything IN THEORY. In reality, these languages may be limited due to factors such as high gas fees and time.
  1. What does the EVM do?
    The Ethereum Virtual Machine reads the smart contract and tell the CPU to execute it.
  2. What is the format of the instructions that the EVM can read?
    it´s called bytecode which comes from the solidity code compiled.
  3. What is the relationship between the programming language Solidity and Bytecode?
    Bytecode is generated by compiling Solidity
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because the BTC programming language is not turing complete
  5. What is a Turing Complete programming language?
    One programming language that allows to solve any problem
1 Like
  1. What does the EVM do?
    ans-EVM performs the task of reading all instructions under the smart contracts to be executed by the software or CPU of the node on the etherum network.
  2. What is the format of the instructions that the EVM can read?
    ans-Byte code
  3. What is the relationship between the programming language Solidity and Bytecode?
    ans-solidity is one of the program language on Eth; where as the bytecode is the actual code that the EVM be able to read from. (a compiler simplify the instructions written on solidity for the EVM to read it.)
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    ans-1-the bitcoin programming language, Script, isn’t Turing Complete.
    2-the Bitcoin block size is limited to include such complex smart contracts.
  5. What is a Turing Complete programming language?
    ans- it is a programming language that is finalized and capable of writing complex codes and perform complex mathematical computation.
2 Likes

My Answers:

  1. The EVM reads and executes smart contracts on the ETH network.

  2. Bytecode.

  3. Smart contracts are written in Solidity then complied in Bytecode for the EVM to read and execute. You could essentially write a smart contract in any programming language as long as you can compile that programming language into bytecode.

  4. Bitcoins programming language is Script and it is not turing complete. Meaning you are limited to what you can program. Another reason is that the Bitcoin block size is limited creating issues with storing smart contracts on the network.

  5. Solidity.

2 Likes
  1. What does the EVM do?
    EVM is an application on every node in the Ethereum network. It can read and execute smart contracts.
  2. What is the format of the instructions that the EVM can read?
    The EVM takes smart contract instructions written into solidity and turns them into byte code for the cpu to execute.
  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity will be turned into byte code via EVM.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because Bitcoin is not turing complete.
  5. What is a Turing Complete programming language?
    Turing Complete can program anything because it has loops.
1 Like
  1. What does the EVM do?
    The EVM is an intermediary program that runs on all nodes. It executes small contracts and relays the instructions to the CPU, resulting in a uniform result throughout the network.

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

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity compiles and writes instructions in Bytecode to form the smart contract, which the EVM reads and relays to the CPU.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Script, the language written on Bitcoin, is not Turing Complete.

  5. What is a Turing Complete programming language?
    Turing complete languages share the ability to perform any computation. Turing incomplete languages have limited capability to perform certain computations, such as loops.

1 Like
  1. The EVM stores, reads, and executes smart contract functions within the Ethereum virtual machine. (2) More specifically, the EVM turns solidity written code into byte code for it to be readable by a cpu.

  2. Solidity is turned to ByteCode by way of the EVM.

  3. The language used for BitCoin, called Script, is not capable of complex functions as opposed to Solidity. (The code is not Turing Complete)

  4. a turing complete programming language is capable of writing and executing complex mathematical calculations and code and is seen as an all-round capable language

1 Like
  1. The EVM reads the smart contracts and then tells the CPU what it has to do. It is an application that every node runs.

  2. It is in EVM Bytecode.

  3. Solidity is the programming language in which the smart contracts are written. It has to be compiled to bytecode for the EVM to read it.

  4. Bitcoin’s programming language ‘Script’ is not designed for complex code, it’s not turing complete.

  5. It is a programming language that can solve any problem, everything can be programmed.

1 Like
  1. What does the EVM do?
  2. What is the format of the instructions that the EVM can read?
  3. What is the relationship between the programming language Solidity and Bytecode?
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
  5. What is a Turing Complete programming language?

ANSWERS

  1. EVM - makes it possible to execute on a smart contacts or small piece of code.

  2. When all the nodes execute the same piece of code.

  3. Solidity compiles the logic to Bytecode for the EVM to read all the instructions

  4. Bitcoin is very limited, it can’t solve all the problems that you mighty truly want to programme as an applicant.

  5. Turing complete programming language has something called loops that can allow software to do one thing several times without change of the variable.

1 Like
  1. EVMs executes the smart contracts.
  2. Sandbox enviroment means it is isolated from the cpu when running the smart contracts so nothing bad will happen.
1 Like