Written on July 8, 2019

The incomplete history of Bitcoin development

To fully understand the current state Bitcoin protocol development, knowledge about historical events is essential. This blog post highlights selected historical events, software releases and bug fixes. The attached timeline provides extra detail for each event.

I wasn’t following the Bitcoin space when a majority of these events happened. A big part of the timeline is adopted from a talk John Newbery gave on the History and Philosophy of Bitcoin Development.

The title of this blog post is chosen to remind you that this post doesn’t include every event. History is in the eye of the beholder. History evolves. If you have a suggestion about something I missed or want to propose a change, please propose changes to the open source bitcoin-development-history project, which was used to generate the attached timeline.

With Satoshi

The timeline tells a story beginning sometime in early 2007. Satoshi Nakamoto starts working on Bitcoin. The peer-to-peer electronic cash system with no trusted third party. A system only controlled by the software which its users run.

Early on contributors join Satoshi working on Bitcoin. These new contributors add support for Linux and macOS and make many other contributions to the project. Over the summer of 2010 Satoshi authors a few critical software changes. For example, checkpoints are introduced as a safeguard against malicious peers broadcasting low difficulty chains. A node enforcing these checkpoint rejects chains which do not include specific block hash at a specific height. Checkpoints are hard-coded by Satoshi alone. In theory, allowing Satoshi to control which chain the whole network follows.

A few days after adding checkpoints Satoshi releases the first consensus change in version v0.3.3. Satoshi urges users to upgrade. Over the next month multiple minor versions get released. One of the fixes a critical overflow bug. This bug was exploited to create two high-value UTXOs. Satoshi advises miners to reorg the blocks containing these transactions.

A week later Satoshi introduces an alert system to inform node operators about problems in the network. The alert system includes a safe mode. The safe mode, once triggered, disables all money handling RPC methods in the entire network. Only Satoshi can create valid network alerts by signing them with a private key. Some users raise the question what could happen when a second party, for example, a government, gets access to this key.

At this point, Satoshi has a lot of power over the Bitcoin network. The main concern here isn’t that Satoshi could turn evil on the network and try to destroy it. The main concern is that there shouldn’t be a single point of failure in a decentralized system. Some might argue Satoshi stepping away from Bitcoin is one of his greatest contributions next to Bitcoin itself.

In December 2010 Satoshi openes his last thread on bitcointalk announcing the removal of the safe mode. Satoshi later writes in one of his last emails: »I’ve moved on to other things. It’s in good hands with Gavin and everyone.«

Without Satoshi

Around the same time the development process from SVN to GitHub, which leads to longtime contributors like TheBlueMatt, sipa, laanwj and gmaxwell joining the project. In mid 2011 the BIP process for Bitcoin Improvement Proposal is introduced. In the last quarter of 2011 and the first of 2012 the community discusses various proposals that allow the receiver of a transaction to specify the script needed to spend it. Out of them P2SH is implemented and merged.

In fall 2012 the Bitcoin Foundation is announced. The Bitcoin Foundation hopes to achieve for Bitcoin what the Linux Foundation does for Linux. Some people raise the fear of development centralization in the announcement thread.

Bitcoin version v0.8.0 is released in spring 2013. Two weeks after the release an unexpected hardfork splits the network in nodes that have and haven’t yet upgraded. The hardfork is resolved fairly quick. Different miners react by shifting their hashpower to the chain valid for both upgraded and not upgraded nodes.

In late 2013 the Bitcoin Software is rebranded to Bitcoin Core. In the following year companies such as Chaincode and Blockstream are founded. Later the MIT Digital Currency Initiative joins Chaincode and Blockstream by paying developers and researchers to work on Bitcoin.

In February 2015 Poon and Dryja release the first draft of the Lightning Whitepaper. The next year Dashjr revises the BIP process with BIP 2 and the Bitcoin Core release v0.13.0 includes SegWit as a softfork. At the beginning of November 2016 the alert system is retired and in August 2017 SegWit gets activated.

The year 2019 brings a new company, Square Crypto, sponsoring Bitcoin development and a the taproot proposal by Wuille.


Timeline

The timeline is based on my open source project bitcoin-development-history.