3

Can someone explain in very simple words (non technical) what EVM is? Is it something tangible, like a computer, that all nodes in the Ethereum network have access to? If so, then where is it located? If not, then what is it? A software that all nodes use? How would you explain it to your grandmother? Thank you!

1
  • I admit that up to now there seems to be no one who could explain the EVM in simple terms.
    – Learner
    May 28, 2018 at 14:02

2 Answers 2

3

EVM can be thought as a single powerful computer. The computer can be accessed from the outside world only through nodes.

The biggest different between a 'regular' computer and EVM is that EVM is not physically located in any single place - it is many not-too-powerful sub-computers working together to form a big-ass mega computer.

However, this big-ass mega computer is not mega because of its computing power or speed. It is mega because of its reliability and distributed governance (decentralization): no single entity has the power to take it offline or change how it works. All of its results are 100% predictable (deterministic).

Analogy

Imagine you have a million-dollar bike and don't want anyone to steal it. When someone adds a lock to the bike the bike is more difficult to steal. However, the lock's owner can just unlock the lock, take it with him and walk away - this isn't very safe. So, we get someone else to add also his lock. It's already much harder for any single individual to steal the bike if there are locks from two different owners. The more locks you add the safer it gets.

Bike locks are analogous to EVM's nodes. More nodes does not bring more processing power or more speed to the computer. But the more nodes there are, the safer the system is - no single entity can then alter it.

5
  • It looks very similar to what happens in Bitcoin: a lot of nodes work on the same problem. And all these nodes can be thought of a one powerful computer. However, there is no EVM in Bitcoin.
    – Learner
    May 24, 2018 at 20:19
  • Note that while ants do the same type of work, they don't just replicate each other's work. Twice as many ants are able to collect twice the amount of resources (disregarding network effects, I'm not a myrmecologist -- even had to look that term up). This is different to the Ethereum network where increasing the number of nodes would not increase the computational power of the EVM.
    – Jannik
    May 24, 2018 at 20:23
  • 1
    Good point @Jannik. Will edit my answer. May 24, 2018 at 20:26
  • would the ants analogy become true with sharding ?
    – Mheni
    Jun 2, 2018 at 19:26
  • @Mheni as far as I understand sharding, to some degree, yes. Adding one more ant might not increase anything (except security) if it does not result in a new shard, though. Jun 2, 2018 at 19:33
0

Quoting the yellow paper:

The execution model specifies how the system state is altered given a series of bytecode instructions and a small tuple of environmental data. This is specified through a formal model of a virtual state machine, known as the Ethereum Virtual Machine (EVM). It is a quasi- Turing- complete machine; [...]

In other words, the EVM is an abstract model of how a "system state" looks like and how this state is updated. All (full) nodes in the Ethereum network follow the rules defined by this model, calculate the system state on their machine and (as long as they use the same input data, i.e. the same transactions), arrive at the same result.

4
  • According to your answer there should be BVM: Bitcoin Virtual Machine. But apparently there is no BVM. Why is that?
    – Learner
    May 24, 2018 at 20:36
  • You're right that there is something similar in Bitcoin, but it's extremely simple: The "BVM" just aggregates transactions. So no one bothered to define a term for it.
    – Jannik
    May 24, 2018 at 20:52
  • EVM is a collective term for the nodes in the Ethereum network and the following statements are equivalent 1. "Once triggered by a transaction, the smart contract is executed by the EVM" 2. "Once triggered by a transaction, the smart contract is executed by each node in the Ethereum network" Is this right?
    – Learner
    May 24, 2018 at 21:07
  • No, the EVM is not a collective term for the nodes in the Ethereum network. Nodes are comprised of more than just the EVM and each node has its own "instantiation" of the EVM.
    – Jannik
    May 25, 2018 at 8:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.