Bitcoin Forum

Bitcoin => Armory => Topic started by: Randseed on January 17, 2021, 11:58:31 PM



Title: Broken fragmented restore wallet. Please help!
Post by: Randseed on January 17, 2021, 11:58:31 PM
A few years ago I set up an offline storage of bitcoin in Armory. I dutifully printed out a 3(n) of 6(m) fragmented backup version 1.35c. I tested it and it worked. I'm trying to restore this wallet now and have all six pages here. When I sync the entire blockchain, then go to restore the wallet in Armory, it recognizes the proper Fragment ID, but when I accept it I get a line saying "This is for fragment #" and then it doesn't list any data. I go to the next line anyway and type in another page, then another, giving me three. No change. In fact, on the "Restore wallet fragments" window I get no indication I've done anything.

If I then add a seventh fragment, then immediately remote this blank one, suddenly I get the display updated with all three (or six) fragment IDs and they're correct. So it obviously got the data. Unfortunately, the "Restore from fragments" button never illuminates so I'm stuck at that point. On the right under "Wallet being restored" nothing ever shows up.

This has been replicated on three PCs running the latest release. Somehow on one of them I *did*manage to get the appropriate wallet ID restored, but it shows a balance of 0l.0 because that machine never got the entire blockchain and frankly it's so slow I really don't want to spend a week with it pulling down the blockchain only to maybe have the same problem.

Surely this UI error hasn't persisted for the couple of weeks I've been screwing around with this off and on, has it?  :(


Title: Re: Broken fragmented restore wallet. Please help!
Post by: nc50lc on January 18, 2021, 03:10:40 AM
-snip- , then go to restore the wallet in Armory, it recognizes the proper Fragment ID, but when I accept it I get a line saying "This is for fragment #" and then it doesn't list any data. I go to the next line anyway and type in another page, then another, giving me three. No change. In fact, on the "Restore wallet fragments" window I get no indication I've done anything.
I've tried in the latest version and it worked with v1.35c fragmented backup,
but I've successfully reproduced it (based form your description of "doesn't list any data") in the old version v.96.0 from bitcoinarmory.
If you're using that version, you need to update to the latest v0.96.5 (link (https://btcarmory.com/)).

No? based from the sticky thread: FRAGMENTED BACKUPS VULNERABILITY!! IF YOU USE THEM, READ THIS!! (https://bitcointalk.org/index.php?topic=2199659.0) (go to affected versions),
there had been changes with the fragmented backup that might had an impact on the compatibility between versions (need confirmation).
With that, try to restore the wallet in the previous versions like before v0.90 using an offline computer, if successful, just restore the wallet to the latest using a new non-fragmented backup.


Title: Re: Broken fragmented restore wallet. Please help!
Post by: goatpig on January 18, 2021, 02:56:07 PM
The previous scheme weakened the security of the fragments to yield the identical IDs each run. It essentially salted the fragments with a hash of the private key when that value should be random. The security impact isn't dire but it is eroded so I chose to fix the issue even it meant some backwards compatibility issue.

Essentially, backups created prior to the fix will display fragment IDs that are different from what the fixed ArmoryQt will display. As long as the walletID matches at the end of the process, you should be all good.

Quote
In fact, on the "Restore wallet fragments" window I get no indication I've done anything.

Would need to see the logs to figure that out.

Quote
but it shows a balance of 0l.0 because that machine never got the entire blockchain and frankly it's so slow I really don't want to spend a week with it pulling down the blockchain only to maybe have the same problem.

Please don't try to restore your wallet on an online machine unless you have no other option (even then, get a cheap PC, don't be lazy). Once the wallet is restored, extract a watching only copy and use that on your online machine to sync with the chain.