Re: Fwd: Introduction, plus: Open Transactions -- digital cash library

2010-07-29 Thread Ian G

Hi Bob,

On 28/07/10 9:08 PM, R.A. Hettinga wrote:

Anyone out there with a coding.clue wanna poke inside this thing and see if 
it's an actual bearer certificate -- and not yet another book-entry --  
transaction system?


Sorry to get your hopes up ... Just reading the words below not the 
code:  it is basically modelled on the SOX/Ricardo concepts, AFAICS.


As you know, the SOX concept used (PGP) keys to make an account with the 
server/issuer Ivan, or a long term persistent relationship, call them 
Alice and Bob.  DigiCash also had something like this too, it's 
essential for application robustness.


The simplest payments metaphor then is a signed instruction to transfer 
from Alice to Bob, which Ivan follows by issuing a signed receipt.  What 
you'd call double entry, but in Ricardo is distinct enough to deserve 
the monika triple-entry (not triple-signed, that is something different, 
another possible innovation).


Then, the blinding formula/transaction is simply a replacement for the 
standard payments tranaction above:  Alice withdraws a coin from Ivan, 
sends it to Bob, who deposits it with Ivan.


(Ricardo had Wagner too from around 2001, and like this author, had a 
path to add Chaum, with future extension to Brands.  The code for Chaum 
was mostly written, but wasn't factored correctly...)


Another possible clue:  the author has obviously taken on board the 
lessons of the Ricardian Contract form, and put that in there (albeit in 
XML).  I find that very encouraging, even the guys from DigiCash never 
understood that one!  So I'm guessing that they have studied their stuff.


BTW, FTR, I do not know who this is.


Cheers,
RAH
Who sees lucre down there in the mousetype and takes heart...



Lucre was 1-2k lines.  Ones heart beats blood into thin air until there 
is another 1-2 orders of body parts built on...  This is looking much 
more like that 1-2 orders of magnitude down the track.




iang

-
The Cryptography Mailing List
Unsubscribe by sending unsubscribe cryptography to majord...@metzdowd.com


Fwd: Introduction, plus: Open Transactions -- digital cash library

2010-07-28 Thread R.A. Hettinga
Anyone out there with a coding.clue wanna poke inside this thing and see if 
it's an actual bearer certificate -- and not yet another book-entry --  
transaction system?

Thanks.

Cheers,
RAH
Who sees lucre down there in the mousetype and takes heart...

Begin forwarded message:

 From: Fellow Traveler f3llowtrave...@gmail.com
 Date: July 28, 2010 1:52:28 AM AST
 To: agile-banking agile-bank...@googlegroups.com
 Subject: Introduction, plus: Open Transactions -- digital cash library
 
 Hello, I am Fellow Traveler, and I just found this group.  I have
 written a digital cash library and transaction processor (server and
 test client) and just released it open source.  You can read more
 about my project here:
 
 Articles:
 http://github.com/FellowTraveler/Open-Transactions/wiki
 
 Source code:
 http://github.com/FellowTraveler/Open-Transactions
 
 I am hoping that my work can contribute in some way to your own, and
 also that anyone who is working on client software would check out
 what I have built and possibly integrate with it. It would be easy to
 include my library into your client, and simply copy whatever code you
 need from my test wallet.
 
 Thank you for your efforts to fix our broken monetary system. I hope
 that my contribution is useful to everyone.
 
 -Fellow Traveler
 
 
 
 
 WHAT IS Open Transactions ?
 
 -- It's a solid, easy-to-use, CRYPTO and DIGITAL CASH LIBRARY.
 -- Including a FULLY OPERATIONAL client and server (command line for
 now--that's where you come in)...
 -- It's OPEN SOURCE, and encapsulates a COMPLETE PROTOCOL FOR
 TRANSACTIONS.
 -- It's object-oriented, and written in C++ on Mac/UNIX using OpenSSL.
 -- Including:
 SECURE NUMBERED ACCOUNTS
 UNTRACEABLE DIGITAL CASH
 TRIPLE-SIGNED RECEIPTS
 BASKET CURRENCIES
 SIGNED XML CONTRACTS, and more...
 
 
 IN DETAIL, THE SOFTWARE FEATURES:
 
 -- ANONYMOUS, NUMBERED ACCOUNTS, secured by public key cryptography.
 Your PGP key is your key, and the hash of it is
 your User ID. Each user can create an unlimited number of asset
 accounts, of any type, each with its own
 randomly-generated ID. No other information is stored. As long as you
 connect over Tor and take other similar
 precautions, there's no way to connect any of those accounts to you.
 You can also create as many User IDs as you wish,
 with your wallet software managing all your Pseudonyms and Asset
 Accounts across multiple transaction servers and
 multiple asset types.
 
 -- UNTRACEABLE DIGITAL CASH: Fully implemented! Cash withdrawals of
 any asset type, using Lucre. (Ben Laurie's
 implementation of Wagner's variant on Chaumian blinding.) Once cash is
 withdrawn, the server has no way of tracking it
 or linking it back to its next deposit. I've got Lucre wrapped up in C+
 + classes and XML contracts and all the rest of
 the protocol, and it's fully functional with denominations and
 everything.
 
 -- PGP FOR MONEY. The idea is to build this so that it supports many
 cash algorithms, not just Lucre. I'd like to add
 Chaum's version, Brands' version, etc. So that, just like PGP, the
 software should support as many of the top algorithms
 as possible, and make it easy to swap them out when necessary.
 
 -- TRIPLE-SIGNED RECEIPTS for account-to-account transfers. This
 allows the client and server to agree on balances while
 simultaneously not storing any transaction history. (Client may choose
 to store his own transaction history.) No money
 can ever be transferred or withdrawn without an authorizing signature
 from the account owner. See Trubanc for an example
 of this, as well as, I presume, Ricardo by Systemics.
 
 -- EVERYONE A POTENTIAL ISSUER. Any user can design and issue his own
 currency: Simply upload the currency contract to
 any server. Anyone else with a copy of that contract can open an asset
 account denominated in the new currency type. The
 currency contract is simply an XML file with your digital signature on
 it, and the new currency ID is a hash of that
 same contract. The currency ID is unique to each contract and
 consistent across all servers. It's impossible to change
 any details of the contract, including the URL, the signature, or the
 public key, without entirely changing the
 contract's ID.
 
 -- BASKET CURRENCIES. My new server software allows you to distribute
 the risk of a single currency across MULTIPLE
 ISSUERS. How is this possible? Users can define basket currencies,
 which the server treats the same as any other
 currency, but which, behind the scenes, are each simply a list of 5,
 10, or 100 OTHER currency contracts. The issuance
 is simply delegated to a basket of other currencies. Users can easily
 exchange in and out of these basket currencies
 using their wallet software. (Or define their own baskets.) This means
 that the currency which ends up in general use
 will not have 1 trusted issuer, but instead 10 or 100 issuers! Basket
 currencies are already