Advertisement

Enhancing Bitcoin Transactions with Covenants

  • Russell O’ConnorEmail author
  • Marta Piekarska
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10323)

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.

References

  1. 1.
    Back, A.: Announcing sidechain elements: open source code and developer sidechains for advancing Bitcoin (2015). https://blockstream.com/2015/06/08/714/
  2. 2.
    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
  3. 3.
    BtcDrak, Friedenbach, M., Lombrozo, E.: BIP112: Checksequenceverify. Bitcoin Improvement Proposal (2015). https://github.com/bitcoin/bips/blob/master/bip-0112.mediawiki
  4. 4.
    Certicom Research: Standards for Efficient Cryptography 2: Recommended Elliptic Curve Domain Parameters. Standard SEC2, Certicom Corp., Mississauga, ON, USA, September 2000Google Scholar
  5. 5.
    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
  6. 6.
    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
  7. 7.
    Lombrozo, E., Wuille, P.: BIP144: segregated witness (peer services). Bitcoin Improvement Proposal (2016). https://github.com/bitcoin/bips/blob/master/bip-0144.mediawiki
  8. 8.
    Maxwell, G.: Confidential transactions (2015). https://people.xiph.org/~greg/confidential_values.txt
  9. 9.
    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 CrossRefGoogle Scholar
  10. 10.
  11. 11.
    Nakamoto, S.: Re: Transactions and Scripts: DUP HASH160 ... EQUALVERIFY CHECKSIG, June 2010. https://bitcointalk.org/index.php?topic=195.msg1611#msg1611
  12. 12.
    O’Connor, R.: Covenants in Elements Alpha, November 2016. https://blockstream.com/2016/11/02/covenants-in-elements-alpha.html

Copyright information

© International Financial Cryptography Association 2017

Authors and Affiliations

  1. 1.BlockstreamMontréalCanada

Personalised recommendations