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!

  • I admit that up to now there seems to be no one who could explain the EVM in simple terms. – Learner May 28 '18 at 14:02
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.

  • 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 '18 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 '18 at 20:23
  • 1
    Good point @Jannik. Will edit my answer. – Lauri Peltonen May 24 '18 at 20:26
  • would the ants analogy become true with sharding ? – Mheni Jun 2 '18 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. – Lauri Peltonen Jun 2 '18 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.

  • According to your answer there should be BVM: Bitcoin Virtual Machine. But apparently there is no BVM. Why is that? – Learner May 24 '18 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 '18 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 '18 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 '18 at 8:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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