Bitcoin Research Hub

Curated study materials, tools, and a binge-worthy playlist for future Bitcoin Core & Knots contributors.

YouTube playlist embed: practical talks, code walkthroughs, and deep dives.

Bitcoin Technical Learning Guide

For Future Contributors to Bitcoin Core / Bitcoin Knots

Author: Michel Laclé (personal study plan)


✅ 1. Essential Primary Resources

Bitcoin Whitepaper

https://bitcoin.org/bitcoin.pdf
Foundational, but only the beginning. Focus on Sections 4–7.

Bitcoin Developer Reference (Bitcoin.org)

https://developer.bitcoin.org/reference/
Key reference for: - Transaction & block structures
- P2P messages
- Script opcodes
- Consensus rules
- Networking details

Bitcoin Core Developer Documentation

https://bitcoincore.org/en/doc/
Contains: - RPC API reference
- Internal architecture
- Build system
- Wallet internals
- Mempool, P2P, validation logic
- C++ testing framework overview


✅ 2. Deep Internals: Bitcoin Core / Knots Tools

Bitcoin Core Contributor Handbook

https://bitcoincore.reviews
Learn how Core developers think:
- Weekly PR review notes
- Reasons PRs are accepted/rejected
- Standards for contributions

Bitcoin Knots Repository

https://github.com/bitcoinknots/bitcoin
Areas to explore: - src/policy/
- src/validation.*
- src/net_processing.*
- Knots patches in contrib/

Knots adds: - Extra policy checks
- Extra privacy/hardening features
- Additional relay logic


✅ 3. Protocol-Level Understanding

Bitcoin Improvement Proposals (BIPs)

https://github.com/bitcoin/bips

Important BIPs to prioritize: - BIP 32 — HD wallets
- BIP 39 — Mnemonics
- BIP 141 — SegWit
- BIP 340–342 — Taproot
- BIP 68/112/113 — Locktimes, CSV
- BIP 125 — Replace-By-Fee
- BIP 133 — Feefilter
- BIP 152 — Compact block relay
- BIP 37 — Bloom filters (legacy)
- BIP 157/158 — Neutrino

Mastering Bitcoin (book)

https://github.com/bitcoinbook/bitcoinbook

Focus on: - Ch.5 Transactions
- Ch.6 Blockchain
- Ch.7 Networking
- Ch.8 Mining
- Ch.9 Consensus
- Ch.10 Bitcoin Script

Mastering the Lightning Network (optional)

https://github.com/lnbook/lnbook
Useful for Layer 2 understanding.


✅ 4. Code Navigation & Internal Architecture

James Chiang — Notes on Bitcoin Core Architecture

https://github.com/jamesob/bitcoincore-notes
Annotated insights into:
- Validation pipeline
- Block/UTXO structures
- Script execution
- Mempool behavior
- P2P processing

Chaincode Labs — Bitcoin Core Dev Onboarding Curriculum

https://github.com/chaincodelabs/bitcoin-core-dev
Topics:
- UTXO model
- Consensus & networking
- Test framework
- RPC system
- Block validation


✅ 5. Testing, Security & Hardening (Important for Knots)

Bitcoin Core Testing Guide (Chaincode)

https://github.com/chaincodelabs/bitcoin-core-onboarding/blob/main/5.%20Testing.md

Understand: - Functional tests: test/functional/
- Unit tests: src/test/
- Fuzz tests: src/test/fuzz/

Bitcoin P2P Message Reference

https://en.bitcoin.it/wiki/Protocol_documentation
Useful for low-level network comprehension.


🎯 Recommended 4-Week Study Plan

Week 1 — Protocol Foundations

  • Read Bitcoin Whitepaper
  • Mastering Bitcoin Ch. 1–7
  • Watch Jan Møller: “How Bitcoin Works”
  • Explore Developer Reference basics

Week 2 — Script, Consensus, Mempool

  • Study Script & transactions
  • Read key BIPs (32, 39, 141, 68/112/113)
  • Review mempool documentation
  • Understand consensus rule flow

Week 3 — Codebase Structure

  • Chaincode Dev Curriculum
  • Read James Chiang’s architecture notes
  • Watch codebase walkthrough videos
  • Study these directories:
  • src/validation/
  • src/net_processing/
  • src/consensus/
  • src/script/

Week 4 — Testing + First Contribution

  • Learn test harness (functional + unit + fuzz)
  • Choose an “up-for-grabs” issue
  • Write tests first
  • Build and run the entire suite locally
  • Submit a patch to Bitcoin Knots / Core

🛠 Additional Tools to Set Up Locally

  • Clang or GCC with sanitizer support
  • Ninja + CMake
  • clang-tidy static analysis
  • VS Code or CLion with C++ index
  • Bitcoin Core build with:
  • --enable-debug
  • --with-sanitizers=address,undefined
  • Python 3.11+ for functional tests

🚀 Optional Next Steps

I can generate any of the following if requested:

  • A printable PDF version of this guide
  • A checklist version (for tracking progress)
  • A Trello board or Notion workspace for studying
  • Local dev environment bootstrap script
  • Flashcards for all important BIPs
  • A diagram pack explaining:
  • Block validation
  • Script execution
  • Mempool acceptance
  • P2P message lifecycle

✔️ End of Document