Bitcoin Core Wallet Corruption: Selective Key Decryption Failure and Community Recovery
SurvivedWallet passphrase was unavailable — a recovery path existed and access was restored.
Henke created an encrypted wallet backup on December 20, 2015, containing approximately 4 BTC. After refreshing his Windows 7 system and reinstalling Bitcoin Core v0.11.2, he attempted to restore the wallet but encountered immediate crashes during blockchain verification. Using the -salvagewallet flag with -wallet=old_wallet.dat, he achieved partial recovery: the GUI displayed his balance, 10 transactions, and 210 encrypted keys loaded successfully.
On March 16, 2016, when attempting to spend coins for the first time, Bitcoin Core crashed with a "MinGW Runtime Assertion" error upon entering his correct passphrase. Critically, incorrect passphrases returned the standard "password was wrong" error message, but the correct passphrase triggered the assertion failure—indicating selective key decryption failure rather than universal wallet corruption. The debug.log entry from March 25, 2016, confirmed the diagnosis: "The wallet is probably corrupted: Some keys decrypt but not all." Henke's attempts to resolve the issue by uninstalling and reinstalling Bitcoin Core v0.12.0 proved unsuccessful. The wallet.dat file structure had deteriorated, likely during version migration or improper shutdown.
For approximately 7 months, Henke remained unable to transfer his funds. On October 8, 2016, he publicly offered a 1 BTC reward (25% of trapped funds) and solicited technical assistance. Forum moderator achow101 warned him of security risks associated with sharing wallet files and offered private assistance. Forum member Lauda responded and agreed to help. Via private message, Henke shared his encrypted wallet file and passphrase. Lauda successfully extracted the private keys and relocated the funds: 1 BTC immediately (the reward) and the remaining ~3.88 BTC once Henke supplied receiving addresses. At the time (March 2016), 4 BTC traded at approximately $960–$1,050 USD.
| Stress condition | Passphrase unavailable |
| Custody system | Software wallet |
| Outcome | Survived |
| Documentation | Present and interpretable |
| Year observed | 2015 |
| Country | Sweden |
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