Bitcoin Forum
November 19, 2017, 11:21:41 AM *
News: Latest stable version of Bitcoin Core: 0.15.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: Delayed/time locked transactions  (Read 841 times)
User705
Hero Member
*****
Offline Offline

Activity: 742



View Profile
September 24, 2013, 07:29:13 PM
 #1

Can someone explain delayed or time locked transactions to me please.  Is the transaction recorded in a block early and if not where does it sit until time lock expires?  What if I broadcast another transaction before the time lock expires spending the same coins?
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
Qoheleth
Legendary
*
Offline Offline

Activity: 927


Spurn wild goose chases. Seek that which endures.


View Profile WWW
September 24, 2013, 08:18:50 PM
 #2

Can someone explain delayed or time locked transactions to me please.  Is the transaction recorded in a block early and if not where does it sit until time lock expires?  What if I broadcast another transaction before the time lock expires spending the same coins?
My understanding is that a time-locked transaction is simply a transaction that is signed and ready to go, but cannot be submitted to the network until a certain time. You can send it to whoever you want, but until the time arrives, you're free to spend your coins in some other way, and if you do the time-locked transaction becomes invalid (won't be accepted if someone tries to submit it, because the coins are already spent). But if the time comes, they then have the option to submit the transaction.

This is useful for cases such as inheritance dead-man switches; if you give your heir a time-locked transaction every year letting them spend your fortune, then as long as you're alive you can move your bitcoins somewhere else every year and maintain control of them, and if you die your successor can inherit your coins without having to ever know your private key.

If there is something that will make Bitcoin succeed, it is growth of utility - greater quantity and variety of goods and services offered for BTC. If there is something that will make Bitcoin fail, it is the prevalence of users convinced that BTC is a magic box that will turn them into millionaires, and of the con-artists who have followed them here to devour them.
coastermonger
Sr. Member
****
Offline Offline

Activity: 367

Find me at Bitrated


View Profile
September 25, 2013, 07:28:11 AM
 #3

Delayed transactions are oh-so-close to becoming an invaluable tool in bitcoin security.

I would LOVE for some kind of implementation to be created that enforces the following logic in a trustless network:

  • Your bitcoin transaction will be included in a block only when it can detect a previous spend attempt that it is X number of confirmations (time) prior.
  • Or your bitcoin transaction may be instantly sent to the prespecified address Y.  

What does this mean?  If implemented properly it means a seriously hard to steal hot wallet.  
You make an address with a special kind of wallet.  The ultimate purpose of your wallet is not to store private keys, but to store something like an encrypted private key that can only be unlocked by communicating with an external network that understands the rules behind the address you created.  

If later, you make a transaction to spend some bitcoin using this wallet, it does not immediately go into the blockchain (no private key here) it gets forwarded to this network and hangs out for a while until it reaches maturity, and then boom the private key can finally be decrypted when its finally included in a block.  The network itself might even be co-signing it as an m of n transaction.
While still immature, a transaction can be made to overwrite the first spend attempt and the waiting process starts over again.  Only the last and most recent spend attempt from that address will make it into the blockchain.

This means if a spend attempt is incorrect (theft or mistake) there is time to correct it before its permanently gone forever.  
To avoid getting into an endless spend war with a thief, you can instantly send it to that failsafe address you set up in the beginning (like an offline wallet)
This means you have a chance to immediately recognize when a malicious party is attempting to steal your coins and do something to RECLAIM THEM.

Thus, stealing bitcoins is no longer an undetectable crime that has no punishment.  It could quickly become a pointless crime that doesn't pay.  Even more importantly, your computer would be a worthless target.  With no private keys to steal, the only hope a thief could have is to steal your precursor key, spend it to the delay enforcing network, and hope you don't notice before it matures there.

How could these kinds of delayed transactions be safely enforced for those who want them?  Many solutions may exist but they ultimately require some very creative thinking in order to implement without changing the existing bitcoin protocol.  I do like the idea of a specialized wallet that uses a sister blockchain.  It listens to the bitcoin blockchain and acts as a sort of transaction generator, using pre-specified rules to co-sign your transactions.  If the network is distributed and peer-to-peer, then a malicious entity would find it very difficult to try to override the networks rules about when transactions mature.

Bitrated user: Rees.
wolverine.ks
Sr. Member
****
Offline Offline

Activity: 375



View Profile
October 14, 2013, 03:00:38 AM
 #4

My understanding is that a time-locked transaction is simply a transaction that is signed and ready to go, but cannot be submitted to the network until a certain time. You can send it to whoever you want, but until the time arrives, you're free to spend your coins in some other way, and if you do the time-locked transaction becomes invalid (won't be accepted if someone tries to submit it, because the coins are already spent). But if the time comes, they then have the option to submit the transaction.

Can anyone else confirm this? I've been wondering this myself. I was at a meetup the other day where I heard that once a transaction has been created and signed that you could not spend them elsewhere before the time originally specified in the script.

Additionally, can a timelock be combined with other parameters that must be satisfied before the transaction is broadcastable? e.g. (date > 10/20/30 and John Doe is dead.)
b!z
Legendary
*
Offline Offline

Activity: 1568



View Profile
October 15, 2013, 06:51:45 AM
 #5

I think I've read somewhere that it is possible to do this, but the feature is not fully supported yet. I might be wrong.
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!