Skip to content

edilmedeiros/bitcoin-course

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

Bitcoin: Technical Aspects and Protocol Implementation

These are the lecture notes for the course "Bitcoin: Technical Aspects and Protocol Implementation". This project is based on a full redesign of the course originally taught by Prof. Edil Medeiros at the University of Brasília in 2024. The redesign emphasizes pedagogical cohesion, gradual concept introduction, and clear organization. Also, the material is being developed in English in the hope it can serve as a high quality reference for other universities who want to offer similar courses.

The final product will be a series of lecture notes, written in a conversational style, targeting technically inclined computer science and engineering students aiming to deeply understand the Bitcoin protocol.

Motivation

Bitcoin is a revolutionary protocol that addresses fundamental problems in money, decentralization, and trust. To fully appreciate Bitcoin's design, it is essential to deeply understand its cryptographic foundations, transaction mechanics, economic incentives, and scaling strategies.

There are several excellent technical books about Bitcoin, each contributing valuable insights to the ecosystem:

  1. Mastering Bitcoin by Andreas Antonopoulos: an authoritative and comprehensive reference on the Bitcoin protocol. While it was not primarily designed as a textbook for undergraduate students, it remains an essential resource for in-depth understanding.
  2. Programming Bitcoin by Jimmy Song: an outstanding workbook that guides readers through Bitcoin's mechanics by building everything from scratch. Although it is slightly dated and focused more on programming than on conceptual discussions, it is a highly practical companion.
  3. Grokking Bitcoin by Kalle Rosenbaum: a remarkably approachable and intuitive explanation of the Bitcoin protocol. Its accessibility makes it ideal for first-time learners, and it deserves wider recognition.

This project aims to produce a pedagogically sound, technically deep, and accessible set of lecture notes that can be refined and expanded over time with community collaboration.

Structure

The lecture notes are organized into six Parts, each representing a major conceptual block:

Part Theme Lectures
1 Money, Bitcoin, and the Need for Decentralization 1–3
2 Cryptographic Foundations for Bitcoin 4–7
3 Understanding Bitcoin Transactions 8–13
4 Wallets — From Keys to Usability 14–17
5 Mining, Proof of Work, and Settlement 18–20
6 Second Layers and the Future of Bitcoin 21–23

Each lecture will follow a consistent format:

  • Overview of the main concept
  • Detailed explanations
  • Examples and figures when appropriate
  • Exercises (optional)
  • References for further reading

Detailed Lecture Plan

Part 1: Money, Bitcoin, and the Need for Decentralization

  1. What is Money? Why It Breaks
  2. Decentralization and Its Challenges
  3. Bitcoin’s High-Level Architecture

Part 2: Cryptographic Foundations for Bitcoin

  1. Finite Fields and Modular Arithmetic
  2. Elliptic Curves and secp256k1
  3. Digital Signatures: ECDSA and Schnorr
  4. Cryptographic Hashes

Part 3: Understanding Bitcoin Transactions

  1. Transaction Serialization Basics (Legacy)
  2. Bitcoin Script Language: Stack Semantics and p2pk
  3. Bitcoin Script Contracts: p2pkh and p2sh
  4. Transaction Malleability: The Problem and Motivation for SegWit
  5. SegWit Transactions: p2wpkh and p2wsh
  6. Advanced Script Features (Optional/Buffer)

Part 4: Wallets — From Keys to Usability

  1. Private Keys, Public Keys, and Addresses
  2. Mnemonics and BIP39
  3. Hierarchical Deterministic Wallets (BIP32)
  4. Wallet Architecture and Security Models

Part 5: Mining, Proof of Work, and Settlement

  1. Proof of Work and Mining
  2. Merkle Trees and Blockchain Structure
  3. Chain Splits, Reorgs, and Settlement Assurance

Part 6: Second Layers and the Future of Bitcoin

  1. Bitcoin's Security Guarantees
  2. Conceptual Introduction to Lightning Network
  3. Other Scaling Visions and Open Problems

References

Main references for the material include:

Contributions

This is a work in progress! This repository is open for contributions and peer review.

We welcome:

  • Corrections
  • Suggestions for improving clarity and pedagogy
  • Additional examples and exercises
  • Diagrams and visualizations
  • Alternative explanations where helpful

Feel free to fork, open issues, and submit pull requests!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published