Replies: 2 comments 5 replies
-
Sounds like a great project, and it's actually something that we're considering right now. There are two main roadblocks. 1.) Figuring out the right balance of having the blockheight sufficiently far out. We don't necessarily need to put it so far out that the person is likely dead. In fact, that can introduce issues if the length is too far out, because the person could die, then there could be an attack on some Core cryptography, and if the funds can't be recovered within a few months, the cash is gone via another means. So what's likely needed is an ever-updating set of timelocks, sweeping the funds forward before each comes due. That might be 6 months out or a year, but more than that and we start hitting that danger. 2.) Miniscript is exactly the way to do this sort of work because it has full functionality for timelocks built-in, and that's going to make it really easy to build into addresses once the Bitcoin Core/miniscript integration is complete, which I'm hoping we'll see within the next year. Unfortunately right now you can't build descriptor-based accounts off of them ... except with the Rust-miniscript library, so that means that your proposal for the project has a lot of value as the only rational way to do this right now. It could be a great exemplar. Chris & I have started working on a document for this. It's here: It's a rough draft; I haven't even done a full edit yet. It's not necessarily our complete thoughts on the topic. But it talks about timelocks as you're suggesting, describes the miniscript, and talks about sweeping options. I think you'll find it helpful for moving forward. |
Beta Was this translation helpful? Give feedback.
-
We should ask around the bitcoin-core folks what the status of miniscript based descriptors in bitcoin-core might be. Sooner because it is really useful with taproot? Or later as we'll be preoccupied implementing the rest of taproot and musig 2? |
Beta Was this translation helpful? Give feedback.
-
Morí
Death is something uncomfortable, usually our death is not something we want to talk about, much less in our youth, but as Bitcoiners we have to prepare our funds for that day that will inevitably come.
This project proposes a way that a btc owner can leave his bitcoins to his heirs in the event of death in a decentralized way and with the least possible complication.
The main characteristic of this proposal is that the heirs can recover the funds in the event of death but CANNOT access the funds while the btc owner lives.
Not knowing when we are going to die is what adds complexity to the matter.
As a Bitcoiner and custodians of our privacy, we need to remove the trusted third party whenever possible.
Bitcoin script allows us to carry out a method so that the heirs cannot access while the btc owner is alive, but they will after his death.
How?
We will call the btc owner Alice and the heir we will call Bob:
Option 1: Alice can spend the funds at any time with the refund key
Option 2: Bob can spend the funds after N blocks have been mined
The script would be something like this:
Example
Alice set
bob_delay = 500,000 blocks
, the current height is 700,000, Alice can spend the UTXO with the funds at any time, probably when the current block is reaching 1,200,000 Alice will want to spend those funds and sending them again to another address generated by this system and add another 500,000 more blocks, now Bob have to wait for the block height to 1,700,000 to be able to spend the UTXO.If Alice does not spend the funds on the next 500,000 blocks, she is probably death and these funds can be spent by a transaction signed by Bob.
The language to use is Rust
Before start
Milestones
Improvements:
Allow inherited multiples, multisig
Use Taproot / MAST to make transactions cheaper, more private and more fungible.
** Other related ideas: **
It would be very practical if current wallets add this option, that way it does not matter when the owner of btc do the inheritance plan, all his UTXOs are going to have this timelock to be spend by the heirs. Maybe doing a spec, makes it easier for current wallets to implement this.
Beta Was this translation helpful? Give feedback.
All reactions