Author

Topic: Can I update my offline wallet without losing bitcoins (Read 1703 times)

newbie
Activity: 31
Merit: 0
I am having this exact same problem, how did you resolve it buddy? @themann00
newbie
Activity: 10
Merit: 0
Quote
Making copies of your wallet files will not increase your security, and will multiply the possible ways for an attacker to access your private keys.

Sorry- I should have worded that better.
If I back up my wallets that way, I feel it increases my security during an attempt to update something, if it all goes wrong. Either way, if I need the backup or not, these are all moving to a new wallet once I recover them-- for WALLET security.

Thanks again!
full member
Activity: 123
Merit: 100
If you make a paper backup and test it and keep it safe, you have all the backup you need. It will protect you from just about anything you can do to lose your own bitcoins, except exposing your root key to a thief. Even better is the fragmented backup. (something else to google)

On windows wallets are stored in the default data directory, C:\Users\...\AppData\Roaming\Armory, unless you specify otherwise.

Making copies of your wallet files will not increase your security, and will multiply the possible ways for an attacker to access your private keys.
newbie
Activity: 10
Merit: 0
Quote
From some of you other comments and questions you seem to be unaware of how deterministic bitcoin wallets work. There is quite a bit written about them on the internet so I encourage you to google it. To summarize deterministic wallets, you only need to backup the root key. If you restore the root key it will always generate the same list of private keys to infinity. If you load a watching only wallet based on that root key, it will always generate the same corresponding addresses to those keys to infinity. It's that aspect of deterministic wallets that allows you to only have to back up a wallet once when it is created.

Certainly! That's why I keep asking. I've read enough stories (none exactly the same, or any like mine) where someone thought they knew what they were doing, and lost bitcoins.  I'm not going to be that guy. I'm asking every question, and being SUPER careful.  I'll read up on deterministic wallets- this is how I THOUGHT it worked... but didn't want to run full speed into it without some research and advice from someone who fully understands it.

As for the advice- I'll give it a run. I set all this up a little over a year ago, and certainly did all the testing- and understood how it all worked. This all came about because I was trying to help someone get a cryptowall ransom paid quickly, and was impatient with the sync times- and someone suggested upgrading my online wallet to the newest version. When this came with no way to sign transactions anymore, I uninstalled and reinstalled the old version (thinking I'd sign, and move everything to something new) and it won't run more than 20 minutes without a runtime error!

Quote
If you export keys from an offline computer you probably won't get all of them, and it compromises your private keys. So don't do that.

Understood. I exported them to a text file- then edited the text file to only have the address- and moved that to an online computer to check balances. But yes- once complete, everything is moving to a new wallet.

Quote
Uninstall all older versions of armory. This will not touch any of your wallets. Wallets live in their own directory separate from the Armory installation. It is safe to uninstall Armory.

Not doubting you- but like I said, I refuse to be "that guy" -- where are the wallets kept? I'll make a quick copy for my own piece of mind...
full member
Activity: 123
Merit: 100
My recommendation is to stop all of the following activities:

using a version of armory older than 0.91
exporting keys
spending or receiving bitcoins before syncing your wallet
spending or receiving bitcoins before testing your paper backup

Do the following:

Uninstall all older versions of armory. This will not touch any of your wallets. Wallets live in their own directory separate from the Armory installation. It is safe to uninstall Armory.
Install 0.93.2 on both your online and offline computer.
Sync the online instance of Armory.
Restore your offline wallet from the paper backup if necessary.
Take a look at these Armory tutorials https://bitcoinarmory.com/tutorials/
If you run into any problems check out the trouble shooting page https://bitcoinarmory.com/troubleshooting/
Create a new offline wallet following the tutorials under offline wallets
After you've created a new offline wallet and tested it and feel confident in it's security, move all of your bitcoins to the new wallet.

The last step is important, after all the things you tried to so far it's quite possible that you have exposed some of your private key data to the internet.
Even if you think you didn't, it's still a good thing to practice. Your private keys may at some point be compromised, and it's best if you've already practiced moving all of your bitcoins to a new secure offline wallet.

Regarding exporting keys... You didn't see all of your bitcoins because you didn't export all of you keys. New keys are generated every time you send or receive bitcoins. Also exporting keys exposes them to the internet seriously compromising your data security.

From some of you other comments and questions you seem to be unaware of how deterministic bitcoin wallets work. There is quite a bit written about them on the internet so I encourage you to google it. To summarize deterministic wallets, you only need to backup the root key. If you restore the root key it will always generate the same list of private keys to infinity. If you load a watching only wallet based on that root key, it will always generate the same corresponding addresses to those keys to infinity. It's that aspect of deterministic wallets that allows you to only have to back up a wallet once when it is created.

If you export keys from an offline computer you probably won't get all of them, and it compromises your private keys. So don't do that. That feature is only there for very specific use cases. For example if you have a vanity address that you want to keep, you might want to import it and export it to your various wallets. Inability to load and scan the block chain in a timely manner is *not* a good use case for exporting private keys.
legendary
Activity: 1512
Merit: 1012
Makes sense.
Quote
If you just transfer some, the rest will go to a change address (which can be made automatically or can be one of your choice).

Is that address a part of the paper wallet backup I generated a long time ago? Or do I need a new paper wallet whenever large transactions take place?

are you displaying change addresses in the wallet's property window?

Indeed, change addresses do seem to be the issue here.

Yes, any change address you may have are part of the wallet backup. It's a normal address in a wallet... You just don't see them unless you select to see them Smiley Similar thing on Bitcoin Core.
legendary
Activity: 3766
Merit: 1364
Armory Developer
are you displaying change addresses in the wallet's property window?
newbie
Activity: 10
Merit: 0
Quote
blockchain.info isn't perfect. Please cross-check you addresses through different explorers, there might be an error with blockchain.

I just checked all 22 address with blocktrail. Same balances as blockchain.info.

My assumption would be that I have some additional address somewhere that aren't exporting from the offline machine. But I don't know how/why that would happen.

Please don't get me wrong- but I'm very worried about trying an update, and suddenly my balances not being what I think they should be... and having no way to recover from that.
newbie
Activity: 10
Merit: 0
Makes sense.
Quote
If you just transfer some, the rest will go to a change address (which can be made automatically or can be one of your choice).

Is that address a part of the paper wallet backup I generated a long time ago? Or do I need a new paper wallet whenever large transactions take place?
legendary
Activity: 1512
Merit: 1012
You should simply wipe your offline machine and reinstall it with a newer client and take it from there. Then you restore the backup and everything should be safe

blockchain.info isn't perfect. Please cross-check you addresses through different explorers, there might be an error with blockchain.


As for your second post, you don't need to transfer all our Bitcoins out. If you just transfer some, the rest will go to a change address (which can be made automatically or can be one of your choice). If you change your mind and/or leave funds there after restoring from backup on an online computer you can consider your backup compromised: it has already touched an online computer. Doesn't matter if it's a secure computer. The backup already touched something that can be compromised, so it's not cold storage anymore Smiley
newbie
Activity: 10
Merit: 0
Let me ask a hypothetical question (about the Armory paper backup)

Lets say I create a wallet 1 to 2 years ago, and over time with transactions in and out, have 2 bitcoins in this wallet.
I'm going overseas, and so I take my paper backup with me.
While there, I want 1 bitcoin to spend.
I install Armory on a friends computer, and proceed to "recover" my wallet.

Do I need to transfer all of my bitcoins? Can I pull out just one? If I change my mind and use PayPal, have I done anything to mess up the perfectly good wallet I have secured back home? (Assume there are no issues with the friends computer, or his integrity)

I ask- because I'm willing to attempt a paper wallet recovery- but as I have seen such a low balance compared to what SHOULD be there when exporting keys- If I see that same low balance on the recovered wallet, I want the ability to do nothing, and work some more with someone who knows what's going on to recover everything.

Please realize- this is not a formatted harddrive, or forgotten wallet-- this is a fully functional offline wallet setup- that I screwed around with a little bit because I was being impatient about the sync times.  The offline version has not been altered in anyway, and I've gone back and forth on wallet versions on my online PC. The current of which matches the offline wallet, but can't sync up before getting a Runtime error.

I'm also willing to update the software on the offline computer- but again, want to make sure I'm not destroying anything in the process. Everyone says have a paper backup, or export your keys- well--- the key export is not giving me the warm and fuzzy that everything is there!
newbie
Activity: 10
Merit: 0
I have a paper wallet- I have not tried to recover from that.
My issue is- I exported all the keys from the offline machine- and when I check those addresses in blockchain.info- they are significantly short of the total balance I am expecting. There's about 26 addresses, and over half are empty- but the remainder do not get me to the balance I see when the wallet software is working correctly.
sr. member
Activity: 255
Merit: 250
Senior Developer - Armory
IIRC, all pre-0.90 versions didn't use a DB. Instead, they tried to load the entire blockchain into memory. So, 0.87.2 is going to try to load something like 50 GB of data into RAM. I'd imagine this isn't feasible on your system.

AFAIK, you're best off just upgrading to the latest Armory (0.93.2) on both your online and offline systems. You shouldn't have any problems loading your wallets, although the online system will need some time to build the DB. No matter what, be sure to back up your wallets, either in paper or digital form.
newbie
Activity: 10
Merit: 0
I've got an older install of the Armory wallet for my cold storage of bitcoins. I wanted to transfer a large amount the other day, and was impatient with the sync progress of my online wallet (took nearly 20 hours when everything was all said and done)
When everything was taking too long, someone suggested updating to a newer version. I did this on my online PC. (That's when it took 20 hours to sync) -- in the meantime, someone else suggested sweeping my private keys. I have a paper backup of the wallet from when I set it up, and I also was able to export my keys from the offline PC. The exported keys only had 30-50% of the expected balance when I searched each address in blockchain.info. Not wanting to disrupt or screw anything up- I opted to wait for the sync on the new version to complete. After waiting those 20 hours- the balance was exactly what I expected it to be. Whew. Initiated transfer- and was warned that older versions wouldn't be able to sign the transaction (I have 0.87.2-beta as my offline wallet)  So I uninstalled Armory from the online PC, and installed it from THE EXACT SAME FILE I originally installed it from- so it should be the same version. This version of course complained that I didn't have Bitcoin-QT installed, so I got that up and running. Since making it to this point- it appears Bitcoin-QT is up to date (368546 blocks at the time of this writing)- and when I run Armory 0.87.2-beta, it shows my offline wallet, and the status states "Armory is offline while scanning the blockchain" -- after about 15 to 20 minutes, I get  C++ Runtime Error.

(Runtime Error! Program: C:\... This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information.)

So- since the "matching" version won't sync, I have no way to initiate a transfer.
I'm hesitant to attempt to update the offline version.
My key export doesn't seem to actually be everything (something to do with change addresses, maybe?)


I'm trying to plan out my next steps- any help is appreciated.
Jump to: