Skip to content

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

Notifications You must be signed in to change notification settings

olalonde/liability-proof

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages