Proof of stake
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.
- 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.
Withdrawing staked ETH isn’t yet supported and will be included in a separate upgrade following The Merge.