A ruby implementation of Greg Maxwell's Merkle approach to prove Bitcoin liabilities.
Ruby

README.markdown

Liability Proof

Build Status

If you're not familiar with liability proof or the Merkle approach, check this page: Proving Your Bitcoin Reserves. Basically, every mordern exchanges should prove they really hold the bitcoins/money they claim to.

Requirements

  • ruby 2.0.0 or higher (if you want to run 'rake test' in this gem you'll need ruby 2.1.0 or higher)
  • openssl

Install

gem install liability-proof

Usage

As command line tool:

# Generate root.json and partial tree json for each account in accounts.json.
# The generated file format conforms with the standard in progress:
# https://github.com/olalonde/blind-liability-proof#serialized-data-formats-work-in-progress--draft
lproof generate -f accounts.json

# Verify specified partial tree is valid, i.e. the root node calculated from
# from the partial tree matches the root node in root.json
lproof verify -r root.json -f partial_trees/jan.json

# Pretty print a partial tree or any other json file
lproof pp -f partial_trees/jan.json

As library: check LiabilityProof::Generator and LiabilityProof::Verifier for example.

License

LiabilityProof is a ruby gem released under MIT license. See http://peatio.mit-license.org for more information.

How To Contribute

Just create an issue or open a pull request :)

Other implementations