Homework on EVM

  1. What does the EVM do?

It encapsulates (isolates) the smart contract from the CPU of the node. It protects the CPU, the smart contract has to be interpreted by the EVM and then the EVM interacts with the CPU. The CPU will provide the results back to the EVM.

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

They can read the byte code. A smart contact will be written in a programming language (Solidity or Viper) and then will be compiled into byte code. The EVM does not care what language the smart contract is written in, it just needs to be compiled into the byte code.

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

Solidity is the programming language that the developer will write in. The programme/smart contract must them be run through a compiler to turn it into the bytecode. It must go through this step for the EVM to read it.

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

Bitcoin Script is not a Turing Complete language, whereas Ethereum is.

  1. What is a Turing Complete programming language?

It can solve any any computational problem given enough time, no matter how complex (and enough available memory). An example of functionality is the ability to do loops.

1 Like
  1. What does the EVM do?

The Ethereum Virtual Machine is basically a piece of code running on each CPU (node) in the Ethereum network that will read and execute each smart contract to reach the same result so that all nodes are in consensus.

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

If i understand correctly, the EVM reads and executes byte codes, which is basically the instructions written in a programming language like solidity

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

Solidity is the programming language and bytecodes are basically the set of instructions for each smart contract. A compiler (special application) will take the solidity code, compile the logic down to bytecode, then the EVM will read the instructions (bytecode).

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

bitcoin uses Script, which is very limited and not turing complete (cannot solve complex problems). Bitcoin basically has only transactions whereas Ethereum has transactions, code, and the state of all smart contracts.

  1. What is a Turing Complete programming language?

a Turing complete program is mathematically able to solve any problem that you feed to it.

1 Like
  1. Ethereum Virtual Machine executes smart contract code within Ethereum nodes.
  2. Machine executable code
  3. Solidity is high level programming which is compiled down to machine executable code ie: Bytecode
  4. Is not Turing complete, only very simple programming rules are available to run on the Bitcoin blockchain.
  5. Turing complete languages contain go to statements permitting loops based on the results of mathematical or logical tests on data. Turing complete machines can logically iterate or loop to any extent until pre determined conditions are met.
  1. EVM allows the execution of code on the network in such a way that builds consensus and utilizes smart contracts.
  2. The EVM has to read the byte code that is produced by Solidity.
  3. The Solidity code goes to a compiler which compiles it down to Bytecode
  4. Bitcoin is unable to run complex programs like Ethereum, because Script is not Turing Complete and is primitive compared to smart contracts.
  5. A Turing Complete programming language is one that can solve all problems that it might have to solve when constructing the programming of some application.

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

Quite close sir, but the format of the instructions that EVM read is ByteCode.

If you have any more questions, please let us know so we can help you! :slight_smile:

Carlos Z.

1 Like
What does the EVM do?

Ethereum virtual Machine gives instructions to every CPU of the network to execute smart contracts in order to reach the consensus
What is the format of the instructions that the EVM can read?
EVM reads instructions through Byte code
What is the relationship between the programming language Solidity and Bytecode?
Solidity creates readable bytecode for EVM
Why can’t Bitcoin run the same type of complex programs like Ethereum can?
BTC works with script language and is limited , it’s not turing complete it can’t solve all problems
What is a Turing Complete programming language?
a TC is a support language capable of programming anything , apparently…

1 Like
  1. The evm reads the smart contract code off of the ethereum network and processes the byte code and translates it into machine readable code on cpu.
  2. Byte code
  3. Solidity is compiled and transformed into byte code which can then by interpreted by the evm.
  4. Because the bitcoin blockchain does not support the creation of smart contracts.
  5. This is a language which can be universally simulated on any turing machine.
1 Like
  1. EVM is the Ethereum Virtual Machine and it reads the byte code that’s been compiled from the Solidity programming language.

  2. EVM can read byte code.

  3. Solidity (a JavaScript type language) is written then compiled into byte code for the EVM to read and execute.

  4. Bitcoin can’t run the complex programs that Ethereum can because its language (Script) is not Turing Complete.

  5. Turing complete programming languages allow you to write code for any situation you can think of. A non-Turing Complete language (like Script), has limits.

1 Like
  1. EVM (Etherium Virtual Machine) is a piece of code which exicutes consensus on smart contracts throughout the Etherium network.

  2. Byte code.

  3. Solidity can read the byte code instructions in smart contracts.

  4. It’s not Turing complete.

  5. Solidity.

1 Like
  1. What does the EVM do?

The EVM reads the instructions on the smart contracts, then tells the CPU what to do.
The EVM is making sure that the Smart Contract can’t break loose and take over you computer or the network.

  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?

Solidity is written and then compiled into byte code for the EVM to read and execute.

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

Bitcoin uses Script, Script is not Turing Complete, which makes it limited.

  1. What is a Turing Complete programming language?

Solidity, can do anything you could think of. Capable of permitting loops

1 Like

EVM (ethereum virtual machine) it secure the network by making malicious whit in the block impossible

Byte code

Logic and instruction given in solidity are compiled to bytecode for EVM to read

It doesn’t tackle turing complete programs

Programming language become turing complete if it can implement any possible algorithm.

1 Like

1. What does the EVM do?
EVM provides a run time environment for smart contracts to be executed on ethereum block chain. Each node in ethereum network has an EVM application. Smart Contracts written in higher level languages like Solidity are compiled into byte codes which EVM executes by interacting with the node CPU. EVM separates the node CPU from the Smart Contract program and ensures block chain security.

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?
Smart Contracts written in higher level languages like Solidity are compiled into byte codes that the EVM can read and execute.

4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Bitcoin block chain does not provide an environment to execute complex programs to prevent any malicious code to hack the CPU of the nodes in the network.

5. What is a Turing Complete programming language?
Turing complete programming language has the ability to execute various computations. One important feature of Turing complete language is loops - ability to run same set of instructions multiple times.

1 Like
  1. What does the EVM do?
  • EVM is the distributed code layer running on every node. It executes instructions of the smart contracts. It is a sandboxed environment that prevents malicious code from being executed on the CPU.
  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?
  • Solidity is the programming language used by developers. It compiles byte-code that the EVM can execute.
  1. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
  • Bitcoin uses the programming language called “Script”, it is very limited and not turing complete.
  1. What is a Turing Complete programming language?
  • You have nearly endless possibilities with a turing complete programming language. One feature of a turing complete language is the ability to run loops.
1 Like
  1. The EVM reads the byte code in the smart contract and transfers the instructions to the CPU. It also protects the CPU from malicious smart contracts.

  2. The EVM reads byte code

  3. Solidity’s code is transformed via the compiler into byte code for the EVM to read it’s instructions

  4. Bitcoin’s programming language, Script, is not turing complete. It is limited and cannot solve all problems that an application might need to solve.

  5. Solidity is a Turing Complete programming language.

1 Like

EVM runs smart contracts
The format of instructions is a language called solidity
Solidity is then transformed to byte code
Bitcoin can ot run the same type of programs because it use a limited language called script
A turning complete programming language provides unlimited programming potential

1 Like
  1. The EVM encapsulates the smart contract so that it doesnt run directly on the cpu.
  2. The EVM reads bytecode
  3. Solidity is similar to plain text for humans to interact with the computer then it is converted to bytecode which is binary so the evm and cpu can read them
  4. Bitcoin cannot run the same complex programs because the coding language is not turing complete and only has a limited number of functions. The Bitcoin community has decided to keep it simple so only transactions occur on the network.
  5. Turing complete language means that it can be used to solve all problems and not a limited number like bitcoin
1 Like

1). The EVM is on each node and it executes the commands from the bytecode. It can determine if smart contracts have been met.
2). EVM reads Solidity and outputs bytecode for the node’s CPU to execute.
3). Solidity is the language that the smart contracts use on the EVM; Bytecode is the output that is sent to the CPU to execute.
4). Bitcoin does not want to run the complex programs because the block sizes would get too large and would be a problem for Bitcoin.
5). A Turing Complete programming language is basically one where just about anything can be programmed in (at a cost).

1 Like
  1. What does the EVM do?
    An EVM reads and executes smart contracts on the Ethereum network. It interacts directly with the smart contract and transfers instructions to the node’s CPU, thus preventing the smart contract from directly interacting with the CPU. This helps avoid any malicious code in the smart contract directly transmitting to the CPU potentially causing security issues.

  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?
    EVMs can only read bytecode. A compiler is a special application that takes the instructions and logic written in Solidity and compiles it into bytecode that can then be read by the EVM. This allows the Ethereum network to run other languages besides Solidity once the appropriate compiler converts instructions to bytecode.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin’s programming language ‘script’ is not Turing complete, and can only run limited basic/primitive instructions - for e.g. ‘multi signature’ wallet. However smart contracts require more complex codes that involve ‘loops’ - i.e. executing instructions multiple times. BTC developers were wary that ‘loops’ could potentially spam the network while also requiring bigger block size.

  5. What is a Turing Complete programming language?
    A Turing Complete language is capable of (theoretically) programming anything that’s required, ie. it’s capable solving any mathematical problem. Importantly, it allows for loops - a feature in a programming language that can tell software to repeat an action several times, while accounting for any variables that may change the state of a smart contract.

1 Like
  1. EVM is the Ethereum Virtual Machine is code and basically makes it possible for all nodes in the ETH network to be in consensus as it regards smart contracts that are too be executed using EVM byte code…
  2. The format of the instructions that EVM can read is Solidity programming language …
  3. Smart Contract is in ByteCode and a complier takes the Solidity code and complies it into Bytecode which the EVM then can read to execute the smart contract…
  4. Bitcoin can run smart contracts in Script but they are primative contracts and very limited so it is NOT Turing complete and cannot solve all problems for a complex smart contract…
  5. Solidity is Turing complete so you can program very complex smart contracts because they have Loops that can tell a SW program to do 1x thing multiple times, which is very important for a comprehensive smart contract…many feature cannot exist without Loops…
1 Like

Ans.1)
The EVM (ethereum virtual machine) allows us to execute code on all nodes throughout the ethereum network. All nodes can perform the instructions of the EVM-bytecode and arrive at the same result, which leads to network consensus. The EVM becomes an intermediary giving instructions between the node’s smart contract bytecode and the computers CPU/GPU’s. The EVM reads the bytecode language and does all the necessary calculations arriving at the final resultant state. The EVM reads the converted language of the smart contract from solidity or viper, which uses compliers to determine EVM-bytecode language that is then broadcast or disseminated to the ethereum network via the EVM. The EVM is a security layer between the network and any possible malicious code wanting access via the smart contract median.
Ans.2)
EVM-bytecode computer language.
Ans.3)
Solidity is where programmers may write smart contract stepped instructions. Solidity language requires a secondary function known as compilers. Compilers use logic and calculations to convert this language type to bytecode that can now be delivered, read, and handled by the EVM.
Ans.4)
Bitcoin only has a simple script programmable smart contract language and therefore is limited in usage. It is also not a “true and complete” language whereas ethereum is. Bitcoin was created to be a safe, secure store of value like gold.
Ans.5)
A true and complete language is able to perform a loop function. It can instruct a computer to run a set of sequential instructions from say 1-7 and then on the seventh instruction command the computer to revert back to the start to run through it again for maybe 100 times before completion.

1 Like