Micro-Payments Via Ecient Coin-Flipping: 1 Design Principles and Parameters
Micro-Payments Via Ecient Coin-Flipping: 1 Design Principles and Parameters
Micro-Payments Via Ecient Coin-Flipping: 1 Design Principles and Parameters
(Extended Abstract)
Richard J. Lipton1 Rafail Ostrovsky2
1
Department of Computer Science, Princeton University, Princeton, NJ and
Bellcore, USA Email: [email protected].
2
Bell Communications Research, 445 South St., MCC 1C-365B, Morristown, NJ
07960-6438, USA. Email: [email protected].
3 Our Scheme
Our scheme is a probabilistic payment scheme. It involves probabilistic polynomial-
time user, vendor and the bank. It is probabilistic in the same sense as [31] and
[25]: User and Vendor are going to
ip (appropriately biased) coin
ips, so that
with small probability (for example, with probability 200 1 the user will have to
pay a larger amount (for example, 1$ dollar charge) and the rest of the time it
has a free access. Notice that the expected price per page in above example is
thus half a cent.
Now, we need to dene the properties needed from our coin-
ipping pro-
tocol. Of course, one of the properties is eciency (i.e. we should try to avoid
costly digital signatures as much as possible.) Additionally, we need fairness and
authentication properties.
Our coin-
ip protocol mainly involves two probabilistic polynomiallybounded
players (i.e. algorithms) { a Vendor and a User (both polynomially bounded by a
security parameter). We operate in the public-key setting, where both User and
Vendor have public/private signature key pairs [12] (authenticated by the trusted
third party, such as a Bank). The protocol proceeds in rounds. The rounds are
divided into a pre-processing stage and polynomially-bounded subsequent on-
line \coin-
ip" rounds. After the initial pre-processing stage, if the Vendor and
the User do not abort during this pre-processing stage, the sequence of future
output \coin-
ips" is uniquely dened. More specically, every additional round
reveals one (or several) coin-
ips which was dened in the pre-processing stage
(where a round consists of two messages one from User to Vendor and another
from Vendor to User). Of course, within each round, one of the players (who
already received a message of this round but did not yet send his message of
this round) can eciently compute the outcome of this round coin-
ip before
the other player. We are not trying to prevent this asymmetry, but rather we re-
quire that all the coin-
ips associated with future rounds are pseudo-random for
both players (for denitions of pseudo-randomness, see [3, 33].) More specically,
we say that the coin-
ipping protocol is fair if the following three conditions are
satised:
{ If both players follow the protocol then there are no aborts.
{ For all probabilistic polynomial-time Adversary-User algorithms, if the Ven-
dor follows the protocol and does not abort in the pre-processing stage, then
all the coin-
ips are uniquely dened and for any non-aborting prex of the
protocol execution, the coin-
ips of future rounds are pseudo-random for the
Adversary-User.
{ For all probabilistic polynomial-time Adversary-Vendor algorithms, if the
User follows the protocol and does not abort in the pre-processing stage,
then all the coin-
ips are uniquely dened and for any non-aborting prex
of the protocol execution, the coin-
ips of future rounds are pseudo-random
for the Adversary-Vendor.
Additionally, we say that the coin-
ipping protocol is Vendor-authenticated if it
allows the Vendor to convince a third party what the outcome of the coin-
ip
is, given the transcript of the protocol execution (and an authenticated public
key).
We satisfy these properties in the following protocol. First, the bank issues
to the user certied public/private key pair for digital signatures. Then every
time the user wishes to start making micro-payments to some Vendor, User and
Vendor participate in the following two-stage coin-
ipping process, assuming the
existence of a one-way permutation : f
{ setup
First, user and vendor run the following setup protocol:
s1. Vendor: The Vendor picks a random and computes a chain
x
of values (just as in coupon-based scheme) to produce a = y
( ( ( ))). The Vendor sends to the User.
f f f ::: x y
After is sent, the Vendor gives to the User a zero-knowledge
y
proof of knowledge of (using standard cut-and-choose methods
x
{ for denitions and further references see [5]).
s2. User: The User checks a zero-knowledge proof of knowledge of
the Vendor (and if rejecting, aborts.) If the proof is accepting,
then the User picks a random 0 and computes a chain of values
x
y
0 = ( ( ( 0 ))). The User signs and sends ( 0 ) (together
f f f ::: x y; y
with it's signature) to the Vendor.
After ( 0 ) is sent, the User gives to the Vendor a zero-knowledge
y; y
proof of knowledge of 0.
x
s3. Vendor: The Vendor veries user's proof of knowledge, user's sig-
nature and user's public key (if incorrect aborts.)
{ coin-flip
Now we are ready for the ecient coin-
ip stage. Recall that both and y
y
0 dene roots of the two chains. To make the next coin-
ip the user and
the vendor execute the following protocol round:
c1. User: The User reveals to the Vendor its next pre-image in the y
0
chain.
c2. Vendor: the Vendor reveals to the user its next pre-image of the y
chain. For both chains, one can associate hard-core bits with each
pre-image (in fact up to logarithmically-many hard-core bits [13])
The xor of hard-core bits from and 0 chains dene the coin-
ip
y y
output for this round.
Before we proceed to describe the properties of the protocol, let us answer several
frequently asked questions regarding our protocol:
REMARKS:
{ One of the frequently asked questions regarding the design of the above
protocol is: why is it necessary for both the user and the vendor to give
zero-knowledge proofs of knowledge? (In fact, Rivest's scheme [25] omits the
proofs of knowledge and does not use the hard-core bits [13].) The actual
reason comes from a formal proof, but let us brie
y mention the technical
problem: in order to show that the scheme is fair for the User/Vendor, we
must show that if the User/Vendor can predict future coin-
ips (and, say,
abort the protocol if the coin-
ips are extremely unfavorable), then we can
use such a predicting User/Vendor to invert a one-way function, thus reach-
ing a contradiction. Now, the problem of using such an algorithm is that
the prediction of the future coin-
ips does not directly give us information
regarding hard-core bits of the individual chains, but rather of the xor of two
hard-core bits of both chains. Since one of this two hard-core bits does in
fact belong to the predicting User/Vendor (and he does not need to disclose
this hard-core bit) the prediction of the future coin-
ips does not seem to
help in predicting the corresponding hard-core bits in the other chain.
{ Another problem of eliminating proofs of knowledge is that the user can set
0 = , which will certainly not make the future coin-
ips pseudo-random.
y y
One can try to play with denitions, and say that only revealed coin-
ips
should be pseudo-random, but since the proofs of knowledge seem to be
needed for the security proof anyway, we do not see any advantage of working
with this less natural denition.
{ One possible criticism of our scheme is that while the on-line stage is ex-
tremely ecient, a pre-processing stage is somewhat expensive. Indeed, zero-
knowledge proofs of knowledge are the main source of ineciency in our
scheme. Yet, we do not know how to make the proof of security go through
without such a pre-processing stage due to the reasons indicated above.
{ We should also compare our coin-
ipping protocol and the coupon-based
schemes, such as PayWord [27]. The main advantage of our scheme is that
the actual payments can be done very infrequently. Hence, in the (infre-
quent) case that the user has to pay, we can aord expensive on-line pro-
cessing, including the on-line secure payment and receipts, thus eliminating
the need for black-lists of credit-based approaches that were needed to pre-
vent double-spending. Note that if the user refuses to pay the necessary
amount the Vendor has a proof that the user has to pay which it can take
to the bank/arbiter (since it has signed by the user ( 0 ) pair as well as the
y; y
necessary inverses for both chains with the right properties.) Thus, we stress
that in our scheme the (infrequent) payment can be done on-line, avoid-
ing drawbacks of credit-based approaches and double-spending. We should
point out that our proposal also diers from [25] in this regard, namely the
scheme of [25] is proposed to be used as a credit-based scheme. In contrast,
we suggest that in case of the Vendor-favorable coin-
ip the payment will be
made on-line, thus avoiding the drawbacks of credit-based approach. Since
the payment is very infrequent we can in this case aord to do expensive
on-line processing.
{ There is another
0
asymmetry in our protocol, namely that the user signs the
value ( ) while the vendor does not sign anything. The reason is that
y; y
the Vendor in any event has a lot of control which information to provide
to the user (and in fact can always provide bad, incomplete or incorrect
information) and the way this is combatted in the business world is that the
vendor gets bad publicity, loses customers, etc. (In particular, if the customer
does not get the desired \free" information, it will simply stop interacting
with the current Vendor.) We stress, though, that in our scheme, even a
cheating vendor can not in
uence the outcome of the coin-
ip and make the
customer pay more \frequently".
{ Notice that in the coin-
ipping stage, the Vendor learns the value of the coin
rst. This is important, since otherwise, the user can stop the interaction if
he discovers that he has to pay. Additionally, note that it is strait-forward
to make biased coin-
ips by combining several unbiased bits. Further, note
that each iteration of the permutation can produce many (in fact, up to
logarithmically many) hard-core bits [13] leading to further savings.
{ Analogous to coupon-based PayTree scheme of Jutla and Yung [22], our
scheme can be made more ecient by using tree-based construction for coin-
ips.
Now, the proof of the claim in the opposite direction mimics the previous proof:
Claim 3 Assume that one-way permutations exist and that the User follows
the protocol. Then, for any polynomially-bounded Adversary-Vendor if the pre-
processing stage is not aborted by the User then for any prex of the protocol exe-
cution the coin-
ips of subsequent rounds are pseudo-random for the Adversary-
Vendor.
Proof: Similar to the previous claim, where we now use knowledge extractor for
the Adversary-Vendor's proof of knowledge and zero-knowledge simulator for the
User's proof of knowledge.
Thus, we have
Theorem 4 In section 3, we presented fair, authenticated coin-
ipping proto-
col.
Finally it it worth-while to point out some of the the advantages of our scheme:
{ Unlike the lottery solution [24], the bank does not have to participate in the
coin-
ip, and the number of bank-related transactions (which can be done
using any other, more expensive payment scheme) is greatly reduced.
{ Unlike the coin-
ipping solution for [25], for which we do not know how to
prove its security, our scheme is secure according to a strong pseudo-random
denition for all the future rounds.
{ After the setup stage, if the coin-
ip is favorable to the Vendor, than it has
the proof that the user must pay certain amount, which it can show to the
bank/arbiter in case of dispute/nonpayment.
{ If some site is used infrequently by some user, our coin-
ip solution can be
viewed as oering a \free-trial" service, where if tuned appropriately it can
attract additional customers.
{ Our solution can (and should) be combined with other more expensive
schemes when the coin-
ip is for payment, thus providing overall high secu-
rity of the system.
4 Conclusions
The initial setup price involves checking one signature during connection to a
new site and two proofs of knowledge, which can be done using standard cut and
choose methods. After the setup stage, our solution is similar (up to a factor of
two) in eciency to the coupon-based schemes, but our scheme avoids \over-
spending" issue and the need to black-list users. Moreover,
{ after the pre-processing stage is done, the subsequent number of rounds is
minimized { our scheme does not add any additional rounds when there is no
payment necessary (since we can \piggy-back" our coin-
ip messages with
standard "get-page/here-it-is" interaction), and bank it not involved at all,
thus saving the overall round complexity between users, vendors and banks.
{ we minimize the (amortized) number of total bits transmitted per transac-
tion between users, vendors and the bank/broker, since most of the time
the \for-free" coin-
ip avoids expensive payment protocol, and the on-line
coin-
ip price is similar to coupon-based solutions.
{ we minimize (amortized) computational demands needed per transaction for
all the participants (i.e. both users and vendors as well as banks);
{ we eliminate tamper-proof hardware requirements for all the participants
(i.e. we do not need smart-cards) or other \per-transaction" lists or expensive
hardware for pre-processing);
{ we minimize fraud since this is not credit-based solution and the payment (if
the coin-
ip is favorable) must be made immediately, avoiding the problems
of over-charging the accounts, having to wait for bank-sponsored lotteries,
and risking non-payments.
Additionally,our scheme can be made anonymous, with the use of pseudonyms,
similar to Chaum's scheme. We postpone this discussion to the full version of
the paper.
A possible criticism of our scheme (as well as Wheeler's [31] and Rivest's
[24, 25]) is that probabilistic payments is some weak form of gambling which is
forbidden by U.S. laws. We do not address this issue here, but rather, say that
in our view this may not constitute gambling since the expected prot of the
Vendor is very close (by the law of large numbers) to a deterministic (but more
expensive) schemes. Of course, the legal ramications of the proposed scheme
are beyond the scope of this paper.
Acknowledgements
The authors are grateful to William Aiello, Sanjoy Dasgupta, Stuart Haber,
Ashwin Nyack, Ron Rivest and Victor Shoup for several valuable discussions
regarding coin-
ipping protocols. We also wish to thank an anonymous referee
of the FC98 conference for some useful remarks.
References
1. R. Anderson, C. Manifavas, C. Sutherland \Netcard - a practical electronic
cash system" In Fourth Cambridge Workshop on Security Protocols. Springer
Verlag, Lecture Notes in Computer Science, April 1996.
available online URL http://www.cl.cam.ac.uk/users/rja14/
2. Blum, M., \Coin Flipping over the Telephone," IEEE COMPCON 1982, pp. 133-
137.
3. M. Blum, and S. Micali \How to Generate Cryptographically Strong Sequences
Of Pseudo-Random Bits" SIAM J. on Computing, Vol 13, 1984, pp. 850-864,
FOCS 82.
4. J.P. Boly, A. Bosselaers, R. Cramer, R. Michelsen, S. Mjlsnes, F.
Muller, T. Pedersen, B. Pfitzmann, P. de Rooij, B. Schoenmakers, L.
Vallee, and M. Waidner.
5. M. Bellare and O. Goldreich. \On dening proofs of knowledge." Extended
abstract in Advances in Cryptology - Crypto 92 Proceedings, Lecture Notes in
Computer Science Vol. 740, E. Brickell ed, Springer-Verlag, 1993.
6. B. Cox, D. Tygar, M. Sirbu \NetBill security and transaction proptocol" First
USENIX Workshop on Electronic Commerce, New York, July 1995.
available online URL http://www.ini.cmu/NETBILL/home.html
7. L. Tang and S. Low \Chrg-http: A Tool for Micropayments on the World Wide
Web" 6th USENIX Security Symposium, San Jose, CA July 1996.
8. D. Chaum \Achieving Electronic Privacy" Scientic American, pp. 96-101, August
1992.
9. D. Chaum, A. Fiat, M. Naor \Untracable electronic Cash" Crypto-89.
10. E. Gabber and A. Silberschatz \Agora: A Minimal Distributed Protocol for
Electronic Commerce" USENIX Workshop on E-Commerce, Oakland CA Nov.
1996.
11. S. Glassman, M. Manasse, M. Abadai, P. Gauthier, and P. Sobalvarro
\The milicent protocol for inexpensive electronic commerce" In Proc. of the forth
International World Wide Web Conference", 1995.
available online URL http://www.research.digital.com/SRC/milicent
12. S. Goldwasser, S. Micali, and R. Rivest \A Digital Signature Scheme Secure
Against Adaptive Chosen-Message Attacks". SIAM Journal of Computing vol 17,
No 2, (April 1988), pp. 281-308.
13. O. Goldreich, L. Levin \A hard-core predicate for all one-way functions." In
Porc. of 21st STOC, pp. 25-32 ACM 1989.
14. N. M. Haller \The S/KEY one-time password system. In ISOC 94.
15. R. Hauser, M. Steiner, M. Waidner \Micro-payments based on ikp" In
14th Worldwide Congress on Computer and Communication Security Protection,
CNIT Paris -La defense France, June 1996.
available online URL http://www.zurich.ibm.com./Technology/
Security/publications/1996/HSW96-new.ps.gz
16. S. Jarecki, A. Adlyzko \An ecient micropayment system based on proba-
bilistic polling" Conference proceedings of Financial Cryptography'97 , February
1997, Anguilla, BWI.
17. L. Lamport \Password authentication with insecure communication" Commu-
nications of the ACVM, 24(11):770-771, November 1981.
18. Mondex USA
available online URL http://www2.mondexusa.com/
19. G. Medvinsky, C. Neuman NetCash: A design for practical electronic currency
on the internet. In Proceeding sof the Second ACM Conference on Computer and
Communcation Security Novemeber 1994.
20. M. Naor \Bit Commitment using Pseudo-Ranomness" Proc. CRYPTO 89.
21. C. Neuman, G. Medvinsky Requirements for network payment: The Netcheque
prospective. In Proc. of IEEE COMCON, March 95.
available online FTP ftp://prospero.isi/edu/pub/papers/security/
22. C. Jutla and M. Yung \Paytree: amortized signature for
exible micropay-
ments" In Second USENIX workshop on Electronic Commerce, November 1996.
23. T. Pedersen \Electronic payments of small amounts" Technical Report DAIMI
PB-495, Aarhus University, Computer Science Department, Arhus, Denmark, Au-
gust 1995.
24. R. Rivest \Lottery tickets as Micro-Cash" rump session talk at Financial Cryp-
tography'97 , February 1997, Anguilla, BWI.
25. R. Rivest \Electronic Lottery tickets as Micropayments" Proceedings of Finan-
cial Cryptography'97 , LNCS series 1318, pp. 306-314.
26. R. Rivest \The MD5 message-digest algorithm" Internet Request for Comments,
April 1992. RFC 1321.
available online URL http://theory.lcs.mit.edu/rivest/publications.html
27. R. Rivest and A. Shamir \Payword and micromint: Two simple micropayment
schemes" In fourth Cambridge workshop on security protocols. Springer Verlag,
lecture Notes in Computer Science, April 1996.
available online URL http://theory.lcs.mit.edu/rivest/publications.html
28. V. Shoup \On Fast and Provaaably Secure Message Authentication Based On
Universal Hashing" CRYPTO-96.
29. J. Stern, S. Vaudenay \Small-Value-Payment: a Flexible Micropayment
Scheme" Conference proceedings of Financial Cryptography'97 , February 1997,
Anguilla, BWI.
30. Visa and MasterCard \Secure Electronic Transactions (SET) specication,
available online URL http://www.mastercard.com/set
31. D. Wheeler \Transactions using bets" in security protocols Int. Workshop, cam-
bridge, UK April 1996. In LNCS 1189 pp. 89-92
available online URL
http://www.cl.cam.ac.uk/users/cm213/Project/project publ.html
32. Y. Yacobi \On the continuum between on-line and o-line e-cash systems - I"
Conference proceedings of Financial Cryptography'97 , February 1997, Anguilla,
33. A.C. Yao \Theory and Applications of Trapdoor Functions" FOCS 82.
This article was processed using the LaTEX macro package with LLNCS style