bitcoin wallets that cannot be hacked
in 2016 malte moser,
@ittayeyal and
@el33th4xor published “bitcoin vaults” and “bitcoin covenants”, describing how a simple, harmless upgrade to bitcoin script could help build hack-resistant wallets
the secret is simple: instead of attempting to build a perfect self-custody system, accept that humans are imperfect and WILL make mistakes. therefore mistakes must be recoverable
moser-eyal-sirer “vaults” add a delay to transactions. imagine if your hardware wallet had a 24 hour delay whenever sending transactions. during that delay, if you notice something is fishy (you’re getting hacked!) you hit a special button and your funds are directed to your coinbase deposit address instead, for example
that’s it! you only rely on coinbase (again, just an example) if your main wallet got hacked. if you’re not hacked, you use your wallet normally and coinbase cannot control it. you simply have to wait 24 hours when sending. for long-term storage this is usually fine
in crypto (non-bitcoin), institutional grade solutions like Safe on EVM and Squads on solana protect over $100B in assets in constructs that are similar to the 2016 vault proposal. many/most major companies in those ecosystems use those solutions and they are considered an obvious best-practice over there
but in bitcoin, this can’t be implemented without simple upgrades like OP_CTV, OP_VAULT, OP_CAT, or others
over the years, in addition to moser, eyal and sirer, many experts like
@jamesob,
@JeremyRubin,
@kanzure,
@EliBenSasson — and even retards like yours truly — have attempted to promote any of those proposals to enable this kind of safer custody. it still hasn’t been done, imo mostly due to political and puritanical reasons (various versions of “i don’t like the people who proposed this”)
but the truth is that if this feature was in bitcoin, many coldcard users would’ve been directed to use it, and would’ve been safe today. vaults and covenants don’t require wallets and humans to be perfect. they assume that they aren’t.
people who don’t want to use vaults and covenants don’t have to. but people who want to use them should be allowed to. it’s time to give bitcoiners covenants.