Homework on EVM

  1. What does the EVM do?
    EVM is a piece of code that runs on every node. It is able to read the smart contracts
    and interacts with the CPU which ultimately executes the instructions.

  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 smart contract is written in solidity, which is then compiled to bytecode in order the EVM
    can read the smart code.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because it is not touring complete.

  5. What is a Turing Complete programming language?
    Turing Complete programming language allows the use of loops, a task that is executed
    several times.

1 Like

1 - EVM is an application that makes it possible to execute smart contracts in such a way that a consensus can be reached about the result
2 - EVM reads bytecode
3 - Solidity is the programming language. This language will be compiled to bytecode. in this way, a change of language will not affect the EVM.
4 - BTC cannot run these programs because it is not turing complete. For example Loops do not exist. The programmers chose not to make it turing complete because they want BTC only to be used as digital gold
5 - With turing complete all mathematical actions can be performed

1 Like
  1. EVM act as a barrier to execute smart contracts before run by CPU. Making sure that not malicious activities can happen with the CPU that the node runs on.
  2. byte code
  3. Solidity -> compiler -> byte code – read by EVM
  4. Simply because the language used in BTC is not turing complete
  5. turing complete language in principle can implement a turing machine, in theory that the machine can perform any calculations. Not turing complete language simply has no loops
1 Like
  • What does the EVM do?
    Executes smart contracts in sandbox

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

  • What is the relationship between the programming language Solidity and Bytecode? Solidity is the language used to code smart contracts. Bytecode is compiled form of smart contract that EVM can read and execute

  • Why can’t Bitcoin run the same type of complex programs like Ethereum can? Bitcoin uses Script language which is not Turing complete.

  • What is a Turing Complete programming language? Turing complete means coder can write anything he wishes.

1 Like

1.The EVM (ethereum virtual machine) allows for execution of code for smart contracts directly to CPU

  1. Byte code

  2. Solidity is put into a compiler where it compiles it into byte code and then the EVM reads the byte code.

  3. Bitcoin is like Web 1.0 and more of a static platform, with limited programming done in Script and not turing complete.

5.It is a modern programming language that allows for flexible programming versus static.

2 Likes
  1. What does the EVM do?

= The Ethereum Virtual Machine interpret the byte code and makes it possible for the cpu to execute the instructions in the smart contract.

  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?

The Smart contract has Bytecode written in Solicity

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

= Bitcoins language, Script, is not able to solve all problems (it is not Turing complete).

  1. What is a Turing Complete programming language?

= It means the language is able to solve any problem.

1 Like
  1. The EVM (Ethereum Virtual Machine) is an environment that runs smart contracts, encapsulating them and isolating them from the CPU of the computer a certain node may be running in.

  2. Bytecode

  3. A script written in Solidity will get compiled and transformed into Bytecode, understandable by the EVM.

  4. Because Bitcoin has a very basic and primitive scripting language called Script. Script is not Turing complete, meaning not every mathematical problem can be solved using this language. On the other hand, Solidity is Turing complete.

  5. Explained above.

2 Likes

1). What does the EVM do?
A). “EVM”, short for Ethereum Virtual Machine. Virtual machines are essentially creating a level of abstraction between the executing code and the executing machine. This layer is needed to improve the portability of software, as well as to make sure applications are separated from each other, and separated from their host. (SECURITY)
2). What is the format of the instructions that the EVM can read?
A). Under the hood, the EVM uses a set of instructions (called opcodes) to execute specific tasks. There are SOME 140 PLUS unique opcodes. Together, these opcodes allow the EVM to be Turing-complete.
3). What is the relationship between the programming language Solidity and Bytecode?
A). Machine code is a computer programming language consisting of binary instructions which a computer can respond to directly. In contrast, bytecode is a form of instruction set designed for efficient execution by a software such as a virtual machine. Hence, this explains the fundamental difference between machine code and bytecode. The EVM RECEIVES THE COMPILED SOLIDITY INPUT AND OUTPUT this information in BYTECODE format to execute/transact the contracts.
4). Why can’t Bitcoin run the same type of complex programs like Ethereum can? BITCOIN IS NOT USING TURIN COMPLETE PROGRAMMING LANGUAGE LIKE SOLIDITY, (more logic used and readable, which gives longivety). bitcoin is script based and therefore more vulnrable as a platform AND IN MY OPINION WILL BECOME MORE SLUGGISH/LONGER TRANSACTION TIMES than ETHEREUM , (WHICH CAN ONLY BE BAD FOR MINING AND BLOCKCHAIN VERIFICATION).
5). What is a Turing Complete programming language?
A). Turing completeness is the ability for a system of instructions to simulate a Turing machine. A programming language that is Turing complete is theoretically capable of expressing all tasks accomplishable by computers; nearly all programming languages are Turing complete if the limitations of finite memory are ignored. (This is the main difference between BITCOIN AND ETHEREUM PLATFORMS). Bitcoin is not based on a Turin Complete language capable of looping.bitcoin is script based , which means you have to use snippets of codes maybe hundreds of times instead of using a clever loop( BITCOIN HAS A MAX LIMIT AND ETHEREUM HAS NO SET MAX LIMIT AT THE TIME OF WRITING and uses nodes as cpu power when mining instead of massive mining machines thus mitigating tampering and vulnerability in my opinion, which makes it less vulnerable and more transparent and tamper proof.). :grinning:

1 Like
  1. Ethereum Virtual Machine reads and runs smart contracts on the Ethereum network.
  2. EVM can read byte code.
  3. Solidity, a programming language, compiles information into byte code.
  4. Because Bitcoin programming script is not turing complete, meaning you can do very limited actions.
  5. Turing complete programming language is a programming language that can solve any computational problems such as looping.
1 Like
  1. What does the EVM do?
    Proces the smart contractcode in a virtual machine on ethereum

  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?
    Solidity is the higher abstracted language that produces bytecode after compiling

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin isnt’t turing complete with for instance ‘loops’

  5. What is a Turing Complete programming language?
    a programming language that can program all situations and simulate a turing machine

1 Like

1- The EVM (Ethereum Virtual Machine) is a code that is run by all nodes on the Ethereum network. It runs on top of the existing hardware. The EVM can read and execute smart contracts, it then tells the CPU what to do. The EVM acts as a barrier to protect the CPU from smart contract instructions thereby increasing security.

2- The format of instructions the EVM read is Bytecode.

3- Solidity is the programming language of the Ethereum network similar to Javascript. This language is used to write smart contracts. It uses a compiler to compile the language down to Bytecode which is read by the EVM.

4- Bitcoin cannot run the same type of complex programs like Ethereum can, bacause Bitcoin uses a languge called Scrypt which is not Turing Complete.

5- A Turing Complete programming language is a language that solves all possible programming problems,it has unlimited use. A Turing Complete language contains loops, which tell software to repeat a set of instructions several times.

2 Likes
  1. EVM, or Ethereum Virtual Machine, runs programs on all Ethereum nodes, instead of running them on a single CPU. It’s a kind of collective computer.
  2. EVM byte code.
  3. Solidity is what programmers write (almost like english in a way), and then it is converted into EVM byte code.
  4. It would cause the block size to be unacceptably large and Bitcoin is not Turing complete.
  5. It allows you to program all kinds of things, including loops.
1 Like
  1. EVM directly executes the instructions from the smart contract and forwards them to the hardware.

  2. Bytecode

  3. Solidity is a language used to program smart contracts, that is then compiled to Bytecode to be used by the EVMs.

  4. Because Bitcoin’s programming language, script, is limited and does not allow it. This situation is maintained in order to prevent jamming the bitcoin’s network.

  5. It is a programming language that allows the use of loops.

2 Likes
  1. The Ethereum Virtual Machine runs smart contracts code on every node in isolation from CPU for security.
  2. EVM can read Bytecode.
  3. Solidity is compiled into Bytecode which can be executed by EVM.
  4. Bitcoin can’t run the same type complex programs like Ethereum because Bitcoin uses Script programming language, which isn’t Touring complete. It wasn’t upgraded mostly due to limited block size and possible security issues.
  5. Turing Complete programming language can in theory be used to solve any computational problem.
1 Like
  1. The EVM reads and executes smart contracts
  2. The EVM reads byte code
  3. Solidity is converted to byte code by a compiler
  4. Bitcoin is not Turing complete.
  5. Turing complete languages can solve all computational problems
1 Like

The EVM is an application used by the nodes in the Ethereum network. The EVM in use is layered over the CPU and all its functions. It is the EVM that reads the Byte code compiled by the program language Solidity (another language in the works is Viper) present in the Smart Contract. The EVM a.k.a. Ethereum Virtual Machine is used to read and execute the program in the Smart Contract for security purposes and consensus. The EVM actions on the Smart Contract are shared throughout the Ethereum network to ensure malicious code doesn’t wreak havoc on the host CPU nor the network. The nodes using the EVM analyze the Smart Contract contents to see if they make sense considering validity and reasonableness and give their okay for the Smart Contract’s execution prior to its actual deployment and entry into the Ethereum blockchain.
2) byte code
3) What is written in the language Solidity is compiled into byte code and then EVM reads the byte code.
4) Bitcoin can only include very small smart contract bits mostly having to do with multiple digital signers involved in approving a Bitcoin transaction. Bitcoin was built to be digital gold rather than carry complex instructions/programming.
5) Turing Complete language is any programming language with the attributes necessary to write unlimited programming. Solidity is one such program as is Viper. These need to have a compiler acted upon them to change them to byte code that may be interpreted by EVM. The Turing Complete language is capable of forming loops within the programming, this means the coding can direct the CPU via the EVA to repeat a set of actions once or numerous times and even with adjustments as it is technically, if not practically, unlimited.

1 Like
  1. What does the EVM do?
    -The Ethereum Virtual Machine executes a smart contract on each node in the network. It is separate from the node CPU, but has access to node CPU resources. It is kept separate from the node CPU so there is no danger in the EVM taking over the node and the network.
  2. What is the format of the instructions that the EVM can read?
    -The EVM reads code that has been compiled into byte code. So the EVM doesn’t care about the specific language, but only needs the compiled byte code.
  3. What is the relationship between the programming language Solidity and Bytecode?
    -Code written in Solidity is compiled producing byte code.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    -The Bitcoin Script language is limited – it is not a Turing complete language.
  5. What is a Turing Complete programming language?
    -A Turing Complete programming language is a language in which a program can be written that will find an answer (although with no guarantees regarding runtime or memory). So, if somebody says “my new thing is Turing Complete” that means in principle (although often not in practice) it could be used to solve any computation problem. https://stackoverflow.com/questions/7284/what-is-turing-complete
1 Like
  1. What does the EVM do?
    It is the ethereum virtual machine that runs the smart contract code.

  2. What is the format of the instructions that the EVM can read?
    EVM runs in a sandbox, in isolation from the host computer. The protects the host computer from malicious code.

  3. What is the relationship between the programming language Solidity and Bytecode?
    When solidity code is compiled it produces Bytecode.

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

  5. What is a Turing Complete programming language?

4.Why can’t Bitcoin run the same type of complex programs like Ethereum can?
Because it’s not Turing complete
5. What is a Turing Complete programming language?
It will have conditional statements and loops.

1 Like
  • What does the EVM do?
    Ethereum virtual Machine reads and executes the bytcode(instructions) in a decentralize way like a cpu read the instructions in a normal computer
  • What is the format of the instructions that the EVM can read?
    bytecode
  • What is the relationship between the programming language Solidity and Bytecode?
    Solidity is a program language that looks like in some ways to English. You can think off anything and program this on Solidity, but it is necessary a compiler to translate from solidity instructions to Bytecode
  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin has a very simple script language that is not turing complete( you cannot do all with this) the script language cannot do loops and have few instructions.
  • What is a Turing Complete programming language?
    you can program anything you want with a Turing complete language
1 Like