423 / 736SONG

Jimmy Song

Programming Bitcoin author and programming educator

What happens inside a wallet when you press Send? Jimmy Song teaches readers to understand the steps by programming them themselves. His book Programming Bitcoin connects mathematics with an actual transaction and makes the meaning of verification tangible.

Jimmy Song is a developer, educator, and author of Programming Bitcoin. He teaches bitcoin transactions, keys, and digital signatures through examples in the Python programming language. His approach is practical: instead of relying on a finished application, readers gradually build small tools and inspect their results. Alongside technical books, he publishes views on money and society; those arguments call for different evidence from a programming exercise.

Song’s biography describes development work and Programming Blockchain seminars. O’Reilly identifies him as the author of Programming Bitcoin. Their common theme is learning by trying: reading the name of a principle does not make it understandable. Implementing it requires knowing what data goes in and what should come out. Calling someone a developer, however, does not by itself make them a Bitcoin Core maintainer or give them authority to decide network rules for other users. [1] [2]

O’Reilly published Programming Bitcoin in 2019. It starts with finite fields, arithmetic within a limited set of elements under precise rules, and elliptic curves, the mathematical foundation of the signatures it teaches. Keys, signatures, transactions, and messages between computers follow. Readers build a Python library, a collection of functions that other programs can use. They need not simply accept that a signature works: they can follow the calculations. This is a route into a wallet’s inner workings, rather than just its controls. [2]

Imagine a program receiving a transaction. First it has to recognize its parts; breaking down the data this way is called parsing. An ordinary input refers to an earlier transaction’s output, a particular amount with spending conditions. Those conditions, such as a signature requirement, must then be checked. Even a correct signature does not itself show that the referenced output remains unspent. That needs a check against the chain’s state. Song’s exercises help distinguish readable data, spending authorization, and validity of the whole transaction. [3]

A mathematically correct result matters, but secure signing software needs more. The libsecp256k1 library also addresses constant-time execution and memory access when handling a secret key. The aim is to avoid revealing information about the secret through the computation’s behavior. That is a different problem from getting an exercise right. Code written to understand a principle cannot automatically replace a reviewed cryptographic library for real funds, even if both programs correctly verify the same test signature. [4]

The programmingbitcoin repository provides chapter materials and instructions for Jupyter Notebook, an environment combining text, executable code, and results. Repeating an exercise also depends on code versions and dependencies, the other packages a program uses. An old installation guide is not automatically a recommendation for today’s versions. Recording the environment helps explain differing results; a successful run on someone else’s computer does not replace checking your own. [5]

The 2019 book provides a foundation for reading further documentation. It cannot be assumed to cover every later extension. For example, libsecp256k1 now also offers Schnorr signatures under BIP340, a specification for another signature scheme used in Bitcoin. Readers need to distinguish what a particular edition explains from what a current library provides. When using its interface, meaning the way its functions are called, the documentation for the relevant version is what matters. [2] [4]

In 2023’s Fiat Ruins Everything, Song argues that fiat money, ordinary state currencies, profoundly shapes institutions and that Bitcoin offers a remedy. Here we are reading his interpretation of society, not a signature-verification procedure. Such a claim needs its own arguments and evidence. A correct cryptographic exercise does not establish a social thesis; disagreement with an economic view does not by itself disprove a technical explanation. Each part of his work can be assessed using the appropriate evidence. [6]

Song’s website describes verifying a photograph of an autographed item using PGP, a tool for digital signatures, and SHA-256, a function producing a file fingerprint. A matching fingerprint helps establish that we have the same file; a valid signature links the signed data to a key. We still need evidence of who owns that key. At this review, the page labels the old and new keys inconsistently, so we do not reproduce its short identifier as verified identity. It is a practical reminder that checking data and trusting its origin are separate steps. [7]

For the clearest picture, read this entry together with Alex Gladstein, Bitcoin Script, Private Key. The reverse links also lead from Hackers Congress Paralelní Polis, Cathie Wood.

DOC · 001Jimmy Song — biographyPrimary DOC · 002O’Reilly — Programming Bitcoin (2019)Primary DOC · 003Bitcoin developer guide — TransactionsPrimary DOC · 004libsecp256k1 — implementation requirementsPrimary DOC · 005Jimmy Song — Programming Bitcoin repositoryPrimary DOC · 006Jimmy Song — Fiat Ruins EverythingPrimary DOC · 007Jimmy Song — PGP signature verificationPrimary
Revised: Source-first · No investment advice