Author

Topic: [deleted] (Read 197 times)

newbie
Activity: 12
Merit: 25
January 16, 2020, 06:40:28 PM
#10
With locktime, you can access the funds in the meantime. It's just that every time you spend, the timelocked transaction paying your heirs will become invalid because of double spent inputs. In other words, spending those outputs achieves the same thing as "sending satoshis to an address" in your example above -- it prevents the switch from activating. To recreate the dead man's switch, you'll just need to craft a new timelocked transaction each time you spend.
I see, as long as I can still access the funds in the meantime then that's a viable solution. I do not want to spin up a server and expose private keys, If its not something capable from within bitcoin's system then its not for me so that's not an issue. I will have to look more into locktime and what can and cant be done with it. So if I am understanding correctly, I could create a timelocked transaction that is configured to transfer funds from one address to another, and there is a way to interrupt a timelocked transaction if I need to extract funds.

Yes, exactly. In fact, you'll need to do so periodically to prevent the timelocked transaction(s) from becoming valid, which would allow your heirs to take your bitcoins.

Just to be clear, there is no way to automatically transfer the funds in a reliable way. After creating the timelocked transaction, you need to give it to your heirs (or leave it in a place they can/will access) so they can broadcast it if/when the time comes.

Good info to know, it looks like this is a solution that can work for me. So from what I understand a timelocked transaction IS a transaction. Where does that transaction sit in my scenario? My ultimate goal is to have the transaction broadcast and move funds from an address behind my two factor passphrase to an address that is based on the same seed phrase, but not behind the two factor passphrase. In this case, would the transaction be time locked and sitting behind my two-factor passphrase waiting to be broadcasted? The reason I ask is because I would not want a malicious person to somehow get a hold of my 24 word seed phrase and then be able to unlock the timelocked transaction because its not behind my passphrase, or would such a transction be protected with the same level of security until the appropriate time has passed?
legendary
Activity: 3472
Merit: 10611
January 17, 2020, 10:16:16 PM
#9
It sounds like there might be a market to develop wallet software with inheritance and custody ownership as the main focus of the wallet. I know trezor can create timelocked transactions but I don't think it has very many features beyond that. What would be some needed features of a wallet software that focuses on this stuff? Additionally, the software could also help set up inheritance and (hopefully) communicate with hardware wallets in some way as well.

if you ask me OP_CLV should not be viewed as or used for inheritance purposes. it is a fund lockup mechanism that is best used for short intervals. specially since there are some problems involved in using it for inheritance for example as long as you remain alive you will have to keep spending the same outputs and create a new "locked coins".
so far apart from people asking about it, i haven't seen that much demand. but it wouldn't be that hard to implement it in any of the existing wallets. it is a pretty simple script although it needs extra attention when implemented for the first time. the wallet could simply take 2 keys, one private (from you) and 1 public (belong to the heir) and a date to create the P2SH address and send the funds there.
legendary
Activity: 3472
Merit: 10611
January 16, 2020, 11:08:19 PM
#8
Code:
IF
    CHECKSIGVERIFY
ELSE
    CHECKLOCKTIMEVERIFY DROP
ENDIF
CHECKSIG

usually when inheritance is involved you want to have this option: be able to spend coins yourself OR let the heir spend if a locktime is reached.

in this script the owner of the coins can NOT spend this transaction on his own and will always need his "heir's" signature because the last line is outside of the else branch. basically it is translated to this:
to spend either need his signature + his heir's or need the locktime to be reached + his heir's signature.
the solution would be to place it inside the else branch.
legendary
Activity: 2618
Merit: 6452
Self-proclaimed Genius
January 16, 2020, 10:25:31 PM
#7
Where does that transaction sit in my scenario?
It will be rejected by nodes including the one where your client is connected; non-broadcast transaction won't exist in the blockchain.

The description of your scenario including your previous replies require CLTV scripts to work, but instead of sending to an address behind your no-passphrase seed,
the funds needs to be directly sent to a P2SH address which has a "rule": [Read BIP65]
Code:
IF
     CHECKSIGVERIFY
ELSE
     CHECKLOCKTIMEVERIFY DROP
ENDIF
     CHECKSIG

You can spend the funds sent to that address whenever you want (timer starts after the transaction), but when the expiry time passed, your heir can spend it instead.
It's also possible to use the funds without creating another script by using it as the change address (but that involves address reuse!).

The problem is there's no known non-custodial client that utilizes those scripts Grin
legendary
Activity: 1666
Merit: 1196
STOP SNITCHIN'
January 16, 2020, 03:22:40 PM
#6
With locktime, you can access the funds in the meantime. It's just that every time you spend, the timelocked transaction paying your heirs will become invalid because of double spent inputs. In other words, spending those outputs achieves the same thing as "sending satoshis to an address" in your example above -- it prevents the switch from activating. To recreate the dead man's switch, you'll just need to craft a new timelocked transaction each time you spend.
I see, as long as I can still access the funds in the meantime then that's a viable solution. I do not want to spin up a server and expose private keys, If its not something capable from within bitcoin's system then its not for me so that's not an issue. I will have to look more into locktime and what can and cant be done with it. So if I am understanding correctly, I could create a timelocked transaction that is configured to transfer funds from one address to another, and there is a way to interrupt a timelocked transaction if I need to extract funds.

Yes, exactly. In fact, you'll need to do so periodically to prevent the timelocked transaction(s) from becoming valid, which would allow your heirs to take your bitcoins.

Just to be clear, there is no way to automatically transfer the funds in a reliable way. After creating the timelocked transaction, you need to give it to your heirs (or leave it in a place they can/will access) so they can broadcast it if/when the time comes.
legendary
Activity: 3696
Merit: 1584
January 16, 2020, 01:00:20 AM
#5
There is no easy solution for passing on your coins to your next of kin. You haven't thought through the whole process. Do they know how bitcoin works? Have they got accounts on an exchange? would they be willing to submit to kyc process on an exchange? How likely is it that they screw up and fall victim to a scam or malware?

IMO the simplest solution is to cash out and leave them fiat. Your next of kin are used to handling fiat but not bitcoin.
legendary
Activity: 1666
Merit: 1196
STOP SNITCHIN'
January 16, 2020, 12:49:56 AM
#4
This thread may be of interest to you: Using Locktime for inheritance planning, backups or gifts

Instead of the paper wallet in that example, you could give your family the 24-word seed and send the funds to an address derived from it.
Oh I see. This is probably not the solution I am looking for then because I want to be able to access the funds in the meantime. I think an easier way to describe it would be for me to have some sort of dead mans switch, where I send some satoshi's to an address behind my two-factor to keep the funds alive every few months, and if there is no inbound satoshi's being detected after x time it then releases the funds to another address derived from my seed phrase that is not behind the two factor passphrase. So the solution linked above would be great for cold storage but my use case isn't specifically cold storage.

Think about how vulnerable and unreliable that would be. These scripts would need to be self-executing, hosted on a live server, with access to your private keys. What happens if the server gets compromised? What if there is a hardware failure or power outage preventing script execution... and you're dead? Alternatively, you can utilize a trusted third party like deadmansswitch.net -- similar pitfalls.

With locktime, you can access the funds in the meantime. It's just that every time you spend, the timelocked transaction paying your heirs will become invalid because of double spent inputs. In other words, spending those outputs achieves the same thing as "sending satoshis to an address" in your example above -- it prevents the switch from activating. To recreate the dead man's switch, you'll just need to craft a new timelocked transaction each time you spend.
legendary
Activity: 2618
Merit: 6452
Self-proclaimed Genius
January 15, 2020, 11:29:22 PM
#3
The simplest setup is to create a signed transaction with locktime of about <12months from now and give the "signed Raw transaction" to your beneficiary.

He won't be able to broadcast it during that 12 months.
Before the locktime date come and you're still 'kicking', you can create another normal transaction spending the inputs used by the "timelock" transaction. That will make it invalid.
Create another locktime transaction using the new input and contact 'him' about replacing the signed RAW transaction that you've gave previously.

Repeat the process for every "extension".

If you're using Trezor, read this: https://wiki.trezor.io/User_manual:Using_locktime
legendary
Activity: 1666
Merit: 1196
STOP SNITCHIN'
January 15, 2020, 10:41:50 PM
#2
I am not sure if this is the right term, but my specific setup for bitcoin is that in addition to my 24 word seed phrase I have a two-factor temporary password set up on my hardware device where most funds are stored. In the event of my death, I want to have something set up where after some time of inactivity, the funds are released from the wallet stored behind the two-factor temporary password and into a wallet attached to the 24 word seed phrase itself. The reason for this is because I want to have some way to simplify things so that anyone inheriting does not have to also figure out how to set up a hardware wallet and also use the two-factor password. It can add quite a bit of complexity. For anyone unfamiliar with what I mean by two-factor password, its explained here: https://en.bitcoin.it/wiki/Seed_phrase#Two-Factor_Seed_Phrases . On a hardware device such as my ledger this is described as a temporary passphrase.

I am unclear if a timelock is what I am looking to setup, and also unclear on how to set up such a thing. Any advice would be appreciated.

This thread may be of interest to you: Using Locktime for inheritance planning, backups or gifts

Instead of the paper wallet in that example, you could give your family the 24-word seed and send the funds to an address derived from it.
newbie
Activity: 12
Merit: 25
January 15, 2020, 10:14:17 PM
#1
[deleted]
Jump to: