The aim of this project is to choose and implement a payment system that can be easily integrated in a mobile device. Among the main expected characteristics, this electronic purse must allow direct client-to-client payments, e-shopping over Internet, and the transactions must be achieved anonymously.
Our research led us to the e-cash protocol. A comparison with other payment schemes will point out the pros and the cons of this system, and a complete Java implementation will help the reader to fully understand the mechanism of electronic money.
The idea presented in this project is to use electronic notes. Unlike our traditional silver coins and paper banknotes, electronic notes don't need any physical support. A note is only information that can be stored on a computer hard-disk, sent over the Internet, and why not printed out and sent by traditional post. It is very similar to conventional money in the way that the value of the money is in the money itself. But it is one-time-use money; a buyer buys a note at the bank, sends it to a seller, and the latter deposits it in his bank account. Such a system brings all our initial requirements together. It allows direct client-to-client payments, e-shopping over Internet, and the transactions are achieved anonymously. Our implementation will therefore be based on the e-cash protocol, invented by DigiCash in 1990, which describes how to do transactions with electronic notes.
To simplify we keep only one bank:
1. The buyer gets a digitally signed note from the bank.
2. The buyer spends his note to a seller.
3. The seller deposits his note in his bank account.
Because you don't need any special material (card reader), every customer can act either as a buyer (sending notes) or as a seller (receiving notes). And this point is really fundamental; a system that keeps the advantages of conventional money will of course be more easily accepted.