Wednesday, March 11, 2015

Comparison of Multi-Signature Wallets

Wallet name Platform Full-node N of M Multiple wallets Cold storage Wallet encryption License Other Interesting
Armory Windows / Linux / Mac full node 1-7 of 1-7 yes yes yes AGPL Very feature-rich. Officially still in beta. **
Electrum 2.0 Windows / Linux / Mac thin client 2 of 2-3, also w/ 2FA yes yes yes GPL Feature-rich, 2 factor authentication support **
GreenAddress Web / Mobile / Chrome - 2 of 2 (2FA), 2 of 3 (2FA w/ backup key) yes - yes? private keys not stored on server LGPL All transactions require 2 factor authentication confirmation from the service, implemented with multisig (improved security). Support for nLockTime (releasing funds without requiring confirmation from the service after a set time has passed) **
Bitcore Wallet Suite Linux / Mac? / Win? (written in node.js) full node ? m-of-n yes yes yes MIT Full suite for building client-server (REST API) multisignature, HD bitcoin wallets, contains a command-line client by default. Only recently published *
mSIGNA Windows / Linux / Mac full node (connects to bitcoin core) 1-8 of 1-8 yes yes yes MIT/AGPL *
Copay Web / Mobile / Chrome - 1-4 of 1-6 yes - yes MIT Still in beta, profiles (private keys) can be saved in the cloud or on the device used to create them, made by bitpay * Browser (Fully client side) - 1-15 of 1-15 yes yes, with labor yes MIT runs in browser but fully client side, so can be downloaded and ran locally
Bitcoin Core (the official client) Windows / Linux / Mac full node m-of-n, command-line only in principle command-line only yes MIT The official Bitcoin client. Very well tested but not so feature-rich
CoinKite Web - 1-15 of 1-15 yes (depending on paid plan) - yes proprietary Other nice features, such as a "debit card"
Ninki wallet (1.1+) Chrome - 2 of 3 ? ? ? ? (source in github repo, no LICENSE file) Still in early development, 1.1 unreleased, 2 factor authentication support
Dark wallet (ALPHA!) Chrome - 1-15 of 1-15 ? yes ? ? AGPL In early development, not recommended for use!
Bitcoin Authenticator Windows / Linux / Mac ? only 2FA yes? ? ? ? Still in alpha
Trezor Hardware - ? - - - ?
BitGo Web - m-of-n ? yes - yes? ?

Hover on table to enlarge

The above table shows a comparison of multi-signature (multisig) Bitcoin wallets. Information from the wallets was obtained by testing (all wallets except Bitcore Wallet Suite, Bitcoin Authenticator, BitGo and Trezor were tested at least superficially) and by surveying the web sites of the wallets. Cells marked with dashes were not applicable (e.g. full node for a web wallet) and cells with question marks contain data that was either unclear or not found. Should you notice any errors or know about multi-signature wallets not in the table, please leave a comment and we will take them into account!

For a quick recap, a multi-signature Bitcoin address differs from a “traditional” addresses in that transactions from the address require signatures from multiple different private keys. For an example a 2-of-3 multisig address has 3 associated private keys, 2 of which must be used to sign each transaction from the address (in general, the notation m-of-n means m signatures required from n associated private keys). Uses for multi-signature addresses include enhanced security (some addresses can be kept in cold storage or secured with two-factor authentication), supporting wallets with multiple owners (think 1-of-2 for a couple’s spending account; or 2-of-3 for a child’s savings account where confirmation from either parent and a child, or from both parents is required for each spending), and use in escrow services (2-of-3 with two parties and a mediator).

A person looking for a multi-signature wallet has several options, based on their needs. Common questions one should ask from themselves when selecting a wallet include the following:

  • What platform does the wallet need to run on? In practice, this usually translates to “Do I prefer a web-based or software-based wallet?”
  • If going for a software-based wallet, do I prefer a full-validation (full node) or a thin client wallet? Full node wallets require download the whole Block chain, resulting in a larger start up time and space requirements, but offer more control and an additional layer of security in return.
  • In what way am I going to use the multi-signature features of Bitcoin? Many wallets offer only a limited range for m and n (in m-of-n). Some wallets also have built-in two-factor authentication support, implemented using multisig.
  • What other features do I have in mind? Common requirements include wallet encryption (supported by virtually every software out there) and cold storage support (maintaining a wallet on a machine that’s not connected to internet to store Bitcoins and sign transactions, using another machine to broadcast them and to view transaction history)

Wallets that offer the best of a various combination of requirements are marked with stars in the “interesting” column of the table. These include:

  • Software wallet / Large m-of-n: Armory or mSIGNA (also maybe Bitcore Wallet Suite)
  • Software wallet / Thin client: Electrum (see this post for an introduction to Electrum)
  • Web wallet / Insane privacy features: GreenAddress
  • Web wallet / Large m-of-n: Copay
  • Cold storage support: Armory, Electrum or mSIGNA
  • Building my own wallet: Bitcore Wallet Suite

Feel free to post your own experiences and recommendations in the comment section of this post!