A Bitcoin 2FA Wallet with Presigned Recovery and Inheritance
This is an alternative construction for Robin Linus’s 2FA wallet proposal. It preserves the central idea: an emergency withdrawal must consume a token created by a separate kickoff transaction, and the withdrawal delay runs from that token’s creation. A deposit can remain protected indefinitely until someone starts an emergency exit.
The construction uses existing Taproot signature rules. It needs neither OP_TEMPLATEHASH2 nor OP_TEMPLATEHASH, and it does not require deleting private keys. Instead, the user and the 2FA server jointly presign two restricted spends for each deposit. A Taproot SIGHASH_NONE signature commits to the complete input set, including the emergency token and its relative timelock, while leaving outputs unspecified. At withdrawal time, the token holder supplies another signature that authorizes the destination and fee.
The tradeoff is per-UTXO in