Homework on EVM

  1. A programme smart code byte code standalone network that has no malice turning complete with solidity
    2.The smart contracts envelope the system keeping isolated compiles logic byte code no malice
    3.Solidity is applied to bytecode that is input to the EVM. Solidity, developers write application that implement self-enforcing digital logic held in smart contracts, leaving a secure record of transactions.
    4.script is not turing complete
    5.smart contract turing complete :EVM to CPU smart code , loves byte code via solidity compiler logic instructions
1 Like

It is essentially a isolated environment that is creating a level of abstraction between the executing code and the executing machine. It gets the consensus on the entire network.

It is an isolated environment (Sandbox) that can execute programs, without compromising or effecting outside operations. That means it have no direct access to the host resources, like CPU and memory.

Solidity is a human readable language similar to javascript that can be compiled into bytecode. When we compile the solidity code using the solc compiler, it will translate our code into bytecode, something only the EVM can understand.

Because Bitcoin’s programming language, Script, is not turing complete means it is very limited to make programming.

Any given programming language is said to be Turing-complete if it can be shown that it is computationally equivalent to a Turing machine and can solve any computational problem.

1 Like
  1. The EVM ensures that a program (e. g., a smart contract) is not executed independently on a CPU, but is executed on all nodes in the network. It guarantees consensus.

  2. Bytecode.

  3. Whatever is programmed on Solidity is converted into bytecode, which can be read by the EVM.

  4. BTC’s programming capabilities are limite (not turing complete). E. g., it cannot run loops.

  5. It means that a programming language can theoretically solve every possible problem.

1 Like

Homework: EVM

  1. What does the EVM do?

EVM is running on each network node and reading/executes smart contracts on the Ethereum network, it also secure that Consensus is reach in the Etereum network before a smart contract is executed. Security is keept by the EVM that isolation the byte code (created with Solidity) from manipulation with the nodes other functions

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

Bytecode:s created In Program code like Solidity and newly developed Wiper.

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

When Solitidy is compiled it produce bytecode that the EVM are able to read.

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

As you can only do simple code snippet called scripts, without loops and therefore limited logic and can’t solve complicated tasks.

  1. What is a Turing Complete programming language?

It’s a program language that can do loops as Solidity, to do complicated and advanced programs and smart contracts.

1 Like
  1. EVM is an overlay code of the hardware of machines that run the Ethereum network. This code reads and executes smart contracts
  2. The EVM reads bytecode.
  3. The Solidity language is compiled into Bytecode.
  4. Bitcoin can’t run complex program because Bitcoin is not Turing complete.
  5. A Turing Complete language can process any problem possible. For exemple it has Loop.
1 Like
  1. EVM acts as the middleman for the smart contracts and the individual CPUs on the Ethereum network.

  2. the EVM reads byte code.

  3. Solidity is what devs use to program in and then it is complied into byte code to be executed on the EVM

  4. Bitcoin’s programming language isn’t Turing complete so it cannot do loops and other key features most programming languages have which enable them to have added functionality.

  5. Turing complete allows loops to run and execute code, whereas in a non Turing complete is like a basic one time script that can not repeat which highly limits it’s use cases.

1 Like
  1. What does the EVM do?
    Answer - EVM’s mains function is to execute smart contracts (small pieces of the codes that are designed to fulfill very specific instructions). It is also sort of a buffer for the CPU since the commands to the CPU are given not directly but rather indirectly via the use of an EVM that is run in the computer. Another EVM’s functionality is to achieve a consensus of the network. So, the consensus is derived by getting the same results by all EVMs that are running the same smart contract/same result.

  2. What is the format of the instructions that the EVM can read?
    Answer - since EVM does not care about the specific programming language (two languages can be used Solidity and Viper) it gets the information in the for of a Bytecode.

  3. What is the relationship between the programming language Solidity and Bytecode?
    Answer - Solidity is one of the programming languages that are used by etherium network while the Bytecode is the only common denominator that is understood by EVM in order to execute any smart contract. Bytecode is produced by the compiler of the EVM.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Answer - because the programming language that is used for BTC (Skript), is not Turing Complete. Therefore, BTC has a limited capabilities while in theory ETH does not have any of this limiting issues since it is using Solidity which is Turing Complete language, which can run any possible smart contract ( in theory).

  5. What is a Turing Complete programming language?
    Answer - again a TC complete language can run any smart contract that can be imagined in theory. In practice it has some limitations due to the scalability issues that potentially can affect the speed and cost of a transaction.

2 Likes

Excellent answers sir, well documented! Please keep them like that :muscle:

Carlos Z.

1 Like

5.What is a Turing Complete programming language?

Quite right sir, but could you please describe it in general terms?

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

Carlos Z.

1 Like

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. That description basically we can said that is for the EVM, is correct but does not answer the question.

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

Carlos Z.

2 Likes
  1. EVM reads smart contracts and than execute them by using host computer
  2. Bytecode
  3. Solidity translate programmer codes into bytecodes
  4. Bitcoin was created in a simpler way than Ethereum and can do only simple smart contracts programmed by using Script
  5. it gives you a programming freedom

1-Ethereum virtual machine that runs the smart codes
2- it mean that Evm run in an isolated environment to protect the cpu
3- The evm can only read Bytecode so Solidity has a compiler that transform Solidity language in Bytecode
4-Because Bitcoin is not Turing complete and it cannot solve all the problems
5-Turin complete mean that you can solve all the problems and you can program anything you want.

5.What is a Turing Complete programming language?

Quite right sir, but could you please describe it in general terms?

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

Carlos Z.

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

by using Turing Complete programming language you getting an opportunity of unlimited creating possibilities. At least in a theory. Im not sure about actual process

1 Like

1. What does the EVM do?
It reads and executes smart contracts (reading bytecode compiled from higher level programming languages) and also encapsulates smart contracts. It is a layer between the smart contracts and the nodes, since the smart contracts don't run directly on the nodes, this protects the CPU of each computer and thus the network against malicious apps.

2. What is the format of the instructions that the EVM can read?
It reads instructions in bytecode which is compiled from a higher level language.

3. What is the relationship between the programming language Solidity and Bytecode?
Solidity is a Turing-complete language that programmers can use to build dynamic programmable DAPPS, which are then compiled into bytecode which is read by EVM in order to run on Ethereum.

4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Because Bitcoin's programming language Script is not Turing-complete, it therefore can't solve every problem. Turing complete languages need to include loops.

5.What is a Turing Complete programming language?
You can (in theory) use it to program anything you want because it can solve any computation problem (runtime and memory notwithstanding, so just saying something is Turing-complete doesn't mean there aren't issues). It must have loops - feature in the language to allow you to tell the software to do one thing several times.

Since a lot is changing with Ethereum 2.0, does anyone have any recommended resources for learning more?

1 Like
  1. EVM’s act as a buffer between the smart contract and the cpu and the network.
  2. EVM’s can read byte code.
  3. Solidity is compiled down into byte code.
  4. Bitcoin’s Script language is not Turing Complete, so only basic programming is available.
  5. Turing Complete programming languages can solve any computational problem, so for example, it can do loops.
1 Like

Thank you for the help

2 Likes
  1. EVM makes it possible for us to execute code on the blockchain. It is a peice of code that computers run off and runs on top of the existing hardware.

  2. It can read instructions in byte code.

  3. The programming language is called solidity which we deploy on the blockchain. The bytecode is read from blockchain on EVM.

  4. Bitcoin doesn’t run off an EVM but directly from the network of computers.

  5. It means virtual programming. Following a consensus and set of instructions to execute.

1 Like
  1. What does the EVM do?
    EVM runs on on the ethereum nodes and creates a isolated environment to run smart contracts and to make sure they are safe in order for the machine to pass the code to CPU.

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

  3. What is the relationship between the programming language Solidity and Bytecode?
    The solidity code is compiled in bytecode in order for EVM and CPU to be able to read that code.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    The programming language used to program bitcoin is Script an it isn’t Turing-Complete which limits the complexity of the code that can be run by Script.

  5. What is a Turing Complete programming language?
    A Turing-Complete programming language can solve any given problem, in theory. You can also program loops using a Turing-complete programming language.

1 Like