3

Is it possible to create a 1 of 2 multi-sig address in which only one of the keys is time-locked and the other can sign any time?

2

only one of the keys is time-locked

Keys aren't time-locked. Transactions are. However, Bitcoin now has an opcode for this purpose: OP_CHECKLOCKTIMEVERIFY.

Essentially, it forces the transaction to have a lock time further in the future than its argument, otherwise the transaction is invalid.

In your case, the script would look like this:

OP_IF <this pubkey can spend at any time> OP_CHECKSIG OP_ELSE <block number> OP_CHECKLOCKTIMEVERIFY OP_DROP <this pubkey must wait until block number> OP_CHECKSIG OP_ENDIF

The spend-anytime key can redeem the transaction with

<Sig> 1 <above script>

The other key can redeem with

<Sig> 0 <above script>

but only after the given block number.

0

No, not the way you are describing. The lock is placed on transaction outputs, not the private key(s). When the lock expires the outputs can be spent but it doesnt matter which of the M of N signatures are used, just as long as they are valid and that there are at least M of N.

  • 2
    Using OP_CHECKLOCKTIMEVERIFY the output being spent can require the locktime of the spending transaction to be a certain value in case one of the signers doesn't sign. – Pieter Wuille Oct 9 '16 at 6:28
  • 1
    @PieterWuille this sounds like it achieves the same effect as the question implies, but I can't quite grasp how to do it. Could you elaborate or give an example? Thank you! – Msig2 Oct 9 '16 at 9:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.