Section 9.4.1. of Ethereum paper (Petersburg version 41c1837 — 2021-02-14), states that:

The machine state μ is defined as the tuple (g,pc,m,i,s) which are the gas available, the program counter pc ∈ N_256, the memory content, the active number of words in memory (counting continuously from position 0), and the stack contents. The memory contents μ_m are series of zeros of size 2^256.

Further in this documentation, a machine state is said to be prone to change from block to block according to a pre-defined set of rules and can execute arbitrary machine code. The specific rules of changing state from block to block are defined by the EVM.

Also in the documentation, there is an external resource that illustrates machine state as part of volatile memory in the EVM.

So what is a machine state, what are pre-defined rules that can change machine state, and what it has to do with EVM?

1 Answer 1


The machine state would be the environment where the contract runtime bytecode will be executed. A sort of virtual processor for the EVM's bytecode.

From the text "pre-defined rules" appears to mean a fork. Some forks had changed opcodes pricing affecting how gas consumption was evaluated and introduced newer opcodes modifying the machine state behavior.

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.