Bitcoin covenants unchained
Massimo Bartoletti, Stefano Lande, Roberto Zunino

TL;DR
This paper introduces a formal model for Bitcoin covenants, enhancing contract expressiveness while maintaining simplicity, and demonstrates how to implement and utilize them for complex contract design.
Contribution
It provides the first formalization of covenants in Bitcoin, enabling better reasoning and high-level contract primitives with minimal implementation changes.
Findings
Formal model of covenants proposed
Specification of complex Bitcoin contracts
Discussion on high-level language primitives
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.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
