Wallet Encryption Without Post-Encryption Backup: 5 BTC Change Address Lost
IndeterminateWallet passphrase was unavailable — whether access was ultimately recovered is not known.
In December 2012, a BitcoinTalk user reported a custody failure involving wallet encryption and backup timing. The user had received 10 BTC across two transactions and maintained an unencrypted backup of their wallet.dat file. Weeks or months after creating this backup, the user encrypted their wallet with a passphrase but did not generate a new backup file afterward. The passphrase was subsequently forgotten, though the user retained partial memory of its composition.
When the user attempted to send 4 BTC from a 9 BTC input, the Bitcoin client consumed the entire input and generated a 5 BTC change output back to the wallet. This change address was derived from the post-encryption key pool and therefore did not exist in the pre-encryption backup file. Upon restoring the unencrypted backup, only the original 1 BTC test transaction appeared; the 5 BTC change output remained inaccessible.
Bitcoin Core's encryption mechanism (wallet.cpp NewKeyPool() function) deliberately discards the pre-encrypted address pool and generates a new one upon passphrase activation. This design prevents encrypted wallets from using unencrypted key material and forces any recovery attempt to rely on brute-force passphrase cracking. Community members confirmed this behavior matched source code design. At the time, 5 BTC had approximate value of £40–50 USD. The user characterized the loss as a matter of principle rather than significant financial harm and indicated willingness to pursue brute-force recovery with assistance from experienced community members (riX and Revalin), though no documented outcome of such recovery appears in the thread.
| Stress condition | Passphrase unavailable |
| Custody system | Software wallet |
| Outcome | Indeterminate |
| Documentation | Present and interpretable |
| Year observed | 2012 |
| Country | unknown |
Why passphrases fail years after they are set
The failure mode documented consistently across observed cases is temporal: the passphrase is set with confidence, not used for an extended period, and then cannot be reproduced exactly when needed. A single character difference — different capitalization, an added space, a slightly different special character — produces a different wallet with a zero balance. The holder may be certain they remember the passphrase while being unable to produce the exact string that was originally set.
What makes this particularly difficult is that there is no signal at the moment of failure. A wrong passphrase does not produce an error message. It opens an empty wallet. The holder sees a zero balance and typically concludes the passphrase was wrong — but without knowing which part was wrong, or by how much.
Professional passphrase recovery services can attempt permutations when the holder has partial information: they remember the general structure, typical patterns they use for passwords, the approximate length, or that it included a specific word. Recovery from total non-recollection is not feasible.
The preventive action is to store a passphrase record — not with the seed phrase, which would defeat its security purpose, but in a separate secure location accessible to the holder and potentially a designated recovery person. A passphrase that exists only in memory has a time horizon: it will eventually be forgotten, and the timing is unpredictable.
Translate