Formal Models of Bitcoin Contracts: A Survey - Bartoletti, Massimo; Zunino, Roberto (Frontiers in Blockchain, 2019)
Although Bitcoin is mostly used as a decentralized application to transfer cryptocurrency, over the last ten years there have been several studies on how to exploit Bitcoin to execute smart contracts. These are computer protocols which allow users to exchange bitcoins according to complex pre-agreed rules. Some of these studies introduce formal models of Bitcoin contracts, which specify their behaviour in non-ambiguous terms, in some cases providing tools to automatically verify relevant contract properties. In this paper we survey the formal models proposed in the scientific literature, comparing their expressiveness and applicability in the wild.