1

I would like to know what exactly is the EVM? is it a container or an actual VM? And more specifically, does every user of Etherium run the networks code? and if not how do we trust those who do run the EVM?

2
  • This is an exceedingly broad set of questions. You might want to start from the Learn Hub on the Ethereum website. Commented Oct 2, 2022 at 12:05
  • I understand the concept of Ethereum and blockchain. But I don't fully understand the implementation details of the EVM
    – matank001
    Commented Oct 2, 2022 at 12:11

1 Answer 1

3

Every full node runs the Ethereum Virtual Machine. From my understanding EVM is just a fancy name and it is mostly just the interpreter that runs smart contracts. In fact, it consists of Program Counter (PC), Execution Stack, Memory and Gas Counter. In addition it also has a reference to the EVM code and Contract Account Storage. The smart contracts themselves are quite low level and there is no necessity for more elaborate container or so.

Every single full node runs all of the smart contracts. That is how we reach consensus regarding the state of the Ethereum at a given point in time. The miner (or now validator) is just the entity that has the privilege to add a next block and decide on the order of transaction - but eventually all of them are run by all nodes to check validity.

3
  • And what it takes to be a full node?
    – matank001
    Commented Oct 2, 2022 at 18:17
  • 2
    To begin you need to be running one of the widely available clients for connecting to the Ethereum network such as Geth. Downloading and installing client is easy part, but that also involves afterwards downloading the whole blockchain which is more than 500GB at the moment. As a matter of fact, that process of downloading the whole blockchain will also trigger execution of all smart contracts ever deployed to make sure that the final local state is the same to the one all other Ethereum nodes have.
    – Boki XD
    Commented Oct 2, 2022 at 18:24
  • Good answer, but just to be more specific. A "node" is a machine which runs two pieces of software: Execution Layer (EL) & Consensus Layer (CL). The EVM is provided by the EL. More reading here: ethereum.stackexchange.com/a/148635/65013
    – Joe Coder
    Commented Jan 18 at 22:37

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