x

Linux distribution packaging and Bitcoin

by

         Linux distribution packaging and Bitcoin

This note summarises the dangers inherent in the Linux distribution packaging model for Bitcoin, and forms a request from upstream maintainers to not distribute Bitcoin node software as part of distribution package repositories without understanding the special requirements of Bitcoin.

Distributors typically unbundle internal libraries and apply other patches for a variety of generally good reasons, including ensuring that security-critical fixes can be applied once, rather than multiple times for many different packages. In most cases, the common distribution packaging policy has many advantages.

However, Bitcoin nodes are an unusual category of software: they implement a complex group consensus in which every client verifies the behaviour of every other exactly. Even an exceptionally subtle change – including apparently harmless bugfixes – can cause a failure to reach consensus. A consensus failure of one client is a security risk to the user of that client. A significant number of nodes failing to reach consensus – as happened in March 2013 due to a change in database libraries1– is a critical problem that threatens the functionality and security of the system for all users.

For this reason, it is vital that as much of the network as possible uses unmodified implementations that have been carefully audited and tested, including dependencies. For instance, if the included copy of LevelDB in bitcoind is replaced by a system-wide shared library, any change to that shared library requires auditing and testing, a requirement generally not met by standard distributor packaging practices.

Because distributed global consensus is a new area of computer science research, the undersigned request that distributors refrain from packaging Bitcoin node software (including bitcoind and Bitcoin-Qt) and direct users to the upstream-provided binaries instead until they understand the unique testing procedures and other requirements to achieve consensus. Beyond being globally consistent, upstream binaries are produced using a reproducible build system2, ensuring that they can be audited for backdoors.

Signed,

  • Gavin Andresen
  • Jeff Garzik
  • Gregory Maxwell
  • Luke Dashjr
  • Peter Todd
  • Mark Friedenbach
  1. https://en.bitcoin.it/wiki/BIP_0050
  2. http://gitian.org/

Recommended

Bitcoin Price Analysis: Could Three Times Be the Charm for This Resistance Level?

Bitcoin remains in its tightly coiled range as the market continues its sideways trend for the third week in a row.

Bitcoin Schmitcoin

Op Ed: Defining Decentralization: How Ambiguity Continues to Divide Crypto

In the pursuit of mass adoption, decentralization shouldn’t be our goal, but instead a means to achieve the many different, and equally important, goals that exist for cryptocurrency users.

Paul Puey

Op Ed: Why It’s Unsafe to Store Private Crypto Keys in the Cloud

Unless cybersecurity becomes part of the fabric of blockchain and crypto with stakeholders taking it more seriously, it will take much longer for this amazing technology and currency to get the mass adoption that it deserves.

Paul Walsh

Op Ed: How Bitcoin’s Protocol of Peace Can End the Nuclear Age

Bitcoin offers an alternative to a universal security system backed by men with guns. It creates a new model of security based on cryptographic proof that can resist unlimited applications of violence, making a bulletproof network.

Nozomi Hayase