Crypt::HashCash - HashCash Digital Cash
$Revision: 1.119 $ $Date: Sun Jun 11 21:21:31 PDT 2017 $
HashCash is a digital cash system based on blind signatures, as introduced by David Chaum in [1].
HashCash features a number of optimizations for usability and accessibility, including blind ECDSA signatures which make for more compact coins, and a simple protocol that enables the system to work in a permissionless manner, requiring no user accounts or registration.
The main components of HashCash are: one or more vaults, which issue and verify HashCash coins; the coins themselves; and wallets, which hold and manage coins owned by users.
HashCash coins represent a claim on a deposit at a vault. They are bearer tokens which can be passed directly from one user to another, and cannot be tracked by the vault.
HashCash coins can be backed by whatever a vault accepts for deposit - some possibilities being precious metals, fiat currencies, gift cards, etc. The distribution includes an implementation of a vault for Bitcoin, which issues HashCash coins backed by Bitcoin.
All messages between wallets and vaults are encrypted, so there's no need for a secure communications channel between them.
Usually you would just run the HashCash wallet after installing the distribution, with the command:
hashcash.pl
Then you can buy or sell HashCash, export coins from your wallet to give to others, or import coins received from others into your wallet. You can also exchange coins for lower denominations, and verify coins you've imported into the wallet.
HashCash coins can be sent to others over any communications channel - email, web, instant messaging, SMS, directly by scanning a QR code. They could even be printed on paper and used just like normal paper currency, though with a higher level of security and privacy.
You can easily automate the acceptance of HashCash payments on a website (or via email or any other communications channel) using the Business::HashCash module.
You could also run a HashCash vault, which is a potentially very profitable small business requiring a minimal amount of ongoing work. For more details on this visit the website: http://www.hashcash.com/.
Accepts a single parameter which is an amount to break into coins, and returns the denominations of the minimum number of coins that total up to this amount, as well as the total number of coins. The coin denominations are returned as a hash whose keys are the coin denominations and values are the number of coins of the corresponding denomination.
Accepts a single parameter which is the denomination of a coin to get change for, and returns the denominations of the change coins, as well as the total number of coins. The denominations are returned in a hash, as described above, followed by the total number of coins.
1. Blind Signatures For Untraceable Payments, David Chaum. http://www.hit.bme.hu/~buttyan/courses/BMEVIHIM219/2009/Chaum.BlindSigForPayment.1982.PDF
Ashish Gulhati, <crypt-hashcash at hash.neo.tc>
<crypt-hashcash at hash.neo.tc>
Please report any bugs or feature requests to bug-crypt-hashcash at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Crypt-HashCash. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
bug-crypt-hashcash at rt.cpan.org
You can find documentation for this module with the perldoc command.
perldoc Crypt::HashCash
You can also look for information at:
RT: CPAN's request tracker
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Crypt-HashCash
AnnoCPAN: Annotated CPAN documentation
http://annocpan.org/dist/Crypt-HashCash
CPAN Ratings
http://cpanratings.perl.org/d/Crypt-HashCash
Search CPAN
http://search.cpan.org/dist/Crypt-HashCash/
Copyright (c) 2001-2017 Ashish Gulhati.
This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License 2.0.
See http://www.perlfoundation.org/artistic_license_2_0 for the full license terms.
To install Crypt::HashCash, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Crypt::HashCash
CPAN shell
perl -MCPAN -e shell install Crypt::HashCash
For more information on module installation, please visit the detailed CPAN module installation guide.