About btcphilosophy

This project is a guide for new bitcoin developers to learn about the digital currency’s fundamental properties and how seasoned Bitcoin developers think about them.

This guide should provide the reader with a solid, technical philosophical foundation from which to further explore this fascinating subject. After reading this collection of articles, you’ll:

  • have cruised over a decade of Bitcoin development history

  • be able to distinguish useful Bitcoin ideas from, well, less useful ideas

  • get accustomed to some great places for Bitcoin information

  • be humbled by the vast amount of wisdom available

  • be humbled by the breadth of this field

The content can be found at github.com/kallerosenbaum/btcphilosophy.

under construction
Warning
This repo is heavily under construction. If this sign is still here on 2022-06-01 (CEST), we have abandoned this project. Sorry.

Intended reader

This guide is intended for the developer who just started digging into Bitcoin development or has worked in the Bitcoin space in one form or the other.

The reader doesn’t have to know all the ins and outs of Bitcoin, but should understand how it operates on a high level. For example, the following should be clear to the reader beforehand:

  • What proof-of-work is

  • How blocks are interconnected

  • Lifecycle of transactions

How is this organized?

The project is sectioned into topics. Each topic will guide you through a number of links to articles or videos, that we recommend reading and 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.

What to expect

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 it’s 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.

Build

The book is written in Asciidoctor. To build this book, clone the GitHub repository:

$ git clone https://github.com/kallerosenbaum/btcphilosophy.git
$ cd btcphilosophy

and then build using asciidoctor:

$ asciidoctor -v btcphilosophy.adoc

The -v flag is recommended and instructs asciidoctor to be verbose, which means it will show invalid references and other issues. The above command will result in a file btcphilosophy.html in your current directory that you can view in any browser, for example:

$ brave-browser btcphilosophy.html

The source material is collected and maintained as a separate book under the sources folder. To build it:

$ asciidoctor -v sources/sources.adoc

This will result in a file sources/sources.html that you can open in a web browser in the same way as the main book.

Who wrote this?

The main authors are Kalle Rosenbaum and Linnéa Rosenbaum. This work is commissioned and funded by Chaincode Labs. Chaincode Labs runs internships for developers where the attendants learn about Bitcoin development.