Prerequisites

Self-Assessment

Before you begin, use this checklist to assess your current preparation. Be honest with yourself — overestimating your background leads to frustration in later chapters, while underestimating it leads to wasted time on material you already know.

Required: Basic Python Programming

You should be able to:

  • [ ] Write a Python function that takes arguments and returns a value
  • [ ] Use basic data structures: lists, dictionaries, sets, tuples
  • [ ] Write loops (for, while) and conditionals (if/elif/else)
  • [ ] Import and use standard library modules (e.g., import hashlib, import json)
  • [ ] Install packages with pip (pip install package-name)
  • [ ] Read a short Python script you have not seen before and explain what it does

If you cannot check all of these boxes, we recommend completing a Python fundamentals course or working through the first 10 chapters of any introductory Python textbook before starting this book. Parts I and II use Python extensively for implementing cryptographic primitives and simulating blockchain data structures. You do not need to be an expert — you need to be comfortable reading and writing basic Python.

Self-test: Can you write a Python function that takes a list of integers and returns a dictionary mapping each integer to its frequency? If yes, your Python is sufficient.

Required: Basic Internet Concepts

You should understand:

  • [ ] How the client-server model works (browser sends request, server sends response)
  • [ ] What HTTP is at a high level (requests, responses, status codes)
  • [ ] What an API is and what JSON looks like
  • [ ] What a URL is and how DNS maps domain names to IP addresses
  • [ ] The basic concept of a network (computers communicating over protocols)

These concepts appear throughout the book when discussing peer-to-peer networks, API calls to blockchain nodes, and web-based dApp frontends. We do not assume deep networking knowledge, but the basics are essential.

Self-test: Can you explain, at a high level, what happens when you type a URL into your browser and press Enter? If you can describe the DNS lookup, the HTTP request, the server response, and the page rendering in rough terms, you are prepared.

Required: Basic Algebra

You should be comfortable with:

  • [ ] Variables, equations, and basic algebraic manipulation
  • [ ] Exponents and logarithms (conceptual understanding)
  • [ ] Reading and interpreting graphs (x-y plots, curves)
  • [ ] Understanding ratios and proportions
  • [ ] Basic order-of-magnitude reasoning ("millions" vs. "billions" vs. "trillions")

The cryptography chapters use modular arithmetic (which we teach from scratch). The DeFi chapters use algebraic formulas for AMM curves and interest rates (which we derive from first principles). The economics chapters use supply-demand reasoning (which we explain). But you need the algebraic fluency to follow derivations and manipulate simple equations.

Self-test: Can you solve for x in the equation x * y = k given values for y and k? Can you explain what happens to x as y increases, without plugging in numbers? If yes, your algebra is sufficient.

Helpful but Not Required: Data Structures and Algorithms

If you have taken an introductory data structures course, you will have an easier time with:

  • Hash tables (Ch 2, 6 — we use them extensively)
  • Trees (Ch 2 — Merkle trees are a core data structure)
  • Linked lists (Ch 6 — blockchains are linked lists of blocks)
  • Graph concepts (Ch 8 — peer-to-peer network topology)
  • Big-O notation (Ch 12 — gas costs relate to computational complexity)

If you have not studied data structures, do not worry. We introduce each data structure when it first appears, with enough context to understand its role. But if you have seen hash tables and trees before, the cryptography and protocol chapters will feel more natural.

Helpful but Not Required: Basic Probability and Statistics

Some chapters use probability concepts:

  • Expected value (Ch 7 — mining profitability calculations)
  • Basic probability (Ch 3 — probabilistic finality in consensus)
  • Distributions (Ch 10 — modeling Bitcoin price behavior)

We explain these concepts when they appear and keep the mathematical treatment accessible. A statistics course is not a prerequisite, but if you have taken one, the quantitative arguments will feel more familiar.

NOT Required: Cryptography

We teach cryptographic foundations from scratch in Chapter 2. You will implement hash functions, digital signatures, and Merkle trees in Python. You will understand how public-key cryptography works at both the conceptual and implementation levels. No prior exposure to cryptography is assumed or expected.

NOT Required: Economics or Finance

We teach the relevant economics from scratch. Chapter 4 covers the theory of money. The DeFi chapters (21-25) explain interest rates, market making, collateralization, and liquidation from first principles. The regulation chapters (29-30) explain securities law and the Howey Test. No prior coursework in economics, finance, or business is assumed.

NOT Required: Blockchain or Cryptocurrency Experience

This book starts from the question "what is a blockchain?" and builds up from there. Prior exposure to Bitcoin, Ethereum, wallets, exchanges, or any blockchain technology is not assumed. If you have used cryptocurrency before, some early chapters will feel like review — use that time to fill in gaps in your understanding of the mechanisms behind the tools you have been using.

Fast Track (Developer) Readers

  • Strong Python recommended (you will write Solidity quickly, so programming fluency helps)
  • Familiarity with JavaScript and npm/Node.js is helpful for Ch 33 (dApp development)
  • Web development basics (HTML, CSS, React) are helpful but not required for the frontend chapter

Standard Path Readers

  • The prerequisites listed above are sufficient
  • No additional preparation needed

Deep Dive Readers

  • A data structures course will significantly enrich your understanding of Parts I-III
  • Familiarity with basic probability will help with the quantitative chapters
  • Comfort with mathematical notation (summation, set notation) will help with advanced sidebars
  • All of these are helpful, not required — the book provides enough context to follow along

What to Do If You Are Not Sure

If you are unsure whether your preparation is sufficient, start Chapter 1. It is a conceptual chapter with no code and no mathematics. If Chapter 1 makes sense, try Chapter 2, which introduces code and cryptographic concepts. If you can follow Chapter 2 — even if some of the Python requires looking things up — you are ready for the rest of the book.

If Chapter 2 feels overwhelming because of the Python, pause and spend a week on Python fundamentals. If Chapter 2 feels overwhelming because of the mathematical concepts, pause and review basic algebra and modular arithmetic (we recommend Khan Academy's free modules on modular arithmetic as a quick refresher).

The book is designed to be accessible to anyone who meets the "Required" prerequisites. Everything else, we teach.