Bitcoin Development Philosophy is a guide for new Bitcoin developers who already understand the basics of, for example, proof of work, block building, and the transaction life cycle, who want to level-up and gain a deeper understanding of Bitcoin’s design tradeoffs and philosophy. It should help new developers absorb the most important lessons of a decade of bitcoin development and discussion, and provide a context for evaluating new ideas (good ones and bad ones!).
Table of contents overview:
Your feedback and contributions are most welcome! Instructions for building and contributing can be found in [appendixbuild].
The project is sectioned into chapters of different topics. Each chapter will guide you through a number of links to articles or videos, that we recommend reading, and will briefly discuss each link. The material presented is written by individuals who have studied Bitcoin development for a long time.
The links refer to external resources on platforms we can’t
control. We have therefore saved the linked articles locally in this
repository, along with info on where it was copied from, and when. The
resources are collected in a separate
document (sources/sources.adoc
) organized by the chapter they are
linked from.
The links throughout the chapters refer to the original sources, but if you don’t have an internet connection, the links appear dead, or the content seems severely changed, you can read the content locally instead.
There are lots of people involved in Bitcoin; some have opposing opinions, there are resources that express contradictory ideas. However, we will attempt to stick to the facts, where opinions do not matter.
Bitcoin is a huge subject. We cannot cover all its aspects, but we hope that we’ve discussed enough of it to get you started, and that you’ll be able to explore further on your own.
The main authors are Kalle Rosenbaum and Linnéa Rosenbaum. This work is commissioned and funded by Chaincode Labs who runs education programs for developers to learn about Bitcoin development.