Author

Topic: nLockTime: Can it be used as the basis for cold storage? (Read 855 times)

member
Activity: 114
Merit: 12
Who guarantees that the nLockTime transaction will stay in transaction pool for long time? Sending from address A and then destroying its private key looks VERY DANGEROUS to me.

If the nLockTime transactions are preserved in the memory pools of all nodes, how it is prevented for misuse (DOS attacks)?

One can just broadcast it later... keep it on your HDD somewhere, triggered to broadcast.
hero member
Activity: 531
Merit: 505
Who guarantees that the nLockTime transaction will stay in transaction pool for long time? Sending from address A and then destroying its private key looks VERY DANGEROUS to me.

If the nLockTime transactions are preserved in the memory pools of all nodes, how it is prevented for misuse (DOS attacks)?
newbie
Activity: 4
Merit: 0
So, if you want to send money to your son on his 18th birthday before you go to prison for [insert victimless crime here] all you have to do is destroy the keys after creating the nLockTime Tx to a new address. And make sure he gets the private key that pairs to the new address, along with the signed nLockTime Tx that will need to be broadcasted once it's block has come.

Goodbye to "Trusts" where you have to place trust in someone to give your money to someone else in the future.

member
Activity: 82
Merit: 10
Thanks, great answer.

Is there a bitcoin function list online somewhere that expalins how these things work?

Andy

You mean like a wiki dedicated to Bitcoin?

https://en.bitcoin.it/wiki/Main_Page
newbie
Activity: 29
Merit: 0
Thanks, great answer.

Is there a bitcoin function list online somewhere that expalins how these things work?

Andy
hero member
Activity: 836
Merit: 1030
bits of proof
nLockTime disallows a transaction to be included into a block until its time is has come.

Your coins however are controlled by the keys that are able to create transactions that spend them. Having a time locked transaction as above does not prevent creating other not locked transactions with the keys. Therefore you have to still protect your keys.

You could however send your money with a time locked transaction to yourself to a new address (key) and destroy the sending key. You would then have to store the new key and transaction to be broadcasted as time has come.

The money could not be stolen in the meanwhile, provided your destroyed key was not leaked before destruction. On the other side you would be locked out of your money just like any other. You would have to protect the new key since access to that would allow attacker to capture it immediately after release.

Added: multi signature addresses, Shamir's secret shares and hardware protection like paper or TREZOR appear a better alternative to me.
newbie
Activity: 29
Merit: 0
I'm not even a newby yet. I've never seen the blockchain client:

But I'm curious to know if I send coins between two addresses using nLockTime set to say 1 month in the future, if that would make my coins impossible to steal for a month. Could this be used the basis for a cold storage system? Like a time-lock vault? Where would the coins sent be housed during that month: In the sending or receiving address, or neither?

Thanks for your comments.
Jump to: