Bitcoin reference implementation

Filed under: Uncategorized — Jacob Welsh @ 05:14

Here at JWRD we maintain the most practical yet conservative known Bitcoin node implementation, derived from release 0.5.3 of March 2012 through a series of readable, purposeful and cryptographically signed patches contributed by known entities. It resolves known bugs in the old code and improves usability while staying faithful to the original design: an honest node in the words of Satoshi Nakamoto's white paper. Dependency sprawl is kept in check, with no trendy/buggy new database systems piled onto the original Berkeley DB. The various censorship attacks known as soft forks, promoted by the enemies of Bitcoin and enforced thus far by the mining cartel (archived), are absent.(i)

In addition, we wrote and maintain Gales Bitcoin Wallet, which decomposes the sensitive private key generation and signing operations from the inherently network-exposed node, enabling true air-gapped operation and full control over transaction construction. It works either in concert with our node, or fully standalone based on data collected from some other source, by hand if need be. Its implementation makes a radical departure from the C++/Wintel/Object-Oriented code soup that the node implementation remains stuck with: the whole stack is written from scratch and runs on a fully-owned implementation of Scheme, a neat, tidy and type-safe classical programming language in the Lisp family.

Our present publishing paradigm is to issue a detailed article discussing each proposed patch or series; so far these can all be found here on Fixpoint under the Bitcoin category. Then, when appropriate, we roll them up into a new version of a downloader script known as fetch-bitcoind which constitutes the formal release. See The simplest way yet to fetch Bitcoin code for its introduction, system requirements and usage instructions, then return here to find the latest recommended version.

Source code can be browsed online and linked, at the state produced by any given patch, using the Codeview tool as introduced here.

Latest release (signature), published 2023-04-25.

History (signature), published 2023-03-23. (signature), published 2022-05-21. (signature), published 2022-05-05. (signature), published 2022-02-04.

  1. Specifically, BIP 16 aka Pay to Script Hash aka 3-addresses from 0.6.0 as well as all newer forks are out, except BIP 30 which was in by way of a backport in 0.5.3. [^]

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by MP-WP. Copyright Jacob Welsh.