V-cash

A Study in Electronic Commerce: Bank User Manual

Cornell University
Computer Science Department
Masters of Engineering Project
Spring 1998

Han-Yang Lo
Sanjeev Topiwala
Joyce Wang
with assistance from Keith Sollers

Under the supervision of: Professor Fred B. Schneider
Last modified: Friday, April 24, 1998


Bank User Manual

The central V-Cash bank is currently run by V-Cash employees.  The central bank will eventually support the availability of V-Cash system in various banks internationally.  The reason for a central bank is three-fold. First of all, the simplifying assumption is that the merchant and consumer have accounts at the same bank. In addition, the bank can serve as a certifying authority, assigning public/private keypairs for each of their clients. This property also makes it easier to check the double spending of coins. The obvious vulnerability here is that the spent coin database is a single point of failure. The bank logs all connections from Consumers or Merchants.

Initialization

The software is initialized upon starting up the V-Cash bank server.

There is a utility program which generates account number and public/private key pairs for the consumer at the bank side. The bank runs this utility to genrate the following files:

Setting Up Consumer Accounts

In addition, the same utility program is used to generate:

Setting Up Merchant Accounts

The utility program is also used to generate:

Providing Software and Documentation

The bank should be able to provide easily accessible software and documentation. We recommend setting up an FTP server for bank customers.

Generating Public/Private Keypairs

A utility is included to generate keypairs for each user. For detailed description refer to "setting up Consumer Accounts". This utility can be found in the Application pages. The source will also be provided.

Storing Account and Coin Information

The key management/account and coin databases are beyond the scope of this project. We are currently implementing a flat file, read in by the bank server upon startup. This is not scaleable, but serves for demonstration purposes. The account "database" is the account.bnk file described above. The spent coin "database" is the serials.bnk file.

Logs

The bank logs contains:

Security Issues

Future Features and Functions

Future improvements include:

Available Documentation

Specifications
Design Documentation
Consumer User Manual
Merchant User Manual
Bank User Manual
Demonstration of V-Cash