Nothing like a major vulnerability to get people trying new things:
Like many, I’ve barely slept since the Coldcard incident. My mind has been racing on how to stop something like this from ever happening again. I believe I’ve come up with a novel wallet design that solves for all three points of the self-custody trilemma.
Although, I'm not sure a state of sleep deprivation is the ideal for developing vault-like constructions. As far as vaults go, it either needs a soft fork, relies on presigned transactions, or isn't a vault.
(This isn't quite true: there was ReVault, but it's mostly true.)
Under the hood, yes: the annual ceremony splits the vault into chunks and pre-signs a carefully structured set of transactions. But none of that ever needs to reach the user. This is purely an engineering problem, and a very solvable one. The same way nobody needs to understand how to perform Diffie–Hellman key exchange to use HTTPS, no one needs to understand how to manage a presigned transaction chain to approve a vault policy with Anzen.
And with so many time lock constructions, you have to roll your coins or presign new transactions.
Also he seems to have built a prototype which you can check out:
Once a year, ideally on the same calendar date, you re-approve the vault policy on your hardware wallet. This automates a signing ceremony between your phone and hardware wallet that rolls the vault forward (resetting the timeouts) and pre-authorizes an entire year of spending.
I don't know if this is a good idea. My gut says presigned transactions are not the way, but it's come up a few times this past week #1538230 so I thought I'd share it.
I have a working prototype running on mainnet with real funds, with all vault functionality and recovery paths fully implemented. It’s definitely not production ready, it’s very early, but it is (just about) usable if you want to test with small amounts of money.
There is also an extensive end-to-end test suite that runs on regtest if you want to see the full functionality without risking funds, and an interactive CLI that fully emulates a phone, a hardware wallet, and all operations between them.
Here’s my mainnet vault, you’re warmly invited to try and rug it:
bc1pvaultn3953ns47dw6rpm6ahfpz449vcnns5rpnr5v2d0u55fekxq39v257
It doesn't seem like a terrible idea to me. It's a bit vague on the details - although much of that might be implied to someone that knows more about vaults.
Worst case is losing both devices. Can I still spend in the second worst case where I lose one device and all presigned transactions? Like, is losing the presigned transactions at any point catastrophic or just inconvenient?