3
1
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?
3
1
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.
2Using 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 – 2016-10-09T06:28:06.540
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 – 2016-10-09T09:14:25.270