§ 1.6Module 1

Consensus Protocol

1.6 — Consensus Protocol

Recall first. Two honest nodes each receive a different next transaction. With no central server, how could they ever agree on which one is “real” without a trusted referee? Write one idea. Then read.

Reference-book anchor

Primary reference: Blockchain Technology, Chapter 2, §2.4 — converted Markdown lines 1410–1493.1

The book’s anchor covers the consensus definition, Byzantine Generals Problem, objectives, PoW, PoS, PoET, PoA, and permissioned consensus. The note preserves that syllabus foundation while stating each protocol’s membership, fault, and finality assumptions.

What “consensus” means, precisely

In a blockchain context, a consensus protocol is the set of rules by which distributed participants agree on the next accepted state or history. It commonly specifies:

  1. Agreement: which valid transactions or state transitions are accepted and in what order.
  2. Progress: how the system chooses a proposer, leader, or validator and continues making progress.
  3. Fault handling: what happens when participants are slow, offline, contradictory, or malicious.

Not every consensus protocol uses blocks or elects a permanent leader, so state the particular protocol’s mechanism rather than treating “consensus” as one algorithm.

Without consensus, the “shared notebook” from §1.1 falls apart the moment two people write conflicting lines.

The core problem: the Byzantine Generals

The theoretical bedrock is the Byzantine Generals Problem (Lamport, 1982): generals surrounding a city must agree on attack/retreat, but some may be traitors sending conflicting messages. Byzantine fault tolerance (BFT) means a system can preserve agreement and, under its liveness assumptions, make progress despite a bounded number of arbitrary faults. The bound depends on the protocol and its membership/network assumptions; for classical PBFT-style replication, the usual requirement is at least 3f+1 nodes to tolerate f Byzantine nodes.23

Beginner reframe. “Byzantine” just means arbitrary / adversarial failure — a node can lie, equivocate, or send different messages, not just crash. A blockchain must state how many such faults it can tolerate and under what network assumptions; “honest nodes outnumber attackers” is not a complete BFT specification.

Two families of consensus

The type from §1.5 decides the family:

FamilyTrust modelMechanismTypical use
Permissionless (Nakamoto-style)Unknown, Sybil-prone participantsCost/stake as pseudo-identityPublic chains
Permissioned (voting/replication)Known, vetted validatorsPBFT-style votes or Raft-style leader replicationConsortium/private

Family A — Nakamoto consensus (Proof-of-Work, PoW)

In Bitcoin, mining = finding a nonce so SHA256d(header) < target. The rule: among valid candidates, the chain with the most cumulative work wins (often called the heaviest chain); block count alone is not the criterion. Nodes build on the tip of that chain.

Refresher — Sybil attack. An adversary creates many fake identities to outvote honest nodes. Permissionless systems can’t ban identities, so they bind “voting power” to an external scarce resource (hashpower in PoW, stake in PoS) instead of to identity.

Family B — permissioned replication and voting

Known validators exchange authenticated messages. Practical Byzantine Fault Tolerance (PBFT) tolerates up to f Byzantine nodes when the system has at least 3f+1 known, authenticated validators, under its stated network and timing assumptions; the quorum is commonly 2f+1. Raft is a simpler crash-fault-tolerant protocol: it assumes non-Byzantine members and handles nodes that stop or become unavailable, not nodes that deliberately lie. Raft also needs a majority quorum to commit and make progress. Permissioned protocols can provide deterministic or near-immediate finality, but they require controlled membership and governance. (Detailed in Module V.)3

Properties a good consensus must balance

PropertyTension
Safety — never confirm a false/conflicting blockvs. liveness under attacks
Liveness — the chain keeps progressingvs. stalling if too many fail
Decentralizationvs. throughput & latency
Finality — when is a block “settled”?Bitcoin-style PoW = probabilistic confirmation; many BFT systems = deterministic once quorum commits

Worked example — why PoW resists Sybil

An attacker spins up 1,000,000 fake nodes in a permissionless network but controls 1% of hashpower. Can they double-spend by out-voting honest nodes?

Answer: No. In Nakamoto consensus, “votes” are blocks of work, not node counts. With 1% of hashpower the attacker finds ~1% of blocks; to rewrite history they’d need >50% (a 51% attack), which 1,000,000 cheap identities cannot fake because each block requires real, costly computation.45

Exercise

PBFT needs 3f+1 nodes to tolerate f Byzantine faults. (a) How many faulty nodes can a 10-node PBFT network tolerate? (b) Why can’t you just use PBFT directly on a public chain with millions of anonymous miners?

Answers

(a) Solve 3f+1 ≤ 10f ≤ 3. So it tolerates 3 faulty nodes. (b) PBFT requires known, identified validators exchanging O(n²) vote messages; with millions of anonymous, join/leave-at-will nodes, you can’t establish membership or afford the message overhead, and Sybil attacks defeat voting. That’s why public chains use PoW/PoS instead.

Exam lens

Definition to write: Consensus is the protocol-level process that lets distributed participants agree on valid state/history and make progress despite specified failures.

High-value comparison:

Nakamoto / PoWPBFT-styleRaft
MembershipOpen and pseudonymousKnown validatorsKnown cluster members
Fault modelAdversarial, Sybil-proneByzantine faultsCrash faults
AuthorityHash powerQuorum votesElected leader + majority
FinalityProbabilisticDeterministic after quorumDeterministic log commitment, subject to availability
Main costWork, energy, latencyCommunication and membershipNo progress without quorum

Common traps:

Rapid revision

Key takeaways

Sources

Footnotes

  1. Blockchain Technology, S. Chandramouli, Asha A. George, Abhillash K. A., Meena Karthikeyan. Universities Press. E-edition first published 2020; copyright 2021.

  2. Lamport, L., Shostak, R., Pease, M. (1982). The Byzantine Generals Problem. — defines BFT and the 3f+1 bound.

  3. Castro, M., & Liskov, B. (1999). Practical Byzantine Fault Tolerance. OSDI. https://www.usenix.org/conference/osdi-99/presentation/practical-byzantine-fault-tolerance — BFT replication and fault assumptions. 2

  4. Nakamoto, S. (2008). Bitcoin: A Peer-to-Peer Electronic Cash System. https://bitcoincore.org/bitcoin.pdf — §4 (Proof-of-Work) and §6 (incentive/51% discussion). 2

  5. Bitcoin Developer Reference — Block Chain. https://developer.bitcoin.org/reference/block_chain.html — longest-chain rule and 51% attack note. 2