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?
-
This is an exceedingly broad set of questions. You might want to start from the Learn Hub on the Ethereum website.– Paul Razvan BergCommented 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– matank001Commented Oct 2, 2022 at 12:11
1 Answer
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.
-
-
2To 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 XDCommented 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 Commented Jan 18 at 22:37