Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 12478))

Included in the following conference series:

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.

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

References

  1. Bitcoin Wiki - contracts - assurance contracts (2012). https://en.bitcoin.it/wiki/Contract#Example_3:_Assurance_contracts

  2. ERC-20 token standard (2015). https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20.md

  3. King of the Ether Throne (2016). https://web.archive.org/web/20160211005112/https://www.kingoftheether.com/

  4. Understanding the DAO attack, June 2016. http://www.coindesk.com/understanding-dao-hack-journalists/

  5. Bitcoin Wiki - Pay-to-Script Hash (2017). https://en.bitcoinwiki.org/wiki/Pay-to-Script_Hash

  6. BALZaC: Bitcoin abstract language, analyzer and compiler (2018). https://blockchain.unica.it/balzac/

  7. 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

    Chapter  Google Scholar 

  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

    Chapter  MATH  Google Scholar 

  9. 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

  10. 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

    Chapter  Google Scholar 

  11. 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

  12. 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

    Chapter  Google Scholar 

  13. 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

    Chapter  Google Scholar 

  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

    Article  Google Scholar 

  15. 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

  16. 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

    Chapter  Google Scholar 

  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

    Chapter  Google Scholar 

  18. Bartoletti, M., Zunino, R.: BitML: a calculus for Bitcoin smart contracts. In: ACM CCS (2018). https://doi.org/10.1145/3243734.3243795

  19. 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

    Chapter  Google Scholar 

  20. 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

    Chapter  Google Scholar 

  21. 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

    Chapter  Google Scholar 

  22. Brünjes, L., Gabbay, M.J.: UTxO- vs account-based smart contract blockchain programming paradigms. CoRR abs/2003.14271 (2020)

    Google Scholar 

  23. 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

    Chapter  Google Scholar 

  24. Chakravarty, M.M., et al.: Native custom tokens in the extended UTXO model. In: ISoLA (2020). To appear

    Google Scholar 

  25. Chakravarty, M.M., et al.: UTXO\({}_{\rm ma}\): UTXO with multi-asset support. In: ISoLA (2020). To appear

    Google Scholar 

  26. 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

  27. Dashjr, L.: BIP 0002 (2016). https://en.bitcoin.it/wiki/BIP_0002

  28. Kalis, R.: Cashscript – writing covenants (2019). https://cashscript.org/docs/guides/covenants/

  29. 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

  30. 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

  31. Maxwell, G.: CoinCovenants using SCIP signatures, an amusingly bad idea (2013). https://bitcointalk.org/index.php?topic=278122.0

  32. 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

  33. 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

  34. Nick, J., Poelstra, A., Sanders, G.: Liquid: a Bitcoin sidechain (2020). https://blockstream.com/assets/downloads/pdf/liquid-whitepaper.pdf

  35. 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

    Chapter  Google Scholar 

  36. 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

  37. Poon, J., Dryja, T.: The Bitcoin Lightning Network: Scalable off-chain instant payments (2015). https://lightning.network/lightning-network-paper.pdf

  38. Rubin, J.: CHECKTEMPLATEVERIFY, BIP 119 (2020). https://github.com/bitcoin/bips/blob/master/bip-0119.mediawiki

  39. 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

    Chapter  Google Scholar 

  40. Swambo, J., Hommel, S., McElrath, B., Bishop, B.: Bitcoin covenants: three ways to control the future. CoRR abs/2006.16714 (2020)

    Google Scholar 

  41. 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

    Chapter  Google Scholar 

  42. Zahnentferner, J.: An abstract model of UTxO-based cryptocurrencies with scripts. Cryptology ePrint Archive 2018/469 (2018). https://eprint.iacr.org/2018/469

Download references

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

Authors

Corresponding authors

Correspondence to Massimo Bartoletti , Stefano Lande or Roberto Zunino .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics