Thread

Zero-JS Hypermedia Browser

Relays: 5
Replies: 1
Generated: 10:12:21
Liana doesn't currently help with your use case. If I understand correctly, you'd like to lock a majority of your coins so that they can't be spent by anybody for a specific length of time. Liana doesn't use timelocks in this way. Our current functionality allows you to place timelocks on some of the spending paths for your coins so that certain keys (ie, a backup key you store with a family member) cannot be used until the timelock expires. We do not currently support locking coins with absolutely no spending path until the timelock expires. It can certainly be done - we just haven't had much demand for this yet. 1. We currently have 21 contributors on our github: https://github.com/wizardsardine/liana We use miniscript for implementing our scripts and this project has significant review: at least 6 hardware wallets have implemented it, Blockstream, Chaincode, and companies like Anchor Watch are actively developing using miniscript. 2. Yes. The timelock is part of the locking script on your coins (part of the address you receive them to) and you can see it onchain. Here's the txid of a recent transaction I did with Liana on signet: c3fca1ec2797d31dba28eb8d3999bc8b3538707ad3eda533cd06f3ba2ebeebd9 You can go to mempool.space/signet and look up the txid. Then if you click the details button it will show you the script used to lock the coins. You should see OP_CSV listed in the locking script. OP_CSV is short for CheckSequenceVerify which checks the stack for a number and compares it to the nSequence field to determine if the timelock has expired. image In this transaction, the coins could only be spent by one of the keys at first, but 3 blocks after the transaction was mined, another key was able to spend the coins as well. (It was a short timelock because I was just testing something). If you used taproot addresses (which is an option in Liana), you wouldn't see the whole script -- only the part used for spending the coins. This is nice for privacy because you don't reveal as much about your setup. 3. In the case of Liana, once the timelock expires all that happens is that the alternate spending paths you specified when you set up the wallet become available. You can choose to "refresh" the timelock by sending your coins to a new address in your wallet (we provide a button to make this easy). But depending on your threat model, you could choose to do nothing and allow the recovery key to become part of your spending keys. 4. Currently, no. Liana works great for having a single or multisig that has a recovery key become available after one year. But we do not currently allow the option to do the first part of the timelock you want (making coins entirely unspendable for 3 months). I'm not sure that I see the use-case for such a construction. If your coins are completely locked, you may be able to say to an attacker "Look, even I can't spend them" but that is only true for the time when you just lock the coins. As you get closer to the expiry of your whole wallet timelock, you will be vulnerable again to someone trying to coerce you into signing a transaction. But perhaps I'm not fully understanding your use case.
2025-06-05 14:48:44 from 1 relay(s) ↑ Parent
Login to reply

Replies (1)

Awesome! Thank you for the detailed reply and I appreciate your hard work in this area. With regards to the timelock, where no one can spend the coins (let's call this a "no-spend timelock"), I do think this would be helpful for locking up funds in DEEP cold storage. Basically funds that you don't see needing for a while. As you approach the end of the no-spend timelock (eg 1 month), you can reset the timelock to always have the provable deniability that you cannot spend the coins. Once again, I think this will be helpful in preventing coercion like kidnapping. Until this functionality is implemented, I don't see much need to switch from my current setup since this is technically simpler than adding a timelock and still provides redundancy. I'm now following you on Nostr and I look forward to future updates!
2025-06-05 15:08:07 from 1 relay(s) ↑ Parent 1 replies ↓ Reply