2

Is it possible to construct a transaction which is delayed in time, more specifically blocks? The idea being that you have a device which has a signed transaction, which sends all of your Bitcoin to the address of your kid once a certain block is reached.

Is this possible? Seems to me to be an easy solution to the problem of how to pass on your Bitcoin.

1 Answer 1

2

Yes there are timelock scripts (and opcodes) in Bitcoin.

From the Mastering the Lightning Network book (Antonopoulos, Osuntokun, Pickhardt):

Bitcoin has two levels of timelocks: transaction-level timelocks and output-level timelocks.

A transaction-level timelock is recorded in the transaction nLockTime field of the transaction and prevents the entire transaction from being accepted before the timelock has passed. Transaction-level timelocks are the most commonly used timelock mechanism in Bitcoin today.

An output-level timelock is created by a script operator. There are two types of output timelocks: absolute timelocks and relative timelocks.

Output-level absolute timelocks are implemented by the operator CHECKLOCKTIMEVERIFY, which is often shortened in conversation as CLTV. Absolute timelocks implement a time constraint with an absolute timestamp or blockheight, expressing the equivalent of "not spendable before block 800,000."

Output-level relative timelocks are implemented by the operator CHECKSEQUENCEVERIFY, often shortened in conversation as CSV. Relative timelocks implement a spending constraint that is relative to the confirmation of the transaction, expressing the equivalent of "can’t be spent until 1,024 blocks after confirmation."

Obviously your descendant would need access to the relevant private key (and no one else should be able to access it) for whenever the timelock expires but the timelock would prevent the spending of the Bitcoin until then. More complex arrangements (e.g. a combination of multisig and a timelock) may be superior to protect against the possibility of someone other than your descendant getting access to the private key.

2
  • Just to clarify: Would it be possible to have a transaction like this that does not actually specify the amount of Bitcoin that will be spent? The idea being that you can still use all of your Bitcoin as you please but after x amount of blocks all that remains is sent to another address, the owner of which (the descendant in this case) could also already create such a transaction for his descendants, without actually having received the Bitcoins?
    – MManke
    Commented Sep 7, 2022 at 23:46
  • No. If a timelock is imposed on particular UTXO(s) you need to decide which UTXO(s) have a timelock imposed on them and hence the amounts that have timelocks imposed on them. You can't impose a timelock on a fraction of a UTXO amount without splitting that UTXO into multiple UTXOs and imposing timelocks on only some of these UTXOs. Once a UTXO is spent it imposes no restrictions on future UTXOs created. Commented Sep 8, 2022 at 0:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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