This unit is Part 4 of the Annotated Princeton Bitcoin Video Course.
Simple Local Storage (5 minutes)
It’s important to realize that bitcoin can’t be stored on a computer. Only private keys can be stored. The problem of how to manage bitcoin boils down to finding a method to store private keys.
Three considerations come into play for any key storage system:
- availability: ensuring that you can always spend your funds
- security: ensuring that others can’t ever spend your funds
- convenience: how difficult is it for you to spend your funds
Hot and Cold Storage (13 minutes)
Bitcoin presents users with a number of security options. At a high level, best practice is to separate funds into two pools: a spending pool and a savings pool. The spending pool, stored in a “hot” wallet, is readily available but relatively insecure because private keys are stored on a network-connected device. The spending pool, kept in “cold storage,” is highly secure, but inconvenient to use.
A variety of methods have been developed for offline key storage and transaction signing. In the time since this video was released hardware wallets, dedicated devices for key storage and offline transaction signing, have become very popular.
Splitting and Sharing Keys (11 minutes)
Storing a private key creates a single point of failure. If your key is lost or stolen, then you’ll lose access to your money. In these situations, a private key can be spread out with secret sharing.
The video discusses the math behind secret sharing at length, but I find a demonstration more compelling. For an online secret sharing demonstration, see The ssss demo page.
Online Wallets and Exchanges (19 minutes)
Bitcoin’s history is littered with online wallet and exchanges compromises, which caused catastrophic losses for users. Only consider storage of funds in online wallets and exchanges if you fully understand the risks.
For more information on Merkle trees as proof of reserve, see Proving Your Bitcoin Reserves.
Payment Services (8 minutes)
Payment services allow merchants to receive payment in its preferred form while allowing customers to make payments using a cryptocurrency such as bitcoin.
Merchants can accept payments directly, without an intermediary, in bitcoin using software packages such as BTCPay Server.
Transaction Fees (5 minutes)
Any difference between the combined value of inputs and the combined value of outputs is paid to miners as a fee. Unlike the banking system in which fees are levied as a percent of value transacted, Bitcoin fees are based on the amount of transaction data. For this reason, fees are usually expressed in units of satoshis/bytes.
A number of fee estimators are available. One of the best is estimatefee.com
Free, priority-based transactions are no longer supported by the Bitcoin network. Many users have reported success in obtaining confirmation while paying significantly lower fees than reported by popular fee estimators.
Currency Exchange Markets (16 minutes)
Next Up: Bitcoin Mining