Homework on EVM

  1. EVM ( Ethereum Virtual Machine ) is a network of computers, where every single node ( PC ) is running the smart contracts using their own native CPU, ram, etc . When every computer in the network reaches the same result ( after executing a smart contract ), all of the nodes reach consensus.

  2. Programs cannot escape the EVM network and go on raking havoc on the individual nodes ( PC’s ) with potential malicious content. The programs operate in a separated environment where the code is run and agreed upon by every node.

1 Like
  1. What is the EVM?
    EVM stands for Ethereum Virtual Machine. It is the run environment used by nodes on the Ethereum network.
  2. What does it mean when we say that the EVM runs in a sandbox environment?
    The multiplicity of nodes across the EVM network in combination makes up this sandbox environment. This sandbox environment isolates the EVM from the host machine of the node. This protects the node owners from security risks (which i do not quite understand how) because the EVM is partitioned from the software of the node owners operating system. This sandbox environment also creates an open system where anyone can decide to contribute or not.
1 Like
  1. What is the EVM?
    This is the Ethereum Virtual Machine where smart contracts are executed in. This is to secure the execution op the code on de computer.

  2. What does it mean when we say that the EVM runs in a sandbox environment?
    A sandbox is a sort of a lighter version of a VM. A VM is like a computer inside a computer, where a sandbox is more a saperate/protected environment that can run applications

1 Like

Etherium Virtual Machine takes Solidity code and breaks it into Bytes to control
the computers CPU.
EVM Sandbox is the enviroment that developers use to run there applications to controll smart contracts.

1 Like

1.) EVM is Ethereum Virtual Machine.
2.) EVM Ethereum Virtual Machine reads Solidity code on a network of computers (nodes), EVM can read the byte code (instructions) and execute smart contracts.

1 Like
  1. What is the EVM?
    The ethereum virtual machine is basically a sandboxed virtual turing complete and transaction based-base state machine that runs on every node in the overall ethereum network.

  2. What does it mean when we say that the EVM runs in a sandbox environment?
    In computer security, a " sandbox " is a security mechanism for separating running programs, usually in an effort to mitigate system failures or software vulnerabilities from spreading. … In the sense of providing a highly controlled environment, sandboxes may be seen as a specific example of virtualization. In a nutshell it is somewhat safe place to play but according to my Certified Blockchain Security study guide escapes are possible.

1 Like

[quote=“filip, post:1, topic:8443”]

  • What is the EVM?
    EVM stands for Ethereum Virtual Machine, which is a piece of code that reads smart contracts that run in all computers in the network
  • What does it mean when we say that the EVM runs in a sandbox environment?
    It means the EVM is kept isolated from the CPU to prevent it from malicious attack which will compromise the safety of the network.
1 Like

1.EVM (ethereum virtual machine) is the smart contract for ethereum

2.Sandbox is the way the smart contract and thus the EVM is isolated from the node CPU

1 Like
  1. EVM - ethereum virtual machine
  2. It has its own isolated environment. This prevents local machines getting any malicious codes
1 Like
  1. What is the EVM?
    EVM is the Ethereum Virtual Machine, which is an application that sits on each node and is responsible for running Ethereum smart contracts code.

  2. What does it mean when we say that the EVM runs in a sandbox environment?
    The EVM encapsulates smart contracts thus preventing them, and by extension the Ethereum network environment, from interacting directly with the node’s host computer. This provides a level of security essential to the network.

1 Like
  1. Ethereum virtual machine runs code on the ethereum network

  2. It is like a virtual machine on a regular computer. Like a computer within a computer or OS within an OS. What happens in the virtual machine stays there and doesn’t effect the rest of the machine,

1 Like

1. What is the EVM?
The Ethereum Virtual Machine is the interpreter that runs the smart contract code. On a side note the EVM is probably similar to the Java Virtual Machine or the .NET Runtime.

2. What does it mean when we say that the EVM runs in a sandbox environment?
The EVM environment runs the smart contract code in an isolated container for security reasons to make sure the contract code cannot gain access to resources it’s not allowed to use.

(FYI Ivan’s version of the EVM video on the Academy site does not explicitly mention the term “sandbox”. Students who are not familiar with this terminology may be confused. Consider updating the OP)

  1. That means Ethereum Virtual Machine, an environment where Smart contracts can be read and executed on Ethereum Blockchain.
  2. Means that the EVM has a whole environment system independent to process the smart contracts excluding the possibility of malicious code affect it. Also Smart contracts can’t run without the EVM.
1 Like
  1. EVMs store and execute smart contracts on Ethereum.
  2. Bytecode.
  3. Solidity is compiled into Bytecode.
  4. Its programming language is not capable at a complex level.
  5. One that can solve any problem.
3 Likes
  1. The EVM is a virtual machine running on the ethereum blockchain. It can run smart contracts. Its purpose is to prevent smart contracts to being executed on the node’s or miner’s hardware directly. It is a sandbox for smart contracts, providing a layer of security to the nodes.

  2. The EVM reads Bytecode, hence it (theoretically) does not care, in what language the smart contract was written.

  3. Solidity is the programming languages for smart contracts on Ethereum. The EVM receives the instructions of these smart contracts in the form of Bytecode.

  4. While Bitcoin has a programming language, it cannot handle any complex instructions, because it uses a Turing incomplete language. (Can I say Turing incomplete?)

  5. In a Turing complete programming language, it is possible to write any conceivable program.

5 Likes
  1. What does the EVM do?
    It reads the Byte Code and tells the CPU to execute the terms of smart contracts

  2. What is the format of the instructions that the EVM can read?
    EVM reads the Bytecode from the Solidity compiler

  3. What is the relationship between the programming language Solidity and Bytecode?
    The smart contracts are written in Solidity. The Solidity compiler takes code and compiles
    logic and instructions into Bytecode then the EVM reads the Bytecode.

  4. Why can’t Bitcoin run the same type of complex programs like Ethereum can?
    Bitcoin has script like multi sig contracts. Scripts is not Turing complete. It is not able to solve all problems. It is limited. Bitcoin did not implement due to spamming loops and block size limitation.

  5. What is a Turing Complete programming language?
    Turing complete language contains Loops which tell the program perform a set of functions once, then loop back to perform again.

2 Likes
  1. eth adds a programming language to a blockchain similiar to bitcoin.it also executes code written in a distributed network rather that code directs your CPU.
  2. EVM byte code
  3. solidity is a human readable language that can be compiled into bytecode.
  4. because bitcoin uses script language and cannot do complex code.
  5. Turing complete languages can be used to make anything happen
1 Like
  1. EVM or ethereum virtual machine executes the bytecodes from the smart contracts. It also enables security feature to contain any malicious codes from the smart contracts into the ethereum blockchain.

  2. The EVM only reads in bytecodes after the solidity or viper compilers have already compile these languages to machine language or bytecodes.

  3. Programming language like Solidity is human readable computer language but bytecodes are machine readable computer language.

  4. Bitcoin cant run similar complex programs like ethereum because Bitcoin uses a non-turing complete SCRIPT language. Furthermore, the bitcoin community didnt want their network to be spammed by the looping feature of a complete language causing huge network congestion.

  5. Turing complete programming language is a language that is a complex language where it allows any further programming to be done if required further down the road. It also has loop features where it can do looping hundreds of time and do any type of iterations depending on the outcomes.

1 Like

1.) An EVM reads smart contracts (in bytecode) and execute this code. Consensus/Validation is achieved by comparing the results of the code in each EVM. An EVM is an isolated (sandboxed) piece of software running on all nodes.
2.) Instructions within an EVM/SC are in bytecode, which represents the logic of a SC - compiled from a high level language (eg. solidity)
3.) Solidity is a high level language, similiar to Javascript, that allows to write turing complete code. Bytecode is a compiled version of a SC written in solidity.
4.) BTC uses script, which is not turing complete, and limited to sequential and stack-based operations, which is not suitable for complex operations
5.) Turing complete languages are languages, which eg. allows loops, (halting) states or conditions, means to have a “unlimited” and “universal” usage for progamming.

2 Likes
  1. EVMs reads the smart contracts, does the calculations and then executes together with the CPU.
    All nodes on the Ethereum network has EVMs that has to reach consensus in order for any TXs to go
    through and they add a layer of security on the CPUs.

  2. Bytecode.

  3. The content of a smart contract is first written in Solidity, then it gets compiled into Bytecode which will be what is in the smart contract on the network.

  4. It is not Turing Complete to avoid spam and scalability issues.

  5. A Turing Complete language can tell software to create loops, like repeat a task several times.

2 Likes