bsproof

0.0.1 • Public • Published

Blind Solvency Proof scheme

This is a scheme that describes how Bitcoin shared wallet operators can prove they are solvent in a way that protects the privacy of its users. Inspired from gmaxwell's "prove-how-(non)-fractional-your-Bitcoin-reserves-are scheme".

Beer fund: 1ECyyu39RtDNAuk3HRCRWwD4syBF2ZGzdx

extension screenshot

Liabilites proof

The liabilities proof is done using the scheme described at olalonde/blind-liability-proof.

Embedded:

<meta name="x-liabilities-proof" data="/account/btc-partial-tree.json">

/acccount/btc-partial-tree.json (different for each user)

{
  "id": "MtGox.com BTC liabilities",
  "partial_tree": { ... }
}

Assets proof

The assets proof is done using the scheme described at olalonde/bitcoin-asset-proof.

Embedded:

<meta name='x-assets-proof' data='/btc-assets.json'>

/btc-assets.json

{
  "id": "MtGox.com BTC assets",
  "signatures": [
    { "address": "", "signature": "" }
  ],
  "type": "BTC" (optional - defaults to bitcoin)
}

Solvency proof

Solvency Verifier Chrome Extension

The proof that a site is solvent can be done by adding up all amounts controlled by addresses listed in the assets proof and deducting this amount from the root value in the liabilities proof.

function is_solvent() { return (assets >= liabilities) }

Assets and liabilities proof should be paired together using the id key. An asset proof must have the same id as its matching liabilities proof. This allows a shared wallet who handles multiple currencies to have multiple solvency proofs.

Sites that implement this scheme

Send a pull request if you would like your site listed here.

Dependencies (3)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i bsproof

    Weekly Downloads

    1

    Version

    0.0.1

    License

    MIT

    Last publish

    Collaborators

    • olalonde