Check out the new USENIX Web site. next up previous
Next: Money Atomicity for Simplified Up: A Simplified Digital Cash Previous: The Protocol

The Simplified Digital Cash Protocol in FDR

Figures 6, 7, and 8 present the consumer, merchant, and bank processes in FDR. To provide a more realistic modeling of the operation of the protocol, we have expanded the protocol behavior outlined in Figure 5 to include:

Unfortunately, in the context of this slightly more realistic system, a serious ambiguity arises. Consider the following scenerio. A consumer withdraws a coin from the bank and attempts to use the coin to pay a merchant. However, as the consumer's response to the merchant's challenge was in transit, the communication network fails. The consumer is left in an uncertain situation. Has the coin been spent? If the merchant actually receives the response, then the consumer should consider the coin spent, but if not, then the coin is unspent. This is a critical issue for money atomicity, because if the consumer makes the wrong guess, then either money will be lost or she could be accused of double spending. To establish money atomicity, we allow the consumer to go to the bank in this situation and see if the coin has been spent; if it has not, she is eligible for a refund on the coin. Of course this leads to a problem: the consumer can spend the coin and then immediately go to the bank and claim the coin may have been lost in transit and obtain a refund, and then moments later the merchant appears coin in hand. In practice this issue could be addressed by timeout/coin-lifetime management. In our model, we abstract the details of how this is solved and enter an ``arbitration'' state.

There are, however, two well-defined kinds of fraud that are detected and resolved in our model. The first is when a consumer attempts to double spend a coin, and the second is when a merchant attempts to deposit a coin twice. Both cases are detected by the bank and respective events cFraud and mFraud are triggered by the bank process. This is important, because it allows us to talk about money atomicity properties: in short, money atomicity holds when there are no cFraud and mFraud events. We elaborate further when we discuss money atomicity.

Our model includes only two challenge/response pairs, whereas there are really billions of possible such pairs. However, the specific identities of challenge/response pairs are immaterial: the critical property is the number of different challenges to which the customer responds (in fact there are only three important cases corresponding to zero, one, or more than one consumer response). Hence we consider just two ``symbolic'' challenge response pairs. We also abstract the statistical arguments, and simply state that if both of the symbolic challenge/response pairs are sent to the bank, then the bank has proof of consumer double spending.

We remark that the bank process is somewhat complicated because the bank must record information as it proceeds. This is somewhat cumbersome in FDR, and involves using process parameters. The main process involved here is WAIT, which has three parameters, the first indicating whether the coin has been deposited or returned, and the second and third indicating which challenge/response pairs have been seen.

 

  figure170


Figure 6: The consumer process for the simplified digital cash protocol.

 

  figure179


Figure 7: The merchant process for the simplified digital cash protocol.

 

  figure188


Figure 8: The bank process for the simplified digital cash protocol.


next up previous
Next: Money Atomicity for Simplified Up: A Simplified Digital Cash Previous: The Protocol

TOM Comversion
Sat Oct 5 08:55:54 EDT 1996