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.

Readme

Keywords

Package Sidebar

Install

npm i bsproof

Weekly Downloads

3

Version

0.0.1

License

MIT

Last publish

Collaborators

  • olalonde