Archive: an Ethereum primer from 2022
This 2022 primer explains the Ethereum concepts I was using at the time. Ethereum clients, consensus, account abstractions, tooling, and network conditions change. It is not current protocol or investment guidance.
Ethereum is a distributed network that records state changes according to shared rules. Smart-contract code can define how a state transition is evaluated, and users or applications submit transactions that ask the network to perform those transitions.
The Ethereum Virtual Machine is the execution environment associated with smart-contract code. A client connects to the network, validates or relays data according to its role, and gives an application a way to read state or submit a transaction.
The earlier version of this post described Geth, Parity, and Eth as client examples and used "mining" to explain transaction processing. Those details were already incomplete in 2022 and should not be used to configure a current node. A current implementation decision needs the official documentation for the chosen client, network, wallet, provider, and contract tooling.
The design questions that remain useful are less tied to a client: who may submit a transaction, what a contract is permitted to change, what information is public, how an application handles an irreversible error, and how users verify a signing request before they approve it.
Blockchain technology can provide a shared record under defined rules. It does not remove the need to design identity, permissions, privacy, recovery, and the application behaviour around a state change.