Homework on EVM

  1. The EVM is a virtual machine that runs the smart contracts on the Ethereum Network. The EVM is a security layer for the network that makes sure that no malicious activity is taking place within the smart contract. Acts like a security layer.
  2. The EVM can read byte-code as solidity
  3. Solidity is compiled into byte-code which runs thru EVM on the CPU, which then executes the instructions in the smart contract that comes up with results.
  4. Bitcoin possesses non-turing complete programming language.
  5. A turing complete programming language is one that can solve any complex problem.
1 Like

1. What does the EVM do?

  • EVM or Ethereum Virtual Machine allows multiple computers to access the data for Ethereum and read the code in the Bytecode language. Each computer that has EVM will cross check the code and compare it with every other computer running EVM to check if it all comes with the same result. If it is all correct and the same, then the transaction would proceed.

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 language that programmers use to write code in a way similar to English and quite as easy as using javascript. This code is now taken into Bytecode and converts them to Bytecode so that the EVM can read it. EVM cannot read Solidity code, it can only read Bytecode.

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 like Ethereum can because Bitcoin uses “Script” and it is NOT Turing Complete, therefore it can only execute simple programs. Ethereum uses “Solidity” and it is a Turing complete programming language that can execute anything you can think of in the code.

5. What is a Turing Complete programming language?

  • A Turing Complete Programming Language is a very versatile and complete programming language. Basically, it can run anything you can possibly think about when executed in the code.
1 Like
  1. The EVM interacts with the ethereum network before your cpu does. This is to ensure no malicious smart contracts are running on the ethereum network.
  2. The EVM reads ethereum byte code
  3. Solidity is a Turning Complete programming language, and can be compiled into bytecode. This gives Ethereum in theory a programming language that is capable of anything.
  4. Bitcoin does not support Turning Complete programming languages. They specifically chose to limit their code because they wanted Bitcoin to only be the digital gold and nothing else.
  5. A turning Complete programming language is a programming language in which all possible maths are possible in the programming language. Therefore if the math is possible, then the abstract idea can be possible. This is why it is said that Turning Complete programming languages are capable of anything theoretically. The only limitations are physical limitations like energy, money, the human mind, etc.
1 Like

1. What does the EVM do?

  • The EVM acts as a firewall to check any malicious instructions or smart contracts before they reach your CPU.

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

  • The EVM reads in bytecode.

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

  • Solidity is the language used to code smart contracts. EVM can only read Bytecode and not Solidity. Solidity needs to be compiled into Bytecode before it can be used by the EVM.

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

  • Bitcoin uses “Script”, which is not a versatile language that can do complex code/programs and does not support loops.

5. What is a Turing Complete programming language?

  • a Turing Complete programming language is a language that can perform any type of computation.
1 Like

The EVM acts as a large decentralized computer that is actually made up of thousands of nodes. If the nodes all agree on a transaction, then it will be mined on the block and confirmed.

The EVM reads Bytecode which is compiled from solidity or viper.

Solidity is the language that developers will use write smart contracts. The Solidity smart contract will then be compiled into bytecode, which is the the EVM actually reads.

Bitcoin script is not Turing complete, so the computational abilities of bitcoin are limited.

A Turing complete language means, at leased theoretically, that it can compute any function regardless of how complex it is. In practice, the scalability of a Turing complete language is limited by the capabilities of the computer that runs the language.

1 Like
  1. What does the EVM do?

EVM will read and execute the smart contract. EVM will look at the instructions in the smart contract that are converted to bytecode by an compiler and tell the CPU to perform a task. This only if the task isn’t malicious. Therefore the EVM serves for security.

  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 is a smart contract programming language used by ethereum. The Bytecode is the compiled solidity program that is executed by the EVM.

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

Bitcoin is not Turning Complete.

  1. What is a Turing Complete programming language?

It is a language that allows the creation of everything in code (theoretically). It has the possibility to perform infinite loop.

1 Like
  • ETH Virtual Machine - it allows code to be executed on the ETH blockchain network
  • Bytecode
  • We programmme in Solidity and they is converted into Bytecode to provide instructions to the EVM
  • Can only do simply programming on Script, not Turing complete as that would allow spamming. Also more complex programming would increase block size as need to be stored on the block chain. BTC’s main role was perceived to be as a medium of exchange
  • Designed to allow loops (repeated instructions), programmability, scripting and ability to make any application they want.
1 Like
  1. What does the EVM do?
    is the ethereum virtual machine that encapsulates the written smart contracts and execute the SC instructions using the CPU of the blockchain
  2. What is the format of the instructions that the EVM can read?
    bytecode; this. bytecode is compiled with solidity or any coding language that works with math or numerical equations.
  3. What is the relationship between the programming language Solidity and Bytecode?
    solidity compiles the instructions from the code into a language that EVM can execute in the cpu of the servers (bytcode)
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Ethereum VM uses a dynamic loop system also refer as Turing Complete; that saves size of the smart contract; Bitcoin in the other hand uses Script; and its simple language ; thus not able to run complex things
  5. What is a Turing Complete programming language?
    Turing complete is a language that among other features, run math calculations using loops.
1 Like
  1. The EVM executes the byte code of smart cotnracts. It also keeps the smart contract programming seperate from each node’s CPU.
  2. Byte code
  3. Solidity is readable by normal humans and it can be compile into bytecode sp that the EVM can read it.
  4. The BTC language is not designed for it.
  5. Turing complete means that the language is capable of solving comlplex programs. Anything is possible with it.
1 Like
  1. What does the EVM do?

CPU executing code directly, which then lead EVM to read and execute smart contract, and do all calculations. Then all EVM reach same results, and a consensus is reached.

EVM ensures nothing malicious to ensure malicious code can’t take over computer.
And smart contract can’t escape EVM.

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

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

Smart contract is written in solidity, which has a compiler than compile solidity into bytecode.
Evm then read all the instructions in bytecode.

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

BTC is not turing complete, but ETH is turing complete.

BTC already have some program ability, called script.
Compared to ETH, script is not turing complete, very limited, and has no loops.

Btc developer said they don’t want people to do some kind of spam by
writing a lot of loops, which cause network having to go through these a million times.
This will increase blockchain size a lot, and is not good for BTC.

  1. What is a Turing Complete programming language?

A turing complete language has loops, which tell software to do one thing several times
do this 1000 times.

If the language has no loops, we need to write instructions by hands. Some features cannot do without loops.

A turing complete language allows u to program anything u want.

1 Like
  1. What does the EVM do?
    The EVM implements code of smart contracts.

  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?
    Solidity is a programming language that converts the byte code for the EVM.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin has script which is very limited. It cannot solve all problems. Ethereum has the capability to run loops and keep the efficiency tolerable for the expectations of smart contracts. Ethereum is turning and complete.

  5. What is a Turing Complete programming language?
    It is a language that is universal.

1 Like
  1. What does the EVM do? EVM runs programs on the ETH network at each node instead of using the node’s CPU
  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? Programming is written in Solidity and then converted into Bytecode to be interpreted and executed by the EVM.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? Bitcoin uses script language which is more limited, not Turing Complete. Because of this, the BTC network could be easily encumbered by large or looping programs that would lead to issues with overly large block sizes, essentially spamming the network.
  5. What is a Turing Complete programming language? A Turing Complete programming language is able to create anything in code - endless possibilities, including loops.
1 Like

1. What does the EVM do? The EVM is the software platform that developers can use to create decentralized applications (DApps) on Ethereum . This virtual machine is where all Ethereum accounts and smart contracts live

2. What is the format of the instructions that the EVM can read? Bytecode , however the Ethereum network consists of over 27,500 nodes, and each node runs EVM implementation. The interesting part is that EVM has been developed using a whole host of programming languages. They are C++, Python, Ruby, Go, Java, JavaScript, Rust and much more

3. What is the relationship between the programming language Solidity and Bytecode? Solidity uses a compiler to cover code into bytes. The byte code is run (using the EVM) on the CPU of a node, similar to other programming languages .

4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? Bitcoin uses SCRIPT which is not a Turing complete which is very limited .
5. What is a Turing Complete programming language?

Turing Complete Language is a language that is more flexible if it has this feature. It has a very important feature of “looping” which mean it can be instructed to do something many many times .

1 Like
  1. What does the EVM do? The EVM sits in between smart contracts and CPUs to secure the network.
  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? A complier is used to translate the logic in Solidity into Bytecode.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can? Bitcoin is built on Script, which is not a Turing Complete language.
  5. What is a Turing Complete programming language? A programming language that can be used to code anything and includes an important feature; ‘looping’.
1 Like
  1. What does the EVM do?
    The EVM can read and execute Smart Contracts, on top and separate from the computer CPU.

  2. What is the format of the instructions that the EVM can read?
    The EVM’s read Byte code. Byte Code can be obtained by compiling another language like Solidity or Viper.

  3. What is the relationship between the programming language Solidity and Bytecode? Solidity is a more easy to use language, similar to Javascript, that can be compiled into Byte code.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Because Bitcoin, unlike Ethereum, uses a language (Script) that is not Turing Complete, being very limited.
    Ethereum uses a Turing Complete language.

  5. What is a Turing Complete programming language?
    A Turing Complete language is one that can be used to program anything, allowing the execution of loops.

1 Like
  1. It compiles smart contract script so it could run in ethereum network.

  2. solidity and viper programming languages.

  3. Bytecode is the program witch will run Solidity script.

  4. Bitcoin was created as just money transfer so it stays as that. In the bitcoin protocol there is no options to create scripts and run them in network.

  5. Solidity because you can create anything there.

1 Like

1 It runs the code written in the Ethereum smart contract

2 It reads ByteCode

3 Solidity is the place where we can write code and kind of understand it as humans, this code is then compiled to be read by the EVM in Bytecode format

4 because the native textcode used to right BTC is not Turing complete like the one on ETH

5 it is a type of language allowing for complex math to be performed

1 Like
  1. Ethereum virtual machine

  2. EVM read in solidity

  3. Reads in solidity and compiles in bytecode

  4. because it do not has a complete Turing computer

  5. a solution for handling any kind of problem running on ETH

1 Like

1.ethereum virtual machine runs smart contracts on the blockchain
2.smart contracts
3.solidity is the language the smart contracts are created in and then compiled into bytecode for the evm to read and do
4.creators didn’t want it to, just be a digital gold, does has small features using script
5.can use loops and essentially do anything you can think of

1 Like

1.) EVM is a OS that runs SC but it gives alsp possibility to many computers at the same time to read and execute instructions for the nodes
2.) solidity.
3.) solidity compiles to a byte code
4.)BTC in not turing complete so its very limited and cannot for example use loops.
5.) it can run many programs and its not limited

1 Like