Privacy | Trust | Security | Ease of Use | |
---|---|---|---|---|
Bitcoin Core | ☑ | ☑☑ | ☑☑☑☑☑ | |
Wasabi Wallet | ☑☑ | ☑☑☑ | ☑☑ | |
Hidden Wallet (not in production) | ☑☑ | ☑ | ☑☑☑☑ | ☑ |
CoinBase | ☑❌ | ❌ | ☑❌ | ☑☑☑ |
Blockchain.info | ☑ | ☑☑☑ | ||
Blockchain.info + SharedCoin (not in production) | ☑ | ☑ | ☑☑☑ | |
Electrum (Desktop) | ☑ | ☑☑☑☑ | ☑☑ | |
Electrum (Desktop) + Bitcoin Core with Electrum Server | ☑ | ☑☑ | ☑☑☑☑☑ | |
Electrum (Desktop) + Bitcoin Core (through Electrum Personal Server) | ☑ | ☑☑ | ☑☑☑☑☑ | |
Trezor | ☑☑☑ | ☑☑ | ||
Trezor + Electrum (Desktop) | ☑ | ☑☑☑☑ | ☑☑ | |
Trezor + Electrum (Desktop) + Bitcoin Core with Electrum Server | ☑ | ☑☑ | ☑☑☑☑☑ | |
Trezor + Electrum (Desktop) + Bitcoin Core (through Electrum Personal Server) | ☑ | ☑☑ | ☑☑☑☑☑ | |
Mycelium | ☑☑ | ☑☑☑ | ||
Mycelium + ShufflePuff (not in production) | ☑ | ☑☑ | ☑☑☑ | |
BitSense | ☑☑ | ☑☑☑ | ||
Fully Noded + Bitcoin Core | ☑ | ☑☑ | ☑☑☑☑☑ | |
JoinMarket with blockr.io API (not in production) | ☑ | ☑☑☑ | ☑☑ | |
JoinMarket + Bitcoin Core | ☑☑ | ☑☑ | ☑☑☑☑☑ | |
Dark Wallet | ☑ | ☑ | ☑☑ | |
Bitcoin Knots | ☑ | ☑☑ | ☑☑☑☑☑ | |
Stratis: Breeze Wallet | ☑☑ | ☑ | ☑☑☑☑ | ☑ |
Armory | ☑ | ☑☑ | ☑☑☑☑☑ | |
Bread Wallet | ☑ | ☑☑☑☑ | ☑☑ | |
Paper Wallet (generated offline, spent by imported into a full node) | ☑ | ☑☑ | ☑☑☑☑☑☑ |
If any decision I made here is not clear or you find debatable, please open an issue.
This writeup is intended to be an improvement on Jonas Schnelli's Bitcoin wallet triangle, presented at the Building on Bitcoin 2018 conference.
Jonas rated the wallets in three main categories: privacy, trust and security. I expand on these with sub categories, define requirements and I add a new, ease of use category to this.
Beware that, the properties of privacy, trust and security are similar in a sense that, they fail where they are the weakest. This notion limits the reliability of this rating system.
Can the wallet sufficiently withstand blockchain analysis? (☑/ )
- Does the wallet get to know the current state of the blockchain without leaking relevant information to third parties? (☑/ )
- Is the wallet open source? (❌/ )
- Full Nodes (☑☑) / SPV nodes (☑) / Centrally Validating Nodes ( )
- Is the wallet open source? (❌/ )
Hiding (☑/ ) could be another subcategory of Privacy, however it is less relevant from a privacy point of view and more relevant from a security point of view. The criteria for Hiding is, if the wallet runs on a general purpose environment or not. Currently all wallets are such wallets, except hardware wallets.
This subcategory is the same as the Trust main category. This is necessary to include into the Security, because getting tricked by third parties is a direct security risk. Thus we duplicate it, so to denote the interconnectedness of the properties. (☑☑ / ☑ / )
Is spending from the wallet happens in a...
- cold environment (☑☑☑)
- desktop (☑☑)
- mobile (☑)
- browser ( )
- private keys are not controlled by the user (❌)
- Using the wallet is instant and doesn't require initial sync or setup. (☑☑☑)
- Using the wallet is instant, but a bit of initial sync is required or setup. (☑☑)
- Using the wallet requires sync every time when opening it and a bit of initial sync or setup required (☑)
- Using the wallet requires sync every time when opening it and a considerable amount of initial sync or setup is required ( )