Modeling and Verification of the Bitcoin Protocol

Kaylash Chaudhary
(University of the South Pacific)
Ansgar Fehnker
(University of the South Pacific)
Jaco van de Pol
(University of Twente)
Marielle Stoelinga
(University of Twente)

Bitcoin is a popular digital currency for online payments, realized as a decentralized peer-to-peer electronic cash system. Bitcoin keeps a ledger of all transactions; the majority of the participants decides on the correct ledger. Since there is no trusted third party to guard against double spending, and inspired by its popularity, we would like to investigate the correctness of the Bitcoin protocol. Double spending is an important threat to electronic payment systems. Double spending would happen if one user could force a majority to believe that a ledger without his previous payment is the correct one. We are interested in the probability of success of such a double spending attack, which is linked to the computational power of the attacker. This paper examines the Bitcoin protocol and provides its formalization as an UPPAAL model. The model will be used to show how double spending can be done if the parties in the Bitcoin protocol behave maliciously, and with what probability double spending occurs.

In Rob van Glabbeek, Jan Friso Groote and Peter Höfner: Proceedings Workshop on Models for Formal Analysis of Real Systems (MARS 2015), Suva, Fiji, November 23, 2015, Electronic Proceedings in Theoretical Computer Science 196, pp. 46–60.
Published: 8th November 2015.

ArXived at: http://dx.doi.org/10.4204/EPTCS.196.5 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org