Homework on EVM

  1. The EVM reads and executes the source code of the smart contract
  2. Bytecode
  3. Solidity gets compiled into byte code.
    4.Bitcoin isn’t Turing Complete
  4. A Turing Complete programming language means you can create anything you can think of, anything is possible.
1 Like

1. What does the EVM do?
The EVM is the Ethereum Virtual Machine. It creates a level of abstraction (a middle man) between the smart contracts executing code (generally written in Solidity language, but also Vyper or Bamboo) and the executing machines (that run on bytecode).
Each node has the EVM installed so they can read code and execute it on their CPU’s.

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

3. What is the relationship between the programming language Solidity and Bytecode?
Smart contract languages like Solidity cannot be executed by the EVM directly. Instead, they are compiled to low-level machine instructions: bytecodes.

4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin uses programming language Script, which is non-turing complete (meaning its power of data-manipulation rule set is reduced), so it cannot solve all types of programming problems. Ethereum uses Solidity, which is Turing Complete, which allows it to solve complex problems.

5. What is a Turing Complete programming language?
A Turing complete language is one that can perform any type of computation

1 Like
  1. an evm is an application that makes it possible to execute codes on the etherium network in such a way that on the end all nodes must reach consensus with the result. An EVM runs on top of the existing hardware of every computer in the network. The EVM will use the CPU and all other resources that the node has. The instructions in a smart contract are written in solidity code. We will need to compile this code, to translate into bytecode, something only the EVM can understand… The EVM is located between the smart contract and the CPU, reads the instructions and let them executed by the CPU. This processing gives a result. All EVMs on the network’s nodes will have to do the same. When all nodes come to the same result, consensus on the network is reached.

  2. EVM bytecode

  3. the solidity code can be compared with a normal language, eg English. This is used to make smart contracts. For example, there are different programming languages ​​such as Viper. For the EVM it doesn’t matter which program language you use, the EVM only works with the bytecode? So every programming language has to be compiled to bytecode for the EVM to process it

  4. The programming possibility’s on bitcoin are very limited, bitcoin it is using script and script is not turing complete.

  5. Solidity is een turing complete language where you can program anything you want or can think off. TC has a feature called loops which can be very important in some cases

2 Likes
  1. EVM securing the Ethereum network. Ensure that a smart contract does not brake loose and attacks the CPU´s in the network and at the end takes over the hole network.
  2. The format that ETV can read is byte code.
  3. In Solidity we program our smart contract and then compiled into byte code so the ETM can read the smart contract.
  4. In Bitcoin we have Script and it is not turing complete. We can not solve any problem. And Bitcoin does not needed and it is better for Bitcoin, because of the spamm that can happen.
  5. It is a program where you can program everything (´solve and problem´).
1 Like

Answer:

  1. EVM reads instructions from Smart Contract and then pass it on to CPU for execution.
  2. EVM can read turning complete language, called Solidity.
  3. Solidity is compiled into EVM Bytecode, which is then running on Etherume nodes for execution.
  4. Because Bitcoin programming language Script is not Turing Complete for security reasons. With Script, you can do a limited amount of actions.
  5. Turing Complete programming language allows you to run loops, which means repeating the same action again and again. Programing Language is Turing Complete only when you can write every possible computable function in this language.
  1. What does the EVM do?
  • The EVM makes it possible to execute code on this network in such a way that all the nodes reach
    consensus. It can read a smart contract and capsulates it, so that nothing malicous breaks loose to
    the CPU. The EVM tells the CPU what to do.
  1. What is the format of the instructions that the EVM can read?
  • Byte code
  1. What is the relationship between the programming language Solidity and Bytecode?
  • A compiler will compile down your Solidity code down to Byte code.
  1. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
  • Bitcoin has a very limited programmability/Script. It is not Turing Complete.
  1. What is a Turing Complete programming language?
  • Solidity, you can program anything you want.
1 Like
  1. What does the EVM do?
  • EVM reads the smart contracts and executes the commands of the code from the contract.
  1. What is the format of the instructions that the EVM can read?
  • EVM will only read the contract in byte code.
  1. What is the relationship between the programming language Solidity and Bytecode?
  • Solidity is where the code will be written. Then the code will be compiled into bytecode. Once it is compiled, EVM will read and execute the code.
  1. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
  • Bitcoin can’t run the same type of complex programs like ethereum because the script it uses is simplistic; thus, it is not turing complete.
  1. What is a Turing Complete programming language?
  • A turing complete language is known to be complex, for it includes loops within the script.
1 Like
  1. Reads the instructions in the smart contract and tells the CPU to execute them.
  2. Bytecode.
  3. The smart contracts written in Solidity are converted into Bytecode by a compiler so that EVM can read them.
  4. Because its programming language (Script) is not Turing Complete.
  5. A programming language that can execute loops.
1 Like
  1. From what I understood It makes kind of a separation between the code and the computer. It checks that the code is o.k.
  2. bytecode
  3. A person rights and reads in Solidity and the computer takes that information and works with bytecode
  4. Because it uses a much simpler language
  5. A language that allow the programmer make many complex things
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?
  4. What is a Turing Complete programming language?

1.It gives cpu instructions, its the Eth program that execute smart contracts.
2. Byte Code.
3. Its that solidity is compiled to Bytecode.
4…Btc script is limited, its Not turing complete, TC.

1 Like
  1. EVM is the virtual machine running entirely on the Ethereum blockchain that executes smart contracts.

  2. EVM reads all instructions in Byte code.

  3. Solidity is a high-level programming language. It compiles into the byte code, a low-level programming language that runs on the EVM.

  4. Bitcoin is not a turing complete language, so it cannot run the types of programs Ethereum can run.

  5. A turning complete programming language is one that allows the user to modify the memory and perform any complex mathematical operation, such as loops.

1 Like
  1. What does the EVM do?
  • Executes the Bytecode before the CPU runs the Bytecode.
  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 becomes Bytecode, so that the EVM can read it, and execute the code.
  1. Why can’t Bitcoin run the. same type of complex programs like ethereum can?
  • Ethereum has a Turing complete language (Solidity) and Bitcoin does not have a Turing complete language (Script).
  1. What is a Turing Complete programming language?
  • It has conditional repetition or conditional jump (while, for, if and goto). In principle (although often not in practice) it could be used to solve any computation problem.

1- Ethereum Virtual Machine. It is the operating system to run smart contracts.
2- Solidity language.
3- Solidity programs compiled into by-code to run on EVM.
4- Bitcoin is not turing complete. It can only do simple tasks like multi-sig wallet setup. However, the bitcoin is written using C++ which is a turing complete language. I believe the smart contract feature could be added to Bitcoin but they want to keep Bitcoin as a currency and simple protocol.
5- It is a language that allows to call other programs and manipulate them.

  1. The Etherium Virtual Machine reads and executes the commands of the Smart Contract.
  2. Solidity
  3. Solidity is more manegeable and “translates” into Bytecode
  4. Because bitcoin is meant to be a storage of value or a currency pro payments and not a tool for smart contracts.
  5. Turing Complete describes abstact machines. It can be used to simulate any Turing Machines
  1. What does the EVM do?
    Ethereum Virtual Machine is there to interpret smart contract instructions to the nodes. It also works as a security measurement as the SC can only be run on the network once consensus is reached by majority of the nodes (everything checks out, no malicious code inside contract, valid txs, etc.)

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

  3. What is the relationship between the programming language Solidity and Bytecode?
    The code for the smart contracts is written in a programming language called Solidity. Because EVM can only read Bytecode, the contracts need to be put through a compiler which exports instructions into Bytecode.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because Bitcoin uses a simpler programming language, called Script, which is not turing complete.

  5. What is a Turing Complete programming language?
    A turing complete language enables the use of loops (do simple task x times - repeat)

The EVM only understands bytecode. Humans can program in Solidity or another language wich is easier to understand and looks like English. If your smart contracts are written, it needs to compile into bytecode that the EVM can understand and execute it on every node of the network

Okay, thanks for the correction. Very much appreciated

1 Like
  1. EVM helps smart contract code to run on the Ethereum blockchain
  2. Byte code
  3. Solidity is where you write your smart contracts and then your code is compiled into bytecode by a compiler
  4. Because Bitcoin does not support Turing Complete programming languages
  5. Turing Complete allows freedom of creation when it comes to coding whereas non-TC limits the programmer and his/her possibilities
1 Like

1.The EVM is the Etheruem Virtual machine that is a global singleton machine. With a global singleton state. The state is maintained by the nodes in the network that accept and verify the transactions. Each of those nodes runs the EVM. The EVM that is running on those nodes creates an isolated(encapsulated) environment to run smart contracts and transaction request that have been submitted to it.
2.EVM is a sandbox environment because it shuts down any access the executing code has to the directly execute commands against the host CPU which could cause serious security issues.
3.The code for the smart contracts is written in a programming language called Solidity. Because EVM can only read Bytecode, the contracts need to be put through a compiler which exports instructions into Bytecode.
4. Because Bitcoin uses a simpler programming language, called Script, which is not turing complete.
5.A language that allows programmer to do anything

1 Like

The EVM takes byte code and executes the instructions of a smart contract by using the CPU and other resources of a computer that is on the Ethereum network.

Byte code

Smart contracts are written in the programming language solidity. An application called the compiler reads the smart contract and compiles it into byte code for the EVM.

Because bitcoin uses the programming language called script which primitive and limited. Script is not a turning complete language that doesn’t run loops so bitcoin can’t have complexed programs like Ether does.

A programming language that allows for loops that tell software to do the same thing several times.

1 Like