Overview
Proof of Reserves (PoR) is a cryptographic method that enables Bitcoin exchanges, custodians, and other entities holding funds on behalf of users to demonstrate that they actually possess the bitcoin they claim to hold. After the collapse of several major exchanges that turned out to be insolvent, Proof of Reserves has become an increasingly important transparency tool in the Bitcoin ecosystem.
How Proof of Reserves Works
A complete Proof of Reserves consists of two components: proving assets (how much bitcoin the custodian holds) and proving liabilities (how much bitcoin the custodian owes to users).
Proof of Reserves:
1. PROOF OF ASSETS 2. PROOF OF LIABILITIES
┌──────────────────────┐ ┌──────────────────────┐
│ Custodian signs a │ │ Custodian builds a │
│ message with the │ │ Merkle tree of all │
│ private keys of │ │ user balances │
│ their known │ │ │
│ addresses │ │ Root Hash │
│ │ │ / \ │
│ "We control these │ │ H(AB) H(CD) │
│ addresses as of │ │ / \ / \ │
│ block height X" │ │ A B C D │
│ │ │ (user balances) │
│ Total: 10,000 BTC │ │ Total: 9,500 BTC │
└──────────────────────┘ └──────────────────────┘
Assets (10,000) >= Liabilities (9,500) = SOLVENT
Individual Verification
Users can verify their own inclusion in the liability tree without seeing other users' data. The custodian provides each user with a Merkle proof — a path from their leaf node to the root — allowing them to confirm that their balance was included in the total liability figure.
Limitations
- Point-in-time snapshot — PoR only proves solvency at a specific moment. A custodian could borrow bitcoin for the attestation and return it afterward.
- Hidden liabilities — The custodian could omit some user accounts from the Merkle tree, understating total liabilities.
- No proof of unencumbered ownership — The bitcoin might exist but be pledged as collateral or subject to legal claims not reflected in the attestation.
- Off-chain liabilities — Debts to vendors, employees, or other obligations are not captured.
Best Practices
More robust implementations combine PoR with regular, third-party audits, real-time dashboards showing on-chain address balances, and allow users to independently verify their inclusion. Some proposals advocate for continuous proof systems rather than periodic snapshots.
Why Self-Custody Avoids This Problem
Proof of Reserves exists because custodial services introduce counterparty risk. Users who hold their own keys in a personal wallet do not need to trust any third party's solvency — the bitcoin is verifiably theirs on the blockchain at all times.