Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: andy10000 on March 22, 2014, 04:59:54 AM



Title: nLockTime: Can it be used as the basis for cold storage?
Post by: andy10000 on March 22, 2014, 04:59:54 AM
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.


Title: Re: nLockTime: Can it be used as the basis for cold storage?
Post by: grau on March 22, 2014, 07:19:07 AM
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.


Title: Re: nLockTime: Can it be used as the basis for cold storage?
Post by: andy10000 on March 22, 2014, 02:28:34 PM
Thanks, great answer.

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

Andy


Title: Re: nLockTime: Can it be used as the basis for cold storage?
Post by: wheatstone on March 22, 2014, 05:40:26 PM
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


Title: Re: nLockTime: Can it be used as the basis for cold storage?
Post by: Jared C on March 23, 2014, 06:34:10 PM
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.



Title: Re: nLockTime: Can it be used as the basis for cold storage?
Post by: Hawkix on March 24, 2014, 08:11:46 PM
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)?


Title: Re: nLockTime: Can it be used as the basis for cold storage?
Post by: instagibbs on March 24, 2014, 08:48:29 PM
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.