Homework on EVM

1: The EVM will take a smart contract, compile it into EVM byte, then tell CPU how to execute the code.

2: The EVM does not run on local computer. Being virtual protects the network operators from code that is malicious or spamming.

3: Solidity is the main language used to program smart contracts; Bytecode is what the EVM compiles the smart contract into to read and execute it.

4: Because the language of Bitcoin, Script, is not turing complete, it cannot run the complexity of various programs or applications that Ethereum can.

5: Essentially, it means that it is a programming language that is flexible with no limitations.

1 Like
  1. What does the EVM do?
    Answer: In order to provide a consensus in the network we would need to have all nodes of the network agree on the smart contract terms. Lets take a step back in for example an individual computer the CPU would execute the instructions of a program. Now how do all nodes agree on a the terms of smart contract on the blockchain. Herefore in the Ethereum Network all nodes have an application called the EVM that runs on the hardware of each Node which can read the smart contract and the CPU only indirectly executes then the task ( Smart Contract --> EVM --> Reads Bytecode --> Tells CPU to execute task)
  2. What is the format of the instructions that the EVM can read?
    Answer: The EVM can read Bytecode
  3. What is the relationship between the programming language Solidity and Bytecode?
    Answer: Solidity is similar to a programming language Javascript - applies the logic and compiles it into Bytcode . EMV then would execute the Bytecode
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Answer: The prgramming language that the BTC blockchain uses called script is very limited in what it can execute compared to Solidity (NOT turing complete)
  5. What is a Turing Complete programming language?
    Answer: A turing complete programming language can basically program everything you can think
1 Like
  1. The EVM is essential to the Ethereum Protocol and is instrumental to the consensus engine of the Ethereum system. It allows anyone to execute code in a trustless ecosystem in which the outcome of an execution can be guaranteed and is fully deterministic (i.e.) executing smart contracts.

  2. Bytecode is the format of the instructions that the EVM can read.

  3. Smart contract code is usually written in a high level programming language such as Solidity. This code gets compiled to something called the EVM bytecode which gets deployed to the Ethereum blockchain.
    4.Bitcoin’s SCRIPT language is not turing complete, unlike SOLIDITY.

  4. A Turing complete language is one that can perform any computation

1 Like

1). An EVM makes it possible to execute code on the ETH network in such a way that we can all come to consensus as to what the result of that smart contract will be.

2). The EVM uses Byte Code and that is what it reads. You can use Solidity or Viper that uses a compilers to make the Byte Code.

3). Solidity is a programing language that is similar to JavaScript. It uses a complier app that takes the code and compiles it down to Byte Code.

4). BitCoin can’t run the same type f complex programs like Ethereum can because BTC’s Script Language is not turning complete. You can program Bitcoin but it is very limited as to what it can do. The Smart contract is ETH’s Value Prop. Solidity is a Turning Complete programming Language.

5). A Turning Complete language enables you to (in theory) create any kind of Application that your mind can think of. Of course ETH has some scaleability issues that they are currently working on.

1 Like
  1. The EVM is an application running on all of the nodes of the Ethereum network. It executes smart contracts and by doing so reaches a consensus state of the network. At any given block the entire network has one single state and the EVM is what calculates this state.

  2. EVM byte code.

  3. Solidity is the most common high level programming language for writing smart contracts. The Solidity code is compiled to byte code, which is what the EVM reads. It is not necessary to write smart contracts in Solidity. Other programming languages can also be compiled to EVM byte code.

  4. The stack-based programming language of bitcoin, script, is very simple and cannot be used to write complex programs. This is by design and is an intentional limitation to make bitcoin more secure.

  5. It is a language which can define any problem. Most notably it can define loops.

1 Like
  1. EVM run the instructions generated by the compiled files of supported languages, on the node it’s installed.
  2. Bytecode
  3. Solidity is compiled into bytecode.
  4. Because they didn’t wanted to run the risk of network congestion by heavy programs to run, so they limited the capacity of the language to run only basic operations, so its not usable to build more complex programs.
  5. It means that is capable to solve any computacional problem considering that there is no limitation on CPU and RAM.
1 Like

1.The EVM reads the encapsulated instructions of the smart contract, which is in solidity, and than tells the CPU what to do, to execute the instructions.

  1. The EVM can only read Bytecode.
  2. Solidity is the Programming language which is than being transformed into Bytecode.
  3. Bitcoin is Turing incomplete meaning you can code only simple programs, Eth is turing complete, meaning you can code anything you want also you can loop programms and codes.
    that might bring up a scalability problem though.
  4. a language that is universally programmable
1 Like
  1. What does the EVM do?
    EVM executes the smart contracts on the ethereum network
  2. What is the format of the instructions that the EVM can read?
    Solidity
  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity is translated into Bytecode through EVM
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Script is a much simpler/limited programing language that can’t execute the same type of codes.
  5. What is a Turing Complete programming language?
    It’s a programing language that allows to program more complex smart contracts.
1 Like
  1. EVM isolate smart contracts from Node machine Resources and work as middleman.
  2. The EVM can read byte code format.
  3. Solidity is a high level language compiled to bytecode by for the EVM to read and process.
  4. Because the Script language is not Turing complete, while Solidity is Turing complete.
  5. A Turing complete language is a program that can solve complex math problems and include features such as loops.
1 Like
  1. What does the EVM do?
    It reads and executes smart contracts on the Ethereum blockchain.

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

  3. What is the relationship between the programming language Solidity and Bytecode?
    Solidity used to write the smart contract and then the EVM turn it into byte code so the nodes can understand.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin is incapable to run the complex programs juste like Ethereum have, program language Script is not turing complete and are not capable to execute loops.

  5. What is a Turing Complete programming language?
    Which can program anything imaginable including code using loops, like solidity is turing complete.

1 Like

1: The EVM (Ethereum Virtual Machine) is a network of computers that run this software on top of their hardware. The EVM makes sure no malware is able to pass through since that would cause the network to collapse due to access being gained to the computer’s recourses.

2: It reads in byte code. After you wrote your code in Solidity or Vyper, a compiler will compile your code to Bytecode.

3: Solidity makes it possible for programmers to be able to make applications/scripts that are actually readable by humans because they can actually utilize more than 0’s and 1’s (They can write in English and use all decimals). Bytecode is the final version that the EVM reads after your Solidity code has been compiled.

4: Bitcoin is not meant to be programmable money. It’s meant to stay simple, you can only run simple scripts using a language called ‘Script’. Bitcoin is digital gold, thus a store of value, and should not be anything more. Although at the time of writing this answer, Bitcoin is going to be having a massive update that will include Smart Contracts, darn.

5: A language in which you can theoretically program any feature/thing you can dream of.

1 Like
  1. What does the EVM do?
    It tells the CPU of the computer nodes on the network to execute the smart contracts
  2. What is the format of the instructions that the EVM can read?
    EVM reads the Bytecode
  3. What is the relationship between the programming language Solidity and Bytecode?
    The smart contracts are written in Solidity. The Solidity compiler turns the programming language into Bytecode.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin uses Scripts, which is not Turing complete. It is limited. A bit like Web 1.
  5. What is a Turing Complete programming language?
    Turing complete language permits Loops, which tells the program to perform a set of repeated instructions over and over again.
1 Like

1 - The EVM allows the execution of code within the network on all nodes so that all nodes are in consensus about what the contract should enable. EVM is a piece of code that all the nodes are running. The EVM can read and execute the smart contract and will take a look at the instructions, calculate and process and tell the CPU what to do on each node and the same result must be reached on all those nodes.

2 - The EVM executes the smart contract which are in bytecode but compiled after the initial instruction is written in solidity code or Viper.

3 - The compiler, a special application which takes your Solidity code and compiles it in bytcode which can then be read and executed by the EVM.

4 - Bitcoin already had a primitive programming language called script. Further programming can be added however, it is very limited and thus not turing complete.

5 - Not Turing complete means the program cannot solve all problems that it may have to solve. It limits what you can wish to solve. Turing complete language has something called loops which allows you to instruct the software to the same thing / one thing repeatedly or several times.

1 Like
  1. EVM is a piece of code (an entity) that runs on all Ethereum clients.
  2. EVM takes in the bytecode (and everything compiled by solc compiler. So also ABI)
  3. Solidity is a human readable language. Bytecode is a compiled solidity smart contract, so that EVM can understand it.
  4. Because Bitcoin Script is not a Turing Complete Language
  5. Turing Complete language means that the language can do whatever is needed, there are no logical or data limitations
1 Like
  1. EVM runs on the node/ CPU and reads, executes smart contracts.
  2. EVM reads byte code.
  3. Solidity and byte code both run instructions on software rather than on hardware.
  4. Bitcoin base code is not Turing complete hence limited, Ethereum base code is Turing complete.
  5. A Turing complete language can resolve any expected and known issues, its flexible and multi purpose.
1 Like
  1. What does the EVM do?
    Executes smart contracts and passes results to the CPU.
  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 the programming language developers use to write smart contracts.
    Solidity code is compiled and converted ro byte code. From here, it is read by the EVM.
  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    It is not turin complete.
  5. What is a Turing Complete programming language? Means you can program anything you want.
1 Like
  • What does the EVM do?
    A: EVM is Etherum Vertual Machine - that runs on the Node Hardware. EVM runs Solidity programs that execute smart contracts. EVMs are encaptualted to protect the network.

  • What is the format of the instructions that the EVM can read?
    A: Bytecode - Solidity is compiled to Bytecodes that EVM can execute

  • What is the relationship between the programming language Solidity and Bytecode?
    A: The programing language is what developers use to program application, the applications are compiled into bytecodes that the EVM can execute.

  • Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    A: Bitcoin has limited scripting capability, Bitcoin does not have a complete programing language that is “Turing Complete”

  • What is a Turing Complete programming language?
    A: Turing Complete programing language is general purpose that can be programmed to solve general problems independent of the industry or sector. Examples are Java, Fortran, C++, basic, these are all Turing complete programing languages.

1 Like
  1. The EVM runs on each computer connected to the ethereum network to standardize code and protect the machines from potentially malicious code as well.
  2. Bytecode.
  3. Solidity is used to program the applications itself whose code is then compiled to Bytecode to be read by the EVM.
  4. It isn’t turing complete. It simply isn’t capable of complex smart contacts.
  5. One that can be programmed to do anything.
1 Like
  1. EVM the evm is to make it possible to execute code in smart contract in a more secure manner.
  2. EVM can only read instructions when they are complied to byte code.
  3. Solidity compiles the smart contract to byte code for EVM to read
  4. Bitcoin can not run the same programs because it is not Turing complete meaning it can not program as much.
  5. Turing complete means you can create any program you want through loops where it can always find something to answer to
1 Like
  1. EVM executes and deploys smart contracts to the blockchain. A user through coding can define/set the agreements of a contract that get translated into ‘bytecode’ using a compiler. EVM, which each network participant has been running, reads and deploys the contract to the blockchain once consensus is reached.

  2. EVM can read instructions in ‘bytecode’.

  3. Solidity is used to do programming, i.e., setting up conditions for a smart contract, that gets translated into bytecode through a compiler. This helps EVM to execute and deploy the contact to the blockchain.

  4. BTC can’t run complex programmes like ETH because it uses ‘Script’ as its programming language that isn’t turning complete. On the contrary, ETH’s programming language is Solidity, which is turning complete - can solve complex computations to help developers program different projects.

  5. Turing complete programming language is programmable, i.e., can solve complex computations, that helps programmers develop projects.

1 Like