Skip to main content

Fair Two-Party Computations via Bitcoin Deposits

  • Conference paper
  • First Online:
Financial Cryptography and Data Security (FC 2014)

Part of the book series: Lecture Notes in Computer Science ((LNSC,volume 8438))

Included in the following conference series:

Abstract

We show how the Bitcoin currency system (with a small modification) can be used to obtain fairness in any two-party secure computation protocol in the following sense: if one party aborts the protocol after learning the output then the other party gets a financial compensation (in bitcoins). One possible application of such protocols is the fair contract signing: each party is forced to complete the protocol, or to pay to the other one a fine.

We also show how to link the output of this protocol to the Bitcoin currency. More precisely: we show a method to design secure two-party protocols for functionalities that result in a “forced” financial transfer from one party to the other.

Our protocols build upon the ideas of our recent paper “Secure Multiparty Computations on Bitcoin” (Cryptology ePrint Archive, Report 2013/784). Compared to that paper, our results are more general, since our protocols allow to compute any function, while in the previous paper we concentrated only on some specific tasks (commitment schemes and lotteries). On the other hand, as opposed to “Secure Multiparty Computations on Bitcoin”, to obtain security we need to modify the Bitcoin specification so that the transactions are “non-malleable” (we discuss this concept in more detail in the paper).

This work was supported by the WELCOME/2010-4/2 grant founded within the framework of the EU Innovative Economy (National Cohesion Strategy) Operational Programme.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    A real-life example of such situation is the recent case when the German tax authorities paid 4 million euro to an anonymous informant for a CD containing information about the German tax evaders with bank accounts in Switzerland [13].

  2. 2.

    In the original Bitcoin documentation this is called “simplified \(T_{x}\)”.

  3. 3.

    Technically in Bitcoin \([T_{x}]\) is not directly passed as an argument to \(\pi '_{i}\). We adopt this convention to make the exposition clearer.

  4. 4.

    The reason is that it is impossible to construct a signature, in such a way, that it is a part of the message being signed.

  5. 5.

    In this paper we usually treat input scripts as arguments for the corresponding output scripts. In reality, however, they are scripts in Bitcoin scripting language, which are supposed to push arguments for an output script on the stack.

  6. 6.

    To read more about such deposits see [26].

  7. 7.

    The server signs a transactions \( Fuse \) without seeing the transaction \( Put \) and a malicious client could try to send a hash of an existing transaction instead of \( Put \). Therefore, the server should use a fresh key every time to prevent itself from being tricked into signing a transaction spending some other transaction of its to the client.

  8. 8.

    The only exception are the so-called generation transactions, which create new bitcoins and can have arbitrary input scripts (the script is called “coinbase” in this case). However, it is not difficult to ensure that each such transaction has a different hash, by using a new pair of keys for each generation.

  9. 9.

    Except of that, what she can learn from her inputs and from the function being computed.

  10. 10.

    The number of outputs created this way is limited and not greater than \(30\) as a bitcoin is not infinitely divisible. The smallest amount of bitcoins is called “satoshi” and is equal to \(10^{-8}\) .

References

  1. Abadi, M., Glew, N.: Certified email with a light on-line trusted third party: design and implementation. In: WWW ’02

    Google Scholar 

  2. Andrychowicz, M., Dziembowski, S., Malinowski, D., Mazurek, Ł.: Secure multiparty computations on Bitcoin. Cryptology ePrint Archive (2013). http://eprint.iacr.org/2013/784

  3. Andrychowicz, M., Dziembowski, S., Malinowski, D., Mazurek, L.: How to deal with malleability of Bitcoin transactions. CoRR, abs/1312.3230 (2013)

    Google Scholar 

  4. Ateniese, G., Nita-Rotaru, C.: Stateless-recipient certified e-mail system based on verifiable encryption. In: Preneel, B. (ed.) CT-RSA 2002. LNCS, vol. 2271, pp. 182–199. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  5. Back, A., Bentov, I.: Note on fair coin toss via Bitcoin (2013). http://www.cs.technion.ac.il/~idddo/cointossBitcoin.pdf

  6. Ben-Or, M., Goldreich, O., Micali, S., Rivest, R.L.: A fair protocol for signing contracts. IEEE Trans. Inf. Theor. 36(1), 40–46 (1990)

    Article  Google Scholar 

  7. Blum, M.: Coin flipping by telephone. In: CRYPTO 1981 (1981)

    Google Scholar 

  8. Boneh, D., Naor, M.: Timed commitments. In: Bellare, M. (ed.) CRYPTO 2000. LNCS, vol. 1880, pp. 236–254. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  9. Clark, J., Essex, A.: CommitCoin: carbon dating commitments with Bitcoin. In: Keromytis, A.D. (ed.) FC 2012. LNCS, vol. 7397, pp. 390–398. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  10. Cleve, R.: Limits on the security of coin flips when half the processors are faulty. In: STOC ’86

    Google Scholar 

  11. Cramer, Ronald: Introduction to secure computation. In: Damgård, Ivan Bjerre (ed.) EEF School 1998. LNCS, vol. 1561, p. 16. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  12. Damgård, I.B.: Practical and provably secure release of a secret and exchange of signatures. In: Helleseth, T. (ed.) EUROCRYPT 1993. LNCS, vol. 765, pp. 200–217. Springer, Heidelberg (1994)

    Chapter  Google Scholar 

  13. Der Spiegel International. Swiss Bank Data: German Tax Officials Launch Nationwide Raids, April 2013

    Google Scholar 

  14. Pfitzmann, B., et al.: Optimal efficiency of optimistic contract signing. In: PODC ’98

    Google Scholar 

  15. Miers, I., et al.: Zerocoin: anonymous distributed e-cash from Bitcoin. IEEE S&P (2012)

    Google Scholar 

  16. Barber, S., Boyen, X., Shi, E., Uzun, E.: Bitter to better—how to make bitcoin a better currency. In: Keromytis, A.D. (ed.) FC 2012. LNCS, vol. 7397, pp. 399–414. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  17. Gordon, S., et al.: Complete fairness in secure two-party computation. J. ACM 58(6), 1–37 (2011)

    Article  Google Scholar 

  18. Even, S., Yacobi, Y.: Relations among public key signature schemes. Technical report 175, Computer Science Department, Technion, Israel (1980)

    Google Scholar 

  19. Garay, J.A., Jakobsson, M.: Timed release of standard digital signatures. In: Blaze, M. (ed.) FC 2002. LNCS, vol. 2357, pp. 168–182. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  20. Goldreich, O., Micali, S., Wigderson, A.: How to play any mental game. In: STOC 1987 (1987)

    Google Scholar 

  21. Goldreich, O.: The Foundations of Cryptography: Basic Applications, vol. 2. Cambridge University Press, Cambridge (2004)

    Book  Google Scholar 

  22. Goldreich, O., Micali, S., Wigderson, A: Proofs that yield nothing but their validity and a methodology of cryptographic protocol design. In: FOCS ’86

    Google Scholar 

  23. Goldreich, O., Vainish, R.: How to solve any protocol problem - an efficiency improvement. In: CRYPTO ’87

    Google Scholar 

  24. Goldwasser, S., Micali, S., Rackoff, C.: The knowledge complexity of interactive proof systems. SIAM J. Comput. 18(1), 186–208 (1989)

    Article  MathSciNet  MATH  Google Scholar 

  25. Pinkas, B.: Fair secure two-party computation. In: Biham, E. (ed.) EUROCRYPT 2003. LNCS, vol. 2656, pp. 87–105. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  26. Bitcoin wiki: Contracts. http://en.bitcoin.it/wiki/Contracts. Accessed 24 Nov 2013

  27. Bitcoin wiki: Dominant Assurance Contracts. http://en.bitcoin.it/wiki/Dominant_Assurance_Contracts. Accessed 19 Jan 2014

  28. Bitcoin wiki: Transaction malleability. https://en.bitcoin.it/wiki/Transaction_Malleability. Accessed 20 Jan 2014

  29. Yao, A.C.-C.: How to generate and exchange secrets. In: FOCS 1986 (1986)

    Google Scholar 

  30. Zhou, J., Gollmann, D.: A fair non-repudiation protocol. In: IEEE S&P (1996)

    Google Scholar 

  31. Zhou, J., Gollmann, D.: Certified electronic mail. In: Martella, G., Kurth, H., Montolivo, E., Bertino, E. (eds.) ESORICS 1996. LNCS, vol. 1146, pp. 160–171. Springer, Heidelberg (1996)

    Chapter  Google Scholar 

Download references

Acknowledgments

We would like to thank the anonymous reviewers for their valuable comments.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Łukasz Mazurek .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 IFCA/Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Andrychowicz, M., Dziembowski, S., Malinowski, D., Mazurek, Ł. (2014). Fair Two-Party Computations via Bitcoin Deposits. In: Böhme, R., Brenner, M., Moore, T., Smith, M. (eds) Financial Cryptography and Data Security. FC 2014. Lecture Notes in Computer Science(), vol 8438. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-44774-1_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-44774-1_8

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-662-44773-4

  • Online ISBN: 978-3-662-44774-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics