next up previous
Next: Data Management Up: Anonymous Atomic Transactions Previous: Purchase

Correctness and Atomicity

 

The atomicity properties of the protocol rest on the atomicity of the transaction log's non-repudiable tex2html_wrap_inline898 (or tex2html_wrap_inline896 ). The transaction log will eventually produce exactly one of tex2html_wrap_inline898 or tex2html_wrap_inline896 for any transaction. The other parties can use this, along with other data gathered during the course of the transaction, to prove that the transaction did (or did not) complete. Conversely, if a party claims that the transaction did (or did not) complete, it must be able to provide this proof to justify its claim to other parties.

The transaction protocol follows the two-phase commit model, however, the authorization actions of the parties are cascaded. First, the consumer authorizes the bank to lock the token to the transaction. Next, the bank authorizes the merchant to transmit the key to the log. Then, the merchant sends the merchandise key to the log, authorizing the log to commit the transaction. Finally, the log issues the global commit. Accountability is similarly cascaded so that a party can be held accountable exactly when it has made an authorization and the transaction commits. For example, if the bank authorized the merchant to deposit the key ( tex2html_wrap_inline906 ) without having received the consumer's authorization to lock the token ( tex2html_wrap_inline908 ), then the bank could be held accountable by the merchant (who would have tex2html_wrap_inline898 and tex2html_wrap_inline906 ), but the consumer could not be held accountable by the bank (which would have tex2html_wrap_inline898 but not tex2html_wrap_inline908 ).

The merchant can use tex2html_wrap_inline898 and tex2html_wrap_inline906 to prove that the bank should credit the merchant's account with the value of the token. This provides the bank with tex2html_wrap_inline898 . Possession of tex2html_wrap_inline898 assures the bank that it will not be subject to a claim that the transaction has failed, since such a claim would require tex2html_wrap_inline896 .

The bank can use tex2html_wrap_inline898 and tex2html_wrap_inline908 to justify (to the consumer) marking the token spent and denying reuse or replacement. The consumer can demand this proof, requiring the bank to produce tex2html_wrap_inline898 , which contains the merchandise encryption key, thus giving the consumer access to the goods. Note that in practice, assuming good faith, the consumer will acquire the key prior to this, and demand of proof will not be necessary.

The consumer can use tex2html_wrap_inline896 and q to demand that the token be unlocked. This provides the bank with tex2html_wrap_inline896 . Possession of tex2html_wrap_inline896 assures the bank that it will not be subject to a claim that the transaction has completed, since such a claim would require tex2html_wrap_inline898 .

Finally, the consumer can use tex2html_wrap_inline898 and tex2html_wrap_inline946 to prove the contents of the delivered goods. The goods encryption key, the encrypted goods, and the description of goods (contained in the contract) have all been signed by M, and tex2html_wrap_inline898 proves that the transaction completed. Some means for review of goods by an outside authority should be available to establish claims of incorrect or fraudulent goods delivery.

From a correctness standpoint, it is important to examine the use of combinations of signed, non-repudiable messages employed above. Any given tex2html_wrap_inline898 (or tex2html_wrap_inline896 ) is valid for only one combination of n, tex2html_wrap_inline874 , M, and L; it is considered to be compatible only with the messages which agree on those values. The one exception is that the certificate tex2html_wrap_inline946 does not mention L or tex2html_wrap_inline874 , and thus must agree only on n and M to be compatible. At each step, a party provides a signed message which can be used to prove that party's accountability with exactly the same range of tex2html_wrap_inline898 messages as it would use in proofs of the preceding party's accountability. Thus, if a party is held accountable for the transaction, then it is provided with the non-repudiable messages that it needs to hold the previous party accountable as well.


next up previous
Next: Data Management Up: Anonymous Atomic Transactions Previous: Purchase

TOM Comversion
Fri Oct 4 18:57:08 EDT 1996