What exactly are a Bitcoin wallets? Bitcoin ownership is established through digital keys and digital signatures. These keys are generated locally on Bitcoin end-users, computers using special software called Bitcoin client. They can be stored in a file, in a database, or just printed on a piece of paper, but most commonly they are stored in a Bitcoin wallet.
They keys within each user’s wallet allow the user to sign transactions, thereby providing cryptographic proof of the ownership of the bitcoins sourced by the transaction.
Keep in mind that if you don’t know who generates your private keys, where they are stored, or if someone else has them (as when using a cryptocurrency exchange), they are not actually yours.
Choosing your Bitcoin Wallet
We will explore various types of wallets/clients (web, desktop, mobile, hardware, paper). Choose a wallet which better suits your needs. Selection of a wallet/client type depends on your amount of funds committed, IT proficiency, type of mobile device, desired frequency of transactions and willingness to give up security responsibilities to third parties as.
Before we continue though, we should distinguish the terms Bitcoin “wallet” and “client” as we have been using them interchangeably since this is what most people do.
- A wallet is a collection of data (e.g. the Bitcoin user’s private/public key-pair and his address) enabling a user to receive and send bitcoins, in the form of spendable outputs.
- A client is the software that connects a user to the Bitcoin network. It handles all the communication, updates the wallet with incoming funds and uses information from the wallet to sign outgoing transactions.
Bitcoin Wallet / Client Types
A Full client, or “fullnode” is a client that stores the entire history of Bitcoin transactions, manages the user’s wallets and can initiate transactions directly on the Bitcoin network. This is similar to a standalone email server, in that it handles all aspects of the protocol without relying on any other servers or third-party services. In full clients, the private keys are never communicated and are stored locally.
A Lightweight client stores the user’s wallet but relies on third-party owned servers for access to the Bitcoin transactions and network. The lightweight client does not store a full copy of all transactions and therefore must trust the third-party servers for transaction validation. This is similar to a standalone email client that connects to a mail server for access to a mailbox, in that it relies on a third party for interactions with the network. Lightweight clients store private keys locally, just like full clients.
A Web client is accessed through a web browser and stores the user’s wallet on a server owned by a third-party. This is similar to web mail, in that it relies entirely on a third-party server. Some web clients are just an interface with the service’s servers (e.g. Coinbase) where the private keys are stored, and others (e.g. Blockchain.info, greenaddress.io ) also store the users’ private keys encrypted, but only the user can decrypt them locally on his computer.
A Mobile client, usually used on smartphones, can either operate as a full client, a lightweight client, or a web client. Some mobile clients are synchronized with a web or desktop client, providing a multi-platform wallet across multiple devices, with a common source of funds. Most of the above wallets have also mobile clients such as Electrum and Coinbase. Other recommended mobile wallets are Bread wallet and BitPay, and usually behave like lightweight client or a web client.
Other Ways of Storage
There are more ways to store out bitcoins safely called Cold Storage like Hardware wallets and Paper wallets. Hardware wallet acts like a safe lock box. Examples of Hardware wallets are Trezor and Ledger Nano S.
Paper wallet is a mechanism for storing bitcoins offline as a physical document or object that can be secured. Paper wallets are generally created by printing a brand new public address and private key onto paper, and then sending bitcoins from a “live” wallet to the printed wallet’s public address for safekeeping. Example of paper wallet is Mycelium.