Abstract
Covenants are Bitcoin Script programs that restrict how funds are allowed to be spent. In previous work [9], Möser et al. implemented covenants with a new Script operation that allows one to programmatically query the transaction. In this paper, we show that covenants can be implemented with a new CHECKSIGFROMSTACK operation that verifies a signature for a message passed as an argument. When the same public key and signature is used together with CHECKSIG, one can recover transaction data, which then allows one to enforce a covenant. To illustrate our technique, we reimplement Möser et al.’s vault construction for securing funds against key compromise. We use Elements Alpha, a sidechain whose Script language has the needed operations.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Back, A.: Announcing sidechain elements: open source code and developer sidechains for advancing Bitcoin (2015). https://blockstream.com/2015/06/08/714/
Back, A., Corallo, M., Dashjr, L., Friedenbach, M., Maxwell, G., Miller, A., Poelstra, A., Timón, J., Wuille, P.: Enabling Blockchain innovations with pegged sidechains (2014). https://www.blockstream.com/sidechains.pdf
BtcDrak, Friedenbach, M., Lombrozo, E.: BIP112: Checksequenceverify. Bitcoin Improvement Proposal (2015). https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki
Certicom Research: Standards for Efficient Cryptography 2: Recommended Elliptic Curve Domain Parameters. Standard SEC2, Certicom Corp., Mississauga, ON, USA, September 2000
Kumaresan, R., Bentov, I.: Amortizing secure computation with penalties. In: Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, CCS 2016, pp. 418–429. ACM, New York (2016), http://doi.acm.org/10.1145/2976749.2978424
Lombrozo, E., Lau, J., Wuille, P.: BIP141: segregated witness (consensus layer). Bitcoin Improvement Proposal (2015). https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki
Lombrozo, E., Wuille, P.: BIP144: segregated witness (peer services). Bitcoin Improvement Proposal (2016). https://github.com/bitcoin/bips/blob/master/bip-0144.mediawiki
Maxwell, G.: Confidential transactions (2015). https://people.xiph.org/~greg/confidential_values.txt
Möser, M., Eyal, I., Gün Sirer, E.: Bitcoin covenants. In: Clark, J., Meiklejohn, S., Ryan, P.Y.A., Wallach, D., Brenner, M., Rohloff, K. (eds.) FC 2016. LNCS, vol. 9604, pp. 126–141. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-53357-4_9
Nakamoto, S.: Misc changes, August 2010. https://github.com/bitcoin/bitcoin/commit/4bd188c4383d6e614e18f79dc337fbabe8464c82, https://bitcoin.svn.sourceforge.net/svnroot/bitcoin/trunk@131
Nakamoto, S.: Re: Transactions and Scripts: DUP HASH160 ... EQUALVERIFY CHECKSIG, June 2010. https://bitcointalk.org/index.php?topic=195.msg1611#msg1611
O’Connor, R.: Covenants in Elements Alpha, November 2016. https://blockstream.com/2016/11/02/covenants-in-elements-alpha.html
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 International Financial Cryptography Association
About this paper
Cite this paper
O’Connor, R., Piekarska, M. (2017). Enhancing Bitcoin Transactions with Covenants. In: Brenner, M., et al. Financial Cryptography and Data Security. FC 2017. Lecture Notes in Computer Science(), vol 10323. Springer, Cham. https://doi.org/10.1007/978-3-319-70278-0_12
Download citation
DOI: https://doi.org/10.1007/978-3-319-70278-0_12
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-70277-3
Online ISBN: 978-3-319-70278-0
eBook Packages: Computer ScienceComputer Science (R0)