0

I always had this question in mind:

What are the used technologies, in order to achieve the isolation of the EVM? does it just run as an isolated process in its own namespaces using the linux feature "Namespaces" for example? something like a container maybe?

1 Answer 1

3

I think the hidden assumption here is that something with a name like Ethereum "Virtual Machine" calls for isolation. This is a misunderstanding about the nature of the EVM.

The EVM is a specification for an ephemeral state machine. the EVM state is derived by processing transactions correctly. Transactions can include the deployment of code and invocations of deployed code. The code itself consists of OPCODES with precise meanings defined in the EVM specification.

Since all Ethereum operations are deterministic, we can say that given an identical initial state and identical inputs, correctly functioning nodes will compute an identical EVM state.

Perhaps another way of understanding this is to think of the EVM as an emergent non-local conclusion of nodes that agree what the EVM state must be.

If one is concerned about the integrity of one's own node, then the node can be run inside a container but such is not a property of the node software itself, e.g. Geth.

Have a look at this: https://www.youtube.com/watch?time_continue=4&v=Za5lPKNV_Mk

Hope it helps.

1
  • Thanks a lot for your replay. So that means that the EVM as an ephemeral state machine is a bunch of opcodes that it can understand and execute, and there is no implementation of an opcode or instruction that enables the communication with a network interface (network isolation for example), thereby one can say that the EVM is isolated from the Network. did i get it right ?!
    – icy3
    Sep 23, 2019 at 10:29

Your Answer

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

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