Polish comes from the cities; wisdom from the desert. -Frank Herbert, Dune

Lost keys have caused the permanent destruction of millions of bitcoins. Multisignature solves this problem by creating redundancy among keys, making losing a single key less problematic. At Unchained Capital, we believe multisignature should be standardized, free, and easy to use. Today, we are releasing Caravan, an open source tool that will help accelerate multisig adoption and contribute to the development of multisig standards.

Bitcoin empowers you to control your own money by managing your own keys. Our clients value the additional security Collaborative Custody provides, but want to ensure they retain full control in the event that they cannot access our platform. We developed Caravan because we were unhappy with the open-source multisig tools available to our clients (and the rest of the bitcoin community). Caravan provides a critical backup channel to recover multisignature funds completely external to Unchained.

Caravan is a stateless, open-source, and flexible multisig coordinator that integrates with your hardware or software keys and your bitcoin node or a block explorer. Caravan makes it easy to build and spend from multisig addresses right in your web browser. Check out the source code and try it out right now.

Unlike existing general-purpose bitcoin wallets, Caravan is dedicated to multisig. This focus allows Caravan to have a smaller code footprint, which increases security. It also makes Caravan the easiest way to build and spend from multisig addresses. Caravan’s flexibility makes it the perfect tool for recovering multisignature funds from any other wallet, such as Electrum, or from a multisig provider, such as Unchained Capital.

We want Caravan to be useful to all bitcoiners seeking better security, including those that prefer to not work with a third party. We also hope to stimulate dialogue between users, developers, wallet authors, and manufacturers on multisig standards and best practices.

Breaking Down the Caravan

Deconstructing Wallets

The word “wallet” has imprecise and inconsistent usage in the world of bitcoin. “Wallet” is used to describe software or hardware which does some or all of the following:

Consensus — Sync data with the rest of the network about blocks already mined as well as the current UTXO set and mempool.

Coordinator — Calculates and displays balances, authors transactions, produces signature requests.

Keystore — Holds private key data, exports public keys, signs transactions.

Some wallets do all of these. The Bitcoin Core software itself, as the first wallet to ever exist, did (and still does) all three activities. Other wallets, such as Electrum, maintain their own consensus through a network of Electrum servers, coordinate transactions and balances, and can even store software keys.

A mobile wallet, such as Samourai, is both a coordinator and a keystore. The Samourai app holds private keys on your mobile device and coordinates your transactions and balance. Consensus is outsourced to the Bitcoin Core software, either by connecting to your own full node or to one of Samourai’s.

Some companies offer products that create a wallet when combined. The Trezor hardware wallet, for example, is a dedicated hardware keystore, which greatly increases security. In order to work, the hardware wallet must interact with the Trezor web wallet, which is the coordinator. SatoshiLabs’ own servers provide the consensus through running the Bitcoin Core software.

Unchained Capital works very similarly. Our application serves as the coordinator, and our company runs Bitcoin Core nodes to provide consensus. Unchained Capital is compatible with multiple keystores, most notably Trezor and Ledger hardware wallets.

Caravan is an open-source version of Unchained Capital’s existing private application. It is a dedicated multisig coordinator. You must provide consensus, either through your own Bitcoin Core node or by trusting blockstream.info (a convenient default). You must also provide your own keys. Caravan is stateless, meaning it doesn’t permanently store any of the information it generates, so you also must download and secure address information manually once you have completed the address creation workflow.

Caravan also contains two standalone, open-source JavaScript libraries, unchained-bitcoin and unchained-wallets, which developers may want to leverage when writing their own applications. Caravan and its libraries follow multisig standards (such as BIP67 for key ordering) and best practices (such as native-segwit addresses), so they’re a great proving ground for new and existing multisig wallets.

Where is the Caravan headed?

Over time, we will add more features and abilities to Caravan to make it even more useful to our clients and the entire bitcoin community. Here’s what we have planned:

Support more keys

Caravan currently supports both Trezor and Ledger hardware wallets. It also supports Hermit, an open-source, command-line wallet we recently released. Caravan accepts public keys and signatures as text, so it can be used manually with almost any wallet or key.

We are eager to add support for other wallets and key devices to Caravan. Doing so is straightforward — implement the appropriate subclasses in the unchained-wallets library — and we encourage other wallet manufacturers who want to be compatible with Caravan to complete this first step.

From single-address to wallet

Today, Caravan works with a single multisig address at a time, making it optimal for recovery and long-term storage. In a future release, Caravan will support multiple deposit and change addresses in a unified wallet interface. This will make Caravan even easier to use for bitcoiners who trade or move their assets more frequently.

Desktop & mobile

Today, Caravan is a React application meant to run inside a browser. This was the easiest way to release Caravan across as many platforms as possible. In the future, we may choose to release Caravan as a native application on the desktop (Windows, Mac, Linux) and on mobile devices (iOS & Android).

We value cooperating with others to develop open source standards, as we have on SLIP-0039 with Blockchain Commons, Satoshi Labs and HTC, and we’d like to thank Michael Goldstein for working on early iterations of Caravan for us. The Blockchain Commons team has expressed interest in contributing to Caravan in the future, and we encourage all interested individuals or teams to participate.

This is Caravan’s initial release. It is an easy-to-use, open-source, standards compliant, flexible multisig coordinator. Hopefully you find Caravan to be the easiest open-source tool to try multisig on your own.

We hope that Caravan contributes to the discussion around multisignature wallet standards, and we will continue to share what we learn on future iterations. If you’re an Unchained Capital client or prospective client, please reach out for a demo today.