Abstract
Covenants are linguistic primitives that extend the Bitcoin script language, allowing transactions to constrain the scripts of the redeeming ones. Advocated as a way of improving the expressiveness of Bitcoin contracts while preserving the simplicity of the UTXO design, various forms of covenants have been proposed over the years. A common drawback of the existing descriptions is the lack of formalization, making it difficult to reason about properties and supported use cases. In this paper we propose a formal model of covenants, which can be implemented with minor modifications to Bitcoin. We use our model to specify some complex Bitcoin contracts, and we discuss how to exploit covenants to design high-level language primitives for Bitcoin contracts.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Bitcoin Wiki - contracts - assurance contracts (2012). https://en.bitcoin.it/wiki/Contract#Example_3:_Assurance_contracts
ERC-20 token standard (2015). https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md
King of the Ether Throne (2016). https://web.archive.org/web/20160211005112/https://www.kingoftheether.com/
Understanding the DAO attack, June 2016. http://www.coindesk.com/understanding-dao-hack-journalists/
Bitcoin Wiki - Pay-to-Script Hash (2017). https://en.bitcoinwiki.org/wiki/Pay-to-Script_Hash
BALZaC: Bitcoin abstract language, analyzer and compiler (2018). https://blockchain.unica.it/balzac/
Andrychowicz, M., Dziembowski, S., Malinowski, D., Mazurek, Ł.: Fair two-party computations via Bitcoin deposits. In: Böhme, R., Brenner, M., Moore, T., Smith, M. (eds.) FC 2014. LNCS, vol. 8438, pp. 105–121. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-662-44774-1_8
Andrychowicz, M., Dziembowski, S., Malinowski, D., Mazurek, Ł.: Modeling Bitcoin contracts by timed automata. In: Legay, A., Bozga, M. (eds.) FORMATS 2014. LNCS, vol. 8711, pp. 7–22. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-10512-3_2
Andrychowicz, M., Dziembowski, S., Malinowski, D., Mazurek, L.: Secure multiparty computations on Bitcoin. In: IEEE S&P, pp. 443–458 (2014). https://doi.org/10.1109/SP.2014.35
Atzei, N., Bartoletti, M., Cimoli, T., Lande, S., Zunino, R.: SoK: unraveling Bitcoin smart contracts. In: Bauer, L., Küsters, R. (eds.) POST 2018. LNCS, vol. 10804, pp. 217–242. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-89722-6_9
Atzei, N., Bartoletti, M., Lande, S., Yoshida, N., Zunino, R.: Developing secure Bitcoin contracts with BitML. In: ESEC/FSE (2019). https://doi.org/10.1145/3338906.3341173
Atzei, N., Bartoletti, M., Lande, S., Zunino, R.: A formal model of Bitcoin transactions. In: Meiklejohn, S., Sako, K. (eds.) FC 2018. LNCS, vol. 10957, pp. 541–560. Springer, Heidelberg (2018). https://doi.org/10.1007/978-3-662-58387-6_29
Banasik, W., Dziembowski, S., Malinowski, D.: Efficient zero-knowledge contingent payments in cryptocurrencies without scripts. In: Askoxylakis, I., Ioannidis, S., Katsikas, S., Meadows, C. (eds.) ESORICS 2016. LNCS, vol. 9879, pp. 261–280. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-45741-3_14
Bartoletti, M., Carta, S., Cimoli, T., Saia, R.: Dissecting Ponzi schemes on Ethereum: identification, analysis, and impact. Future Gener. Comput. Syst. 102, 259–277 (2020). https://doi.org/10.1016/j.future.2019.08.014
Bartoletti, M., Cimoli, T., Zunino, R.: Fun with Bitcoin smart contracts. In: ISoLA, pp. 432–449 (2018). https://doi.org/10.1007/978-3-030-03427-6 32
Bartoletti, M., Murgia, M., Zunino, R.: Renegotiation and recursion in Bitcoin contracts. In: Bliudze, S., Bocchi, L. (eds.) COORDINATION 2020. LNCS, vol. 12134, pp. 261–278. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-50029-0_17
Bartoletti, M., Zunino, R.: Constant-deposit multiparty lotteries on bitcoin. In: Brenner, M., et al. (eds.) FC 2017. LNCS, vol. 10323, pp. 231–247. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-70278-0_15
Bartoletti, M., Zunino, R.: BitML: a calculus for Bitcoin smart contracts. In: ACM CCS (2018). https://doi.org/10.1145/3243734.3243795
Bartoletti, M., Zunino, R.: Verifying liquidity of Bitcoin contracts. In: Nielson, F., Sands, D. (eds.) POST 2019. LNCS, vol. 11426, pp. 222–247. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-17138-4_10
Bentov, Iddo, Kumaresan, Ranjit: How to use Bitcoin to design fair protocols. In: Garay, Juan A., Gennaro, Rosario (eds.) CRYPTO 2014. LNCS, vol. 8617, pp. 421–439. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-662-44381-1_24
Boneh, D., Naor, M.: Timed commitments. In: Bellare, M. (ed.) CRYPTO 2000. LNCS, vol. 1880, pp. 236–254. Springer, Heidelberg (2000). https://doi.org/10.1007/3-540-44598-6_15
Brünjes, L., Gabbay, M.J.: UTxO- vs account-based smart contract blockchain programming paradigms. CoRR abs/2003.14271 (2020)
Chakravarty, M.M.T., Chapman, J., MacKenzie, K., Melkonian, O., Peyton Jones, M., Wadler, P.: The extended UTXO model. In: Bernhard, M., et al. (eds.) FC 2020. LNCS, vol. 12063, pp. 525–539. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-54455-3_37
Chakravarty, M.M., et al.: Native custom tokens in the extended UTXO model. In: ISoLA (2020). To appear
Chakravarty, M.M., et al.: UTXO\({}_{\rm ma}\): UTXO with multi-asset support. In: ISoLA (2020). To appear
Chen, W., Zheng, Z., Cui, J., Ngai, E., Zheng, P., Zhou, Y.: Detecting Ponzi schemes on Ethereum: towards healthier blockchain technology. In: WWW, pp. 1409–1418. ACM (2018). https://doi.org/10.1145/3178876.3186046
Dashjr, L.: BIP 0002 (2016). https://en.bitcoin.it/wiki/BIP_0002
Kalis, R.: Cashscript – writing covenants (2019). https://cashscript.org/docs/guides/covenants/
Kumaresan, R., Bentov, I.: How to use Bitcoin to incentivize correct computations. In: ACM CCS, pp. 30–41 (2014). https://doi.org/10.1145/2660267.2660380
Kumaresan, R., Moran, T., Bentov, I.: How to use Bitcoin to play decentralized poker. In: ACM CCS, pp. 195–206 (2015). https://doi.org/10.1145/2810103.2813712
Maxwell, G.: CoinCovenants using SCIP signatures, an amusingly bad idea (2013). https://bitcointalk.org/index.php?topic=278122.0
Miller, A., Bentov, I.: Zero-collateral lotteries in Bitcoin and Ethereum. In: EuroS&P Workshops, pp. 4–13 (2017). https://doi.org/10.1109/EuroSPW.2017.44
Möser, M., Eyal, I., Sirer, E.G.: Bitcoin covenants. In: Financial Cryptography Workshops. LNCS, vol. 9604, pp. 126–141. Springer (2016). https://doi.org/10.1007/978-3-662-53357-4_9
Nick, J., Poelstra, A., Sanders, G.: Liquid: a Bitcoin sidechain (2020). https://blockstream.com/assets/downloads/pdf/liquid-whitepaper.pdf
O’Connor, R., Piekarska, M.: Enhancing Bitcoin transactions with covenants. In: Brenner, M., et al. (eds.) FC 2017. LNCS, vol. 10323, pp. 191–198. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-70278-0_12
Wuille, P., Nick, J., Towns, A.: Taproot: SegWit version 1 spending rules, BIP 341 (2020). https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki
Poon, J., Dryja, T.: The Bitcoin Lightning Network: Scalable off-chain instant payments (2015). https://lightning.network/lightning-network-paper.pdf
Rubin, J.: CHECKTEMPLATEVERIFY, BIP 119 (2020). https://github.com/bitcoin/bips/blob/master/bip-0119.mediawiki
Lamela Seijas, P., Thompson, S.: Marlowe: financial contracts on blockchain. In: Margaria, T., Steffen, B. (eds.) ISoLA 2018. LNCS, vol. 11247, pp. 356–375. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-03427-6_27
Swambo, J., Hommel, S., McElrath, B., Bishop, B.: Bitcoin covenants: three ways to control the future. CoRR abs/2006.16714 (2020)
Vasek, M., Moore, T.: There’s no free lunch, even using Bitcoin: tracking the popularity and profits of virtual currency scams. In: Böhme, R., Okamoto, T. (eds.) FC 2015. LNCS, vol. 8975, pp. 44–61. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-47854-7_4
Zahnentferner, J.: An abstract model of UTxO-based cryptocurrencies with scripts. Cryptology ePrint Archive 2018/469 (2018). https://eprint.iacr.org/2018/469
Acknowledgements
Massimo Bartoletti is partially supported by Aut. Reg. of Sardinia project “Sardcoin”. Stefano Lande is partially supported by P.O.R. F.S.E. 2014–2020. Roberto Zunino is partially supported by MIUR PON 2018 “Distributed Ledgers for Secure Open Communities” ARS01_00587.
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Bartoletti, M., Lande, S., Zunino, R. (2020). Bitcoin Covenants Unchained. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods, Verification and Validation: Applications. ISoLA 2020. Lecture Notes in Computer Science(), vol 12478. Springer, Cham. https://doi.org/10.1007/978-3-030-61467-6_3
Download citation
DOI: https://doi.org/10.1007/978-3-030-61467-6_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-61466-9
Online ISBN: 978-3-030-61467-6
eBook Packages: Computer ScienceComputer Science (R0)