The Consensus Layer

January 12, 2025

A blockchain is a chain of blocks. Each block is a list of transactions + the hash of the previous block.

It is important that a blockchain has these properties:

  1. Safety: All honest participants have the same data or that everybody agrees on the history of the blockchain. 2. Persistance/Immutability: Data once added can never be removed.
  2. Liveness - Participants can add new transactions
    1. Censorship: anyone can add data

How is the blockchain built?

  1. A proposer is elected to announce a new block.
    1. There are 2 mechnaisms for doing a proposer election:
      1. Proof of Work
      2. Proof of Stake
  2. Everyone decides whether to accept this block or to ignore. In proof of work 2 is achieved by using the longest chain algorithm. In proof of stake we have two options for achieving the 2nd requirement:
    1. Longest Chain
    2. Byzantine Fault Tolerance (Byzantine fault tolerance became on option because in Proof of stake there are a fixed number of validators)

Desired consensus properties:

  • Safety: Validators agree on history.
  • Liveness: Every valid transaction eventually gets added.
  • Resilience against 1/3 Byzantine validators.
  • Partially-synchronous: There exists an unknown bound Δ on network delay with a shared global clock.

Tim Roughgarden lectures A16z Ittai Abraham's blog