Skip to main content

Proof of Reserves | Bitcoin Glossary | Mapping Bitcoin

Proof of Reserves

Seguridad

Also known as: PoR

A cryptographic audit technique that allows a Bitcoin custodian to prove they hold sufficient reserves to cover their liabilities without revealing the full details of their holdings. This is typically accomplished using signed messages from known addresses or Merkle tree-based attestations.

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.