Homework on EVM

An EVM reads smart contracts via byte code and sends appropriate commands to the node it is associated with. This is a benefit because if smart contract commands were sent directly to the node, the node’s security would be compromised.

Bytecode

Solidity is a programming language that an individual uses to make smart contracts. Once the smart contract is put into the Ethereum network, it gets compiled into Bytecode for the EVM to interpret.

Because Bitcoin is not Turing Complete. The reason being is that the developers did not want Bitcoin to get spammed with commands and overinflate the blockchain with unnecessary data.

A Turing Complete programming language is a programming language that any command can be executed on, no matter how complex.

1 Like

The ethereum virtual machine runs on top of & creates an environment where the smart contracts run. Th he solidity codes are turned into byte code then the evm executes that byte code on to CPUS

Evm does not allow smart contracts to interact with host computer

1 Like
  1. Reads instructions and passes them of to the CPU to do the work.
  2. Byte code.
  3. Solidity transforms programs in to bytecode that can be read by the EVM.
    4.Bitcoin is a non-Turing complete programming language.
  4. A Turing complete language is allowing smart contracts to preform any action.
1 Like
  1. read the compiled bytecode of solidity and execute the instructions on CPU

  2. compiled bytecode of solidity

  3. we can use solidity to write smart contract code, and use the compiler of solidity to generate the corresponding bytecode

  4. the bitcoin script language is not turing complete, thus is not able to solve complex problem

  5. contains the complex syntax as loops to solve any problem as we can imagine

1 Like

1 Ethereum Virtual Machine, runs smart contracts on the Ethereum network.
2 The EVM reads Bytecode.
3 Written in Solidity (though potentially you can have other programming languages eg Viper)and then compiled into Bytecode.
4 Script, bitcoins programming language is Not Turing Complete…Limited programmability.
5 Turing complete means anything you can think of you can program…Thanks to features like “loops” and others for example.

1 Like
  • What does the EVM do?

EVM allows the execution of code on the network in such a way that all nodes are in consensus about the results.

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

The format of the instructions the EVM can read is called EVM Bytecode.

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

Bytecode is derived by the compiler from the Solidity programming language.

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

Bitcoin’s Script language can’t run the same complex programs as Ethereum because it is not a Turing complete programming language.

  • What is a Turing Complete programming language?

A Turing Complete programming language allows you to in theory program anything that your heart desires without limits.

1 Like
  1. What does the EVM do?

EVM allows programs to be executed through smart contracts.
All nodes will consume the smart contract in byte code and follow the consensus algorithm.
The EVM reads the byte code language through smart contracts. the smart contract is compiled down to byte code and executed inside the EVM.
The EVM also acts as a security layer which ensures no malicious code will get executed.

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

  2. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is a high level programming language that allows us to write awesome programs to do amazing things like send and receive tokens (NFTS & Money). in order for ethereum to process the program and execute all the amazing things you want to do, the EVM compiles the high level language down to machine langauge (bytes) and then the EVM can understand and execute all the amazing stuff you wrote in the smart contract.

  3. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin is not turing-complete. Bitcoin can run scripts to do some limited actions, but cannot do all the amazing things the Ethereum can do.

  4. What is a Turing Complete programming language?

Turing complete language basically means it can compute and solve complex problems. With a given amount of runtime memory and time… In theory it is a language that can theoretically run any program no matter how complex it is. there is no guarantee how long it will take to solve but with a given amount of time and memory a problem can be solved. for example we wanted to calculate all the stars in the known universe by using Nasa’s cameras it can take 100 years to solve… if we let the computer run for 100 years then we will have solved the problem and get a the answer to our question of how many stars are in the known universe.

long story short… bitcoin doesnt have loops and Eth can compute loops.

1 Like
  1. What does the EVM do?
    It executes code on the ethereum network.

  2. What is the format of the instructions that the EVM can read?
    It uses a smart contract programming language such as Solidity.

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity compiles to bytecode which are the machine instructions, usually not as human friendly as computer code such as the case in Solidity here that the computer can understand and run.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    It is not Turing Complete.

  5. What is a Turing Complete programming language?
    A computer language that can solve any kind of mathematical problem.

1 Like

1- EVM runs and executes smart contract on the Ethereum blockchain in a way that all nodes can see the result.

2- Bytecode.

3- Solidity or viper can transform a program into bytecode which can read by EVM.

4- Cause it’s a non Turing complete.

5- A computer program that allow smart contract to perform and execute any command or action unlike BTC (non Turing complete)

1 Like
  1. EVM is between the smart contract and CPU ensuring security by reading the smart contract and making sure everything is correct.
  2. The instructions are in Bytecode.
  3. Solidity is the programming language used for smart contracts. A compiler takes this information and transforms into Bytecodes that EVM understands.
  4. Because Bitcoin language is not Turing Complete and don’t use loops, it is digital gold and not intended for smart contracts.
  5. Turing Complete is a language that can implement loops - the same thing happening over and over again and can solve any problem that Bitcoin can’t.
1 Like

1.) An EVM allows the execution of a smart contract’s code and network to reach consensus, and gives its computer partner step-by-step instructions from there on out.
2.) The format of the instructions that the EVM can read is the byte code, and it executes these instructions step-by-step.
3.) The relationship between the programming language Solidity and Bytecode is that Solidity gives its computer partner instructions directly; the smart contract using solidity can possibly break free if the instructions are problematic in any way. Bytecode, on the other hand, works together with an EVM to ensure that these network instructions are all correct before the smart contract’s execution fully takes place.
4.) Bitcoin can’t run the same type of complex programs like ethereum because bitcoin’s scripting isn’t turing complete (doesn’t have connections with things like Solidity), meaning it can’t solve as many problems by building things like dapps.
5.) A Turing Complete programming language is a program that can solve complex problems by innovating things like dapps.

1 Like
  1. read the smart contract after it is compiled into Bytecode and tell the CPU what to do.
  2. Solidity
  3. Solidity is a programming language that human can understand. After Solidity was compiled into Bytecode then The EVM can read the instruction from Smart Contract.
  4. Bitcoin is not Turing Complete. it can only do a simple task but don’t have feature to do a complex one.
  5. Programming language that have a abilities to manipulate the data such as condition , loop.
1 Like
  1. Executes the byte code of a smart contract on a node to give some kind of result
  2. Byte code
  3. Solidity is a human readable programming language that can be compiled into Bytecode
  4. Bitcoin uses a programming language called Script that is not Turing complete and can only do very simple commands while Ethereum uses any programming language that can be compiled into Bytecode which allows for more complexity
  5. A Turing complete programming language is one that can be used to simulate any Turing machine
1 Like

1.Evm executes code on the ethereum network to reach consensus with the nodes within the network
2.Bytecode
3.Program getting written in solidity and gets then compiled to bytecode so the evm can read and execute the code
4.because bitcoin’s code is not turing complete unlike ethereum and can only do simple tasks
5.Turing complete programming language is one that simlate and solve complex problems in any language

1 Like
  1. EVM or Ethereum virtual machine is running on top of each nodes hardware. It will take a look of the commands on SC, will do all the calculations and will tell the CPU what to do.
  2. Byte code
  3. EVM read in solidity and compile it into EVM byte code.
  4. Because BTC developers want it to be a digital gold and nothing more. And having the complex program would require more space on blockchain and might cause spams.
  5. A Turing complete programming language can do or implement any possible algorithm.
1 Like
  1. What does the EVM do?
    EVM stands Ethereum Virtual Machine and its task is to communicate with the nodes CPU and give it instructions on what to do.

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

  3. What is the relationship between the programming language Solidity and Bytecode?
    The relationship between Solidity and Bytecode is that Ethereums code is first written in Solidity, which is then put into a special application that translates solidity code into byte code, which is what the EVM will read.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin can´t run the same type of complex programs that Ethereum runs because it uses SCRIPT, a not turing complete language.

  5. What is a Turing Complete programming language?
    A turing compolete programming language is basically a programming language that can execute code to run in loops.

1 Like
  1. it creates a functioning layer between the cpu and the smart contracts.
  2. the EVM reads in byte code.
    3.Solidity interprets the byte code much like viper.
    4.bitcoin is not Turin complete language.
  3. a turin complete language language is one with that can create anything with unlimited scale ability.
1 Like
  1. What does the EVM do? EVM, ETH virtual machine, a component of consensus, is an intermediary between the blockchain and CPU’s that launch smart contracts by reading and executing byte code. It is a security feature in this role, eliminating the need for the CPU to interact with the smart contract, which would result in compromised security.

  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? The byte code is written in solidity, EVM reads instructions in byte code.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? Script, the programming language for BTC, is not capable of executing smart contracts, the programming language is limited.

  5. What is a Turing Complete programming language? A true and complete language is one that has loops that perform various, repeatable tasks.

1 Like
  1. Every node of the Ethereum network runs the EVM. In each EVM the smarts contracts are executed constantly.

  2. The EVM reads instructions on a byte format.

  3. The commands of the programming language Solidity all have its translation to Bytecode, so they can be executed on the EVM.

  4. The bitcoin programming language is Turing Incomplete, while the ethereum one is Turing Complete. In conclusion, Bitcoin can’t run most things that Ethereum can.

  5. A Turing Complete programming language is one that can execute any logical algorithm given enough time and computational power.

1 Like
  1. The Ethereum Virtual Machine (EVM) is an application that runs on each node of the Ethereum network. By having an EVM, a node and its CPU are protected from potential malicious activity. Encapsulating the smart contract within the EVM makes this possible.
    The EVM reads the contract, calculates and then instructs the CPU of each node what is to be done; all along the way, delivering the contract to a new state-of-being as it advances in maturity.

  2. The instructions that the EVM can read are in the byte code format. The “lingua franca” nature of byte code allows for other programming languages to be used beyond Solidity and Viper.

  3. Solidity is the programming language used to write or program the smart contract. From there, a separate application called a compiler translates the smart contract into Bytecode which will then be read by the EVM to instruct, or be used to instruct, the CPU.

  4. Compared to Ethereum, Bitcoin is limited; some might even say that it is primitive. This is because Bitcoin is not fully programmable—it isn’t “turing complete”—and is unable to run the same type of programs of complexity that Ethereum can.

  5. Turning complete language allows a programmer to instruct the execution of an action multiple times. These are called “loops”, and they allow for the duplication of code with fewer chances of mistakes and less time taken, had every code input been scribed, manually.

1 Like