Blockchains are often introduced through headlines, tokens, and product promises. This course takes the opposite route: it builds a rigorous foundation for understanding what a blockchain really is, why it works, and when it cannot work under certain network and adversary conditions. You will connect cryptographic primitives such as digital signatures to the core problem of coordinating many machines that may be slow, unreliable, or even malicious, and learn how these pieces combine into a secure distributed ledger.
Rather than treating consensus as a black box, you will reason about state machine replication and the formal guarantees that matter in practice: safety (consistency) and liveness (progress). You will examine classic results that set hard limits on what distributed protocols can achieve, including impossibility theorems that explain why certain goals are unattainable in fully asynchronous settings or beyond key fault thresholds. These results are not presented as trivia; they become tools for evaluating real systems and claims, helping you distinguish robust protocol design from hand-wavy narratives.
As you move from permissioned to permissionless settings, you will study how different trust and network assumptions shape protocol choices. You will compare Byzantine fault tolerant styles of consensus with longest-chain approaches and learn what properties like common prefix, chain quality, and finality mean for applications. The course also addresses the realities of open participation: why proof of work and proof of stake exist, how leader election is implemented, what difficulty and synchrony assumptions buy you, and how randomness mechanisms (including VRFs and related techniques) underpin modern protocol designs.
Because real blockchains are economic systems, you will also explore how incentives, rewards, and fees can change the strategic landscape. You will see how deviations such as selfish mining arise, why transaction fee markets matter, and how protocol mechanisms attempt to align individual behavior with global security goals. Throughout, short exercises reinforce key definitions, thresholds, and proof ideas so you can follow the logic, not just memorize outcomes.
By the end, you will be able to read protocol descriptions with a critical eye, ask the right questions about assumptions, and understand why mathematically justified guarantees are valuable when deploying systems that must remain reliable under attack and at internet scale.
Course content
Video class: Foundations of Blockchains (Lecture 1.1: Focus of Lecture Series ( a Little Hype))09m
Exercise: What is the primary focus of this lecture series?
Video class: Foundations of Blockchains (Lecture 1.2: Overview of Lecture Series)18m
Video class: Foundations of Blockchains (Lecture 1.3: Digital Signature Schemes)18m
Exercise: In a digital signature scheme, which key is used to sign messages and which key is used to verify signatures?
Video class: Foundations of Blockchains (Lecture 1.4: State Machine Replication)17m
Video class: Foundations of Blockchains (Preview of Lectures 2--7: A Bootcamp on Classical Consensus)21m
Exercise: In the partially synchronous model, what honesty threshold is required to achieve strong consensus guarantees (e.g., consistency and eventual liveness)?
Video class: Foundations of Blockchains (Lecture 2.1: Four Assumptions)15m
Video class: Foundations of Blockchains (Lecture 2.2: SMR Reduces to Byzantine Broadcast)32m
Exercise: In the reduction from state machine replication (SMR) to Byzantine broadcast, which Byzantine broadcast property is used to guarantee SMR consistency?
Video class: Foundations of Blockchains (Lecture 2.3: Simple Protocols for Byzantine Broadcast)15m
Video class: Foundations of Blockchains (Lecture 2.4: The Dolev-Strong Protocol)11m
Exercise: In the Dolev-Strong Byzantine broadcast protocol, when does an honest node output the canonical default value (⊥)?
Video class: Foundations of Blockchains (Lecture 2.5: Analysis of the Dolev-Strong Protocol)18m
Video class: Foundations of Blockchains (Lecture 3.1: The PSL-FLM impossibility Result)14m
Exercise: What does the classic impossibility result for Byzantine broadcast state in the synchronous model when the fraction of Byzantine nodes is too high?
Video class: Foundations of Blockchains (Lecture 3.2: Proof of PSL-FLM impossibility)38m
Video class: Foundations of Blockchains (Lecture 3.3: The Importance of PKI and Trusted Setups)12m
Exercise: Why doesn’t a protocol that achieves Byzantine broadcast for any number of faults contradict the impossibility result that requires f ≤ n/3?
Video class: Foundations of Blockchains (Lecture 4.1: Relaxing the Synchronous Assumption)10m
Video class: Foundations of Blockchains (Lecture 4.2: The Asynchronous Model)09m
Video class: Foundations of Blockchains (Lecture 4.3: Byzantine Agreement)05m
Video class: Foundations of Blockchains (Lecture 4.4: The FLP Impossibility Theorem)07m
Exercise: What does the FLP impossibility result say about deterministic Byzantine agreement in the asynchronous model?
Video class: Foundations of Blockchains (Lecture 4.5: Configurations)09m
Video class: Foundations of Blockchains (Lecture 4.6: An Initial Ambiguous Configuration)14m
Exercise: In the proof setup for FLP, why must there exist an index i such that the initial configuration X_i is ambiguous?
Video class: Foundations of Blockchains (Lecture 5.1: Reducing The FLP Impossibility Theorem to Two Lemmas)26m
Video class: Foundations of Blockchains (Lecture 5.2: Completing the Proof of the FLP Impossibility Theorem)25m
Exercise: In the proof strategy for Lemma 2, what does it mean for a configuration to be ambiguous-star with respect to a distinguished message (r, m)?
Video class: Foundations of Blockchains (Lecture 5.3: Interpretation and Broader Context of the FLP Theorem)06m
Video class: Foundations of Blockchains (Lecture 6.1: The Partially Synchronous Model)41m
Exercise: In the partially synchronous model, what is the key Byzantine fault threshold for achieving safety always and liveness after global stabilization time (GST)?
Video class: Foundations of Blockchains (Lecture 6.2: Proof of the 33% Impossibility Result)16m
Video class: Foundations of Blockchains (Lecture 6.3: The CAP Principle)17m
Exercise: According to the CAP theorem, what tradeoff must a distributed system make when it must tolerate a network partition?
Video class: Foundations of Blockchains (Lecture 7.1: Tendermint (High-Level Ideas))18m
Video class: Foundations of Blockchains (Lecture 7.2: The Tendermint Protocol)39m
Exercise: In Tendermint, what is a quorum certificate (QC) for a given block height?
Video class: Foundations of Blockchains (Lecture 7.3: Proof of Consistency)19m
Video class: Foundations of Blockchains (Lecture 7.4: Proof of Liveness)34m
Exercise: In the liveness proof discussed, what weaker assumption is used to ensure a transaction T is eventually added to all honest nodes' local histories?
Video class: Foundations of Blockchains (Lecture 7.5: Can We Do Better?)07m
Video class: Foundations of Blockchains (Interlude: On Definitions, Theorems, and Proofs)34m
Exercise: Why is it recommended to prefer blockchain consensus protocols backed by mathematical proofs?
Video class: Foundations of Blockchains (Lecture 8.1: A Tale of Two Protocol Designs)08m
Video class: Foundations of Blockchains (Lecture 8.2: Longest-Chain Consensus)54m
Exercise: In longest-chain consensus, what does an honest leader do when choosing a predecessor for its new block?
Video class: Foundations of Blockchains (Lecture 8.3: Balanced Leader Sequences)21m
Video class: Foundations of Blockchains (addendum to Lecture 8.3)07m
Exercise: Under what conditions is the common prefix property established in the proof-of-work setting discussed?
Video class: Foundations of Blockchains (Lecture 8.4: Analysis of Random Leader Selection)17m
Video class: Foundations of Blockchains (Lecture 8.5: The Common Prefix Property)27m
Exercise: In longest-chain consensus, what does it mean for a leader sequence to be W-balanced?
Video class: Foundations of Blockchains (Lecture 8.6: Finality)12m
Video class: Foundations of Blockchains (Lecture 8.7: Liveness and Chain Quality)23m
Exercise: In the chain quality result (Theorem 3′) for longest-chain consensus, under an (α+ε)-balanced leader sequence, what lower bound is given on the fraction of finalized blocks that were produced by honest nodes?
Video class: Foundations of Blockchains (Lecture 8.8: Partial Synchrony; Toward Permissionless Consensus)36m
Video class: Foundations of Blockchains (Lecture 9.1: Permissionless Consensus)35m
Exercise: In a permissionless blockchain, what problem do proof of work and proof of stake primarily address?
Video class: Foundations of Blockchains (Lecture 9.2: Proof-of-Work)43m
Video class: Foundations of Blockchains (Lecture 9.3: Properties of Proof-of-Work)52m
Exercise: In proof-of-work leader election, what determines a node’s probability of being selected as the next leader?
Video class: Foundations of Blockchains (Lecture 9.4: Difficulty Adjustment)30m
Video class: Foundations of Blockchains (Lecture 9.5: Extension to the Synchronous Model)43m
Exercise: In the synchronous model of longest-chain proof-of-work consensus, what key parameter relationship helps keep inadvertent honest forks rare and preserves guarantees like common prefix and liveness?
Video class: Foundations of Blockchains (Lecture 9.6: An Impossibility Result for Proof-of-Work Protocols)15m
Video class: Foundations of Blockchains (Lecture 9.7: Cryptocurrencies and a Preview of Lectures 10-13)08m
Exercise: What new technical concern is introduced when a blockchain adds block rewards denominated in a native currency?
Video class: Foundations of Blockchains (Lecture 10.1: Block Rewards)21m
Video class: Foundations of Blockchains (Lecture 10.2: Maximizing Block Rewards)15m
Exercise: In Nakamoto longest-chain consensus with proof-of-work and fixed block rewards, what best explains why a miner with 10% hash rate might earn less than 10% of rewards?
Video class: Foundations of Blockchains (Lecture 10.3: The Case of a 51% Miner)17m
Video class: Foundations of Blockchains (Lecture 10.4: Selfish Mining with Deviator-Controlled Tie-Breaking)36m
Exercise: Under the assumption of worst-case (adversarial) tie-breaking by honest nodes, what fraction of blocks on the longest chain does a deviating node with hash rate α obtain using the described selfish-mining strategy?
Video class: Foundations of Blockchains (Lecture 10.5: Selfish Mining with Honest-Node-Controlled Tie-Breaking)37m
Video class: Foundations of Blockchains (Lecture 10.6: Markov Chain Analysis)1h07m
Video class: Foundations of Blockchains (Lecture 10.7: Discussion)28m
Video class: Foundations of Blockchains (Lecture 11.1: Transaction Fees and Economic Efficiency)13m
Exercise: What is the primary economic reason blockchains charge transaction fees?
Video class: Foundations of Blockchains (Lecture 11.2: First-Price Auctions)09m
Video class: Foundations of Blockchains (Lecture 11.3: Selfish Mining with Transaction Fees)13m
Exercise: Why can very large transaction fees make selfish mining (deliberate forking) profitable even for a miner with small hash power, under best-case tie-breaking?
Video class: Foundations of Blockchains (Lecture 11.4: Issues with First-Price Auctions)08m
Video class: Foundations of Blockchains (Lecture 11.5: EIP-1559)30m
Exercise: In EIP-1559, why are base fee revenues burned (or otherwise redirected away from the current block producer) instead of being paid to the block producer?
Video class: Foundations of Blockchains (Lecture 11.6: Excessively Low Base Fees)14m
Video class: Foundations of Blockchains (Lecture 11.7: Pros and Cons of Burning Fees)17m
Video class: Foundations of Blockchains (Lecture 12.1: Overview of Lecture 12)38m
Video class: Foundations of Blockchains (Lecture 12.2: Review of Permissionless Consensus)17m
Exercise: In a permissionless consensus setting, what key ingredient is needed to adapt permissioned consensus protocols so they still work despite unknown future participants?
Video class: Foundations of Blockchains (Lecture 12.3: The High-Level Idea of Proof-of-Stake)08m
Video class: Foundations of Blockchains (Lecture 12.4: Why Proof-of-Stake?)36m
Exercise: Why do many newer blockchains pair proof of stake with BFT-style consensus rather than longest-chain (Nakamoto) consensus?
Video class: Foundations of Blockchains (Lecture 12.5: Mechanics of Staking)22m
Video class: Foundations of Blockchains (Lecture 12.6: Why Proof-of-Stake Is Hard)10m
Exercise: Why does sampling a validator with probability proportional to its stake provide Sybil resistance in proof of stake?
Video class: Foundations of Blockchains (Lecture 12.7: Weighted Robin-Round)11m
Video class: Foundations of Blockchains (Lecture 12.8: Randomness Beacons)12m
Exercise: How can ideal randomness be converted into stake-proportional leader selection?
Video class: Foundations of Blockchains (Lecture 12.9: Verifiable Random Functions (VRFs))29m
Video class: Foundations of Blockchains (Lecture 12.10: VRFs: Challenges and Mitigations)36m
Exercise: Which VRF property ensures that no one can tell whether a public key was sampled (e.g., as leader) unless the owner reveals it?
Video class: Foundations of Blockchains (Lecture 12.11: Pseudorandomness Beacons)26m
Video class: Foundations of Blockchains (Lecture 12.12: Crowdsourcing a Randomness Beacon)24m
Exercise: In a two-phase commit–reveal randomness protocol, what is the key remaining “last-mover” advantage in phase two?
Video class: Foundations of Blockchains (Lecture 12.13: Verifiable Delay Functions (VDFs))17m
Video class: Foundations of Blockchains (Lecture 12.14: Proof-of-Stake BFT-Type Protocols)29m
Exercise: In a proof-of-stake BFT-style protocol using VRF-based sampling, what is a main reason to sample a voting committee instead of letting all active validators vote?
Video class: Foundations of Blockchains (Lecture 12.15: Issues with PoS BFT-Type Protocols)28m
Video class: Foundations of Blockchains (Lecture 12.16: Sybil-Resistance with Non-Uniform Stakes)32m
Exercise: Why doesn’t simply dividing a VRF credential by a validator’s stake (credential / Qᵢ) correctly implement stake-proportional leader selection?
Video class: Foundations of Blockchains (Lecture 12.17: Proof-of-Stake Longest-Chain Protocols)21m
Video class: Foundations of Blockchains (Lecture 12.18: Issues with PoS Longest-Chain Protocols)42m
Exercise: Why is the difficulty parameter μ set sufficiently small in a VRF-based proof-of-stake longest-chain protocol?
Video class: Foundations of Blockchains (Lecture 12.19: Further Discussion of PoS LC Protocols)38m
Video class: Foundations of Blockchains (Lecture 12.20: Pros and Cons of Slashing)35m
Exercise: Which prerequisite is emphasized as important for slashing to work in a proof-of-stake protocol?
Video class: Foundations of Blockchains (Lecture 12.21: Long-Range Attacks)26m
Video class: Foundations of Blockchains (Lecture 12.22: Mitigations for Long-Range Attacks)26m
Exercise: Why does setting a cooldown period (and requiring nodes to return online within a bounded time) help mitigate certain long-range attacks in proof-of-stake?
Video class: Foundations of Blockchains (Lecture 12.23: Proof-of-Stake vs. Proof-of-Work, Part 1)29m
Video class: Foundations of Blockchains (Lecture 12.24: Proof-of-Stake vs. Proof-of-Work, Part 2)37m
Exercise: Which distinction was given as a reason Nakamoto consensus (proof of work) can be considered slightly more permissionless than typical proof of stake protocols?
What consensus protocols are covered in this blockchain fundamentals course?
The course covers Byzantine broadcast, state machine replication, Tendermint, longest-chain consensus, proof of work, proof of stake, and BFT-style protocols.
Does the course explain why blockchain consensus needs the one-third Byzantine fault threshold?
Yes. It examines the classic impossibility results and explains why partially synchronous BFT consensus requires fewer than one-third Byzantine participants.
What blockchain economics topics are included alongside consensus?
It covers block rewards, selfish mining, transaction-fee auctions, EIP-1559 fee burning, and incentive issues in proof-of-work systems.
Ready to get started?Download the app and get started today.