658 / 736BK42

Bitcoin Development Philosophy

Kalle Rosenbaum and Linnéa Rosenbaum: verification, trade-offs and adversarial thinking

Bitcoin Development Philosophy explains how to think about Bitcoin development in an environment where the goodwill of others cannot be assumed. Kalle Rosenbaum and Linnéa Rosenbaum connect design trade-offs with historical discussion. Here we focus on the limits of independent verification and security assumptions.

A publicly available guide to Bitcoin development philosophy by Kalle Rosenbaum with co-author Linnéa Rosenbaum. It helps readers who already know the technical basics explore the reasons behind design decisions and their limitations.

The main author of Bitcoin Development Philosophy is Kalle Rosenbaum, with Linnéa Rosenbaum as co-author. Chaincode Labs commissioned and funded the book. The introduction presents it as a guide to design trade-offs and lessons from Bitcoin development, rather than a binding rulebook about who should decide on the protocol. [2]

The book assumes an understanding of the basics of Proof of Work, block construction and the transaction life cycle. Chapters combine their own explanations with links to articles and talks; the repository also preserves a separate collection of copied texts with information about their origins. The aim is to learn to evaluate proposals in context, rather than merely learn commands. [2]

The contents have 9 main chapters: decentralization, Trustlessness, privacy, finite supply, upgrades, Adversarial thinking, open source, scaling and handling incidents. Discussion questions and instructions for feedback and building the book follow. Within this whole, we read the two chapters examined below in detail; the others are described here from their structure. [1]

Trustlessness distinguishes a protocol without the need to trust an intermediary from trust in the software or hardware being used. Your own Full Node checks received blocks against its rules, such as coin issuance and the absence of double-spending in the chain. It does not guarantee protection against part of the chain being rewritten; the chapter therefore separates rule validation from reorganization risk and the role of confirmations. [3]

A later part of Trustlessness discusses reproducible builds and the origins of the tools used to produce them. Matching output files from multiple builders helps check distribution, but does not by itself establish the correctness of the source code or the entire compiler and hardware. Readers should recognize which dependency they have actually verified; we did not carry out those procedures here. [3]

Adversarial thinking begins with security assumptions and distinguishes practical operation from a formal proof of the entire system’s security. It addresses more than program bugs: it highlights isolating a node from the honest network and disrupting open collaboration. The chapter aims to identify failure modes and attackers’ incentives, rather than present a reassuring story as security analysis. [4]

The chapter cites Voskuil’s axiom of resistance as the assumption that a system can resist state control. The quotation itself explicitly does not present it as a proven fact. This overview therefore distinguishes the author’s argument and starting assumption from a guarantee that a particular deployment will resist every adversary. [4]

We read the complete About this book introduction and the complete source chapters Trustlessness and Adversarial thinking in the official repository, including their conclusions and embedded quotations. We viewed all four illustrations in those two chapters. We did not read all other chapters or all linked articles, and did not watch the linked talks. We performed no reproducible build, operational test or security audit. [2] [3] [4]

For the clearest picture, read this entry together with Bitcoin Core, Consensus Rules, Soft Fork, Full Node.

01Does the book replace a protocol specification or a practical programming course?

It focuses on the reasons, trade-offs and assumptions behind development. It assumes basic technical knowledge and points to further material. This overview does not validate it as a complete specification or as a practical course whose exercises we completed.

02Does Trustlessness mean I no longer have to trust anything?

The chapter we read does not present it that way. It distinguishes verifying rules with your own node from trust in software and hardware and the risk of a chain rewrite. What matters is knowing what a particular check actually guarantees and what remains an assumption.

DOC · 001Bitcoin Development Philosophy — public bookPrimary DOC · 002Bitcoin Development Philosophy — About this bookPrimary DOC · 003Bitcoin Development Philosophy — TrustlessnessPrimary DOC · 004Bitcoin Development Philosophy — Adversarial thinkingPrimary
Revised: Source-first · No investment advice