Proof of stake consensus
The Merge transitioned Ethereum Mainnet to proof of stake (PoS) consensus.
In Ethereum's PoS, you must run a full node and stake 32 ETH to become a validator.
You must run a beacon node and an execution client to operate a full node on Mainnet. To become a validator, you must also run a validator client (either in the same process as the beacon node or separately).
PoS is preferred over proof of work and proof of authority as a consensus mechanism because it is more secure, requires less energy, and lowers the barrier to entry.
The PoS mechanism randomly chooses validators to propose or validate blocks on the Beacon Chain in defined time frames.
Proposers are responsible for proposing new consensus blocks, and non-proposing validators are responsible for validating (attesting to) proposed blocks. Validators earn rewards for proposing and attesting to consensus blocks eventually included in the Beacon Chain, and penalized for malicious behavior. Attestations make up the bulk of validator rewards (~85%). Validators also receive transaction fees for included blocks.
Each consensus block contains an execution payload, which contains a list of transactions and other data required to execute and validate the payload.
When a node validates a consensus block, its consensus client processes the block and sends the execution payload to the execution client, which:
- Assembles a block on the execution layer.
- Verifies pre-conditions.
- Executes transactions.
- Verifies post-conditions.
- Sends the validity result back to the consensus client.
If the block is valid, the execution client includes it in the execution chain and stores the new state in execution state storage.
If a consensus block receives attestations backed by enough staked ETH, the block is included in the Beacon Chain.