Skip to content
You are reading Hyperledger Besu development version documentation and some displayed features may not be available in the stable release. You can switch to stable version using the version box at screen bottom.
Date of last update: August 15, 2022

Proof of stake

The Merge transitions Ethereum Mainnet to proof of stake (PoS) consensus.

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 are rewarded for proposing and attesting to consensus blocks eventually included in the Beacon Chain, and penalized for malicious behavior. 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:

  1. Assembles a block on the execution layer.
  2. Verifies pre-conditions.
  3. Executes transactions.
  4. Verifies post-conditions.
  5. 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.

In Ethereum’s PoS, you must run a full node and stake 32 ETH to become a validator.

Important

Withdrawing staked ETH isn’t yet supported and will be included in a separate upgrade following The Merge.

Note

You must run a beacon node and an execution client to operate a full node on Mainnet post-Merge. To become a validator, you must also run a validator client (either in the same process as the beacon node or separately).