Bitcoin Forum

Bitcoin => Armory => Topic started by: jefferson7 on June 02, 2017, 02:50:44 PM



Title: Importing digital backup fail
Post by: jefferson7 on June 02, 2017, 02:50:44 PM
Im trying to import a wallet.dat file into Armory (0.96-beta) and gettign nowhere as it's looking for a .wallet file

I'm not sure what's going on here. Is it because the wallet is not from Armory but from Bitcoin wallet?

what do I need to do?

Thank you!


Title: Re: Importing digital backup fail
Post by: Holliday on June 02, 2017, 02:53:16 PM
Armory has it's own wallet format which is different than Bitcoin Core's wallet.dat.

In other words, what you are trying to do won't work.

If you want to use Armory, you need to create a new wallet on Armory and fund it with transactions via the Bitcoin network.


Title: Re: Importing digital backup fail
Post by: jefferson7 on June 02, 2017, 03:21:41 PM
Thanks :)
So, I would need to set up a Bitcoin wallet, then completely synch that wallet, then import the backup file, then send those coins to a watching only Armory wallet, then send those to an offline armory wallet?

Is that right?



Title: Re: Importing digital backup fail
Post by: Rogue Star on June 02, 2017, 03:49:46 PM
then send those coins to a watching only Armory wallet, then send those to an offline armory wallet?

Is that right?
That should be one step. Send it to the offline wallet, which will show up in the watching only version of the same wallet.


Title: Re: Importing digital backup fail
Post by: jefferson7 on June 02, 2017, 04:43:20 PM
Thanks. Is that because the coins are not actually stored in teh wallets, they are stored in the blockchain?

Otherwise how could they get to the offline wallet?

Complicated huh?

Does anyone know the answer to the first part of my problem:

"So, I would need to set up a Bitcoin wallet, then completely synch that wallet, then import the backup file, then send those coins to a watching only offline Armory wallet??"



Title: Re: Importing digital backup fail
Post by: achow101 on June 02, 2017, 04:44:44 PM
"So, I would need to set up a Bitcoin wallet, then completely synch that wallet, then import the backup file, then send those coins to a watching only offline Armory wallet??"
Yes.


Title: Re: Importing digital backup fail
Post by: xhal99104 on June 02, 2017, 06:30:51 PM
Hi.

Even though I am not an expert on Armory technically, I have used it for several years.

What you need to do is following:

Download the armory program install files. (suggest 096.01)

Download bitcoin core (I suggest to download 014.1)

Those two are working on my computer, but it is a test version. The reason I suggest the 014.1 and 096.01 versions is that there have been some problems with 014.1 and older versions of Armory - and I know this setup works.  

Start your bitcoin core and let it sync

Install armory and start the program. It will now build databases and stuff

Make a copy of the armory install files and save it on a stick or CD.

For maximum security - install the program on a computer, that never has been, nor will be connected to the internet.

Create your wallet on the offline computer

The first thing you must do now is to take a backup on paper. You can make a screen dump of the seed (the seed is the two lines of grouped letters). and be sure to chose the secure print option. Print the page (if you don't have a printer connected to the offline computer, you can make a screen copy and save it on a stick - take it to a computer that can print and print it.

Then you have to write the security phrase in the top right corned of the printed page - (remember notice capitals and mark them underlined)

Then you delete the wallet again swipe it completely from the off line computer.

Then you import the wallet from the seed you just printed to make sure your backup actually works from your paper copy.

Now the wallet is ready to export for off line use.

Open the wallet and double click on the wallet you created. Click export watch only copy and save it on the stick.

Now go back to the online computer (wait until it is syncked and ready) and import the watch only copy. close Armory (and when you close Armory - do it nicely using the files menu and wait wait wait) do not force shut down. Wait for a few minutes and restart Armory. You should now see an empty wallet.

Send a small amount of btc to the wallet and check if it shows up. (If you open the bitcoin core wallet and click help and debug window - you can see the newest block number - it should be similar to the number in the lower right corner of Armory (in green)

If it is not - click the user menu - select expert mode and restart Armory.

Click the files menu and open settings - on the first screen remove the tag in "Let armory run bitcoin core in the background"

Restart Armory - be sure your bitcoin wallet is running and online. Block count should now be green and equal to the counter in the bitcoin core wallet.

I hope this helps you. Armory is very secure and first you get it under the skin, it is actually easy to use.

/MT
  


Title: Re: Importing digital backup fail
Post by: jefferson7 on June 03, 2017, 06:11:45 PM
Awesome post thanks for that very much!

To check, did you mean online when you wrote:

"Now the wallet is ready to export for off line use.

Open the wallet and double click on the wallet you created. Click export off line copy and save it on the stick."

You really helped me, and others no doubt. Thank you!


Title: Re: Importing digital backup fail
Post by: jefferson7 on June 03, 2017, 06:18:29 PM
"So, I would need to set up a Bitcoin wallet, then completely synch that wallet, then import the backup file, then send those coins to a watching only offline Armory wallet??"
Yes.

Do I need to wait until the bitcoin client is completely synced before trying to import my digital backup? Or can I try it now without risks at around 15% complete?

Im a bit nervous about security issues while trying to import and for a while having an unencrypted, unsecured wallet running on an online pc before I can secure it with Armory, Am I over concerned or is there anything particular to do or set up before hand? Obviously good anti V etc but anything else to suggest? And is it as dangerous as it feels to me?

It feels like I would be counting my cash in the middle of a crowded market hoping that nobody snatches my cash and runs off with it while im looking down counting. Am I being over concerned?

Do I need to try the import while online? Or can I do it offline, then when i see them in the wallet, go back online to get it verified?

Looking to minimise risks while i do this.


Title: Re: Importing digital backup fail
Post by: xhal99104 on June 03, 2017, 06:23:19 PM
Glad you could use the tutorial.

No- I did mean off-line use.

One wallet on the off-line computer ready to sign transactions, and one watch only copy on the on-line computer ready to create and broadcast transactions:

It is on the on-line computer you create your transactions. Very simple, just create an off-line transaction - when it is done (remember to look at the fee - you can look up the normal fee /byte on the internet in google - make sure it is not too low (or high for that matter) and copy the whole thing into a text file on a stick -

now go to the off-line computer and select sign transaction: -

copy the text from the text file into the window and select sign - enter password and it should turn green and signed.

Now you copy the whole thing back to the stick and go back to the online computer, and select off-line transaction and broadcast -

copy the signed text into the box and click broadcast. Done!

It is a long and a bit complicated road to take, but it is by far the safest way to do it.

Sorry i missed your last question. Well My experience is that Armory and ArmoryDB ( the databasemanager) works best if it is completely syncked first - that way your IO pressure is considerable lower and faster- I would wait until it is all done. That way the risk of needing to delete the blockchain copy, resync again and rebuild databases is much lower. And Armory is much quicker in scanning and building the database when Bitcoin core has finished downloading the chain. But you can do it at 15%, it just takes longer and your harddisk load is much higher.

/MT





Title: Re: Importing digital backup fail
Post by: xhal99104 on June 03, 2017, 06:35:56 PM
Im a bit nervous about security issues while trying to import and for a while having an unencrypted, unsecured wallet running on an online pc before I can secure it with Armory, Am I over concerned or is there anything particular to do or set up before hand? Obviously good anti V etc but anything else to suggest? And is it as dangerous as it feels to me?


No!

You do not have an unencrypted wallet running anywhere. If you follow above instructions your keys will never be exposed to the internet. The bitcoin core wallet is not used, and you should not send any coins to it. You should use the receive function in Armory and copy your receive address from there to the exchange and send the coins. When you have completed the backup procedure you can click receive on the off line computer to get an address to send to - and you do not have to wait until your wallet is fully synced - if you already have som coins on an exchange and want to send them to your own wallet. The bitcoins will be visible in the online computer when fully syncronised. But you wont be able to spend the coins until it is fully synced and up running.

You can always look up your address on the blochain to see the transaction there, you just have to wait until Armory is synced to spend it.

https://blockchain.info/

Paste your receive address here and it will look up the transaction(s) made to that address. Don't worry if it is unconfirmed for a while. It might take quite some time to get it confirmed - especially if the fee is low. If the fee is too low, eventually the transaction will time out (it might take up to a week). There is ways around that that might work, if you run into that. It is a bit tricky to do - you have to create a double spending with a higher fee - and when you work off-line it is not easy to "bump" the fee on an already broadcasted transaction. You will have to do the whole copy thing again to allow the fee to be higher.
/MT


Title: Re: Importing digital backup fail
Post by: xhal99104 on June 03, 2017, 06:58:13 PM
By the way - if you are concerned about security and you choose to enable 2 factor authentication on the exchanges - which is recomended - REMEMBER TO COPY PRINT YOUR two factor key ONTO PAPER!! Otherwise you will not be able to withdraw anything from there if you loose your phone and need to enable the 2 factor function on another phone BACKUB BACKUP BACKUP everything ALWAYS - lack of backups is the most common reason for loosing bitcoins!! So remember that!


I have corrected the offline copy to watch only copy in the tut. :-)



Title: Re: Importing digital backup fail
Post by: jefferson7 on June 03, 2017, 08:40:04 PM
Awesome again, thanks very much for your help!

I think I'm still confused about something, that or I did not make myself clear on one of my main questions, let me ask it again in a different way:

I have a bitcoin wallet digital backup file (wallet.dat) not an Armory wallet digital backup file ( in a .wallet format, which is where I want to end up) So my understanding is that I cannot import this into Armory either online or offline. I first have to import this into Bitcoin core. Im sure this is correct so far.

My question though is in two parts:

1 Can I try and import this wallet.dat file into Bitcoin core before the blockchain is fully downloaded? Or can I try it now that its only 20% downloaded? (Im impatient but dont want to take any risks. I think that from what you said that I should wait, but perhaps I had confused you about the format of the wallet I need to import and you mistakenly thought I was needing to do so in Armory?)

2 While I'm trying to import my bitcoin core wallet file (wallet.dat) which is unencrypted(!!!), I will have to be online no? Or can I import it and encrypt it with a passphrase while offline, then when its recovered, and secured with a password, can I then go back online to confirm it/ verify it in the blockchain? I really don't want to be online while i'm trying to recover this for obvious reasons, is that possible?

I'm not sure that I'm asking the right thing, but I am sure that i do need to import, somehow, an unencrypted, unsecured Bitcoin core wallet file and don't want to mess this up. What if there is some malware just waiting for me to copy it onto this machine and then whizz it away before I get a chance to secure it with a passphrase?

(I know, no passphrase or encryption used, but it is in a safe at the moment! So it has always been safely stored, but i see a huge risk in getting it back up and running to use)

Thanks again for your help!



Title: Re: Importing digital backup fail
Post by: xhal99104 on June 03, 2017, 10:19:50 PM
Well. You cannot mix Armory and Bitcoin core.

If you have a bitcoin core wallet backup and you want to imort it int BITCOIN CORE - you can do that off-line as well and encrypt it. But this has nothing to do with Armory. If you want to use bitcoin core, which is not as secure as Armory - then there is no need for installing armory. Than you can jus do it with Bitcoin core.

The only way to get coins into Armory wallet is by sending them to the wallet. You cannot import any other wallet into Armory. ONLY ARMORY wallets.

So - if you want to use your bitcoin core wallet, just import it and encrypt it while off-line. It doesen't matter if it is fully loaded or not. Just remember to take a new backup after you have encrypted it.

You are mixing things a bit. Your wallet need not to verify on the blockchain. The only thing you have in your wallet is your addresses, public keys and private keys to unlock the bitcoins in the blockchain. So you can do anything with your wallet off-line or disconnected from the internet - you don't have to be on the internet to receive coins, only to send. The wallets only sumarise the amount of received bitcoins from the blockchain.

A so called watch only wallet sumarises all the coins received to the addresses in the wallet, but have no private keys in it thus unable to unlock the bitcoins and send them to someone. But everyone can see how many bitcoins you have received if they know your public address(es) they just cannot unlock and spend them.

The encryption is as far as I know an encryption of your private key so that it needs a password to decrypt your private key that is used for spending coins. Even though the key is unencrypted - the thief still need the key which means access to your computer and wallet.dat file.

If there aren't any coins in the wallet, you can just make a new wallet and encrypt it right away. You do not have to import it unless of course there are coins in it.

But if you want to use Armory, you must follow my instructions above and forget about the bitcoin core wallet. If you have some coins in a bitcoin core wallet and you want to move them to Armory, I suggest you send the coins to the Armory wallet and pay the fee for that transaction.

Hope that took a bit out of the mystery.

By the way - if you follow the instructions above your private key will never be exposed to the internet. That is why Armory is more secure than most other wallets. But you can import your bitcoin core wallet while off-line - no problem there. But you have to remember, that you created that wallet some time ago, and if you did it on an infected computer, someone might already have a copy of it. That is why it is a good idea to have an off-line storage - so called cold storage - and NOT to use any active media to transfer off line transactions such as usb sticks. A USB key is active - and to be completely sure - you also need to check it for virus or malware After you have stored your off line transaction on it - but before you put it into the cold storage computer. And even then the anti virus program you have might not see the infection if it is a new one. So the buttom lline is - you can never be 100% sure that nothing goes wrong! But with a prudent behavior the risk is very very low for you.

If you think of using a paperwallet, which is also very secure - until you have send your first transaction from it. The minute you send a transaction, the key is actively used on an online computer, and therefore exposed to the internet. Armorys off line wallet is not. It only signs the transaction and is never in contact with the internet - unless of course someone get this great idea of updating windows online or somthing. That must also be done off-line - or at least only after the wallet is deleted an sweeped off the computer.



/MT


Title: Re: Importing digital backup fail
Post by: jefferson7 on June 08, 2017, 09:09:50 PM
Thanks again, another helpful post. The mist(ery) is lifting.

I've got the wallet recovered and encrypted at last. Some nervous moments getting there but i got there, thank you.

OK so my next stage then is to send the btc to the offline wallet. The mist is decending again! I guess I just need to issue a receiving address from the Armory wallet and use that address to send the contents of the bitcoin core wallet. Right?

what I'm not seeing correctly I know is, where the btc will 'go'. Let me see; They don't go to the Armory offline wallet and the watching only wallet certainly doesn't hold them, they would be 'sent' out to the blockchain (where they have always been) and only the record of the keys that hold those coins is updated. That's my jumbled understanding, but put more accurately -

The record on the blockchain is changed to show that those coins were moved from one wallet to another, that's all, Is that right?

I think I'm getting it!



Title: Re: Importing digital backup fail
Post by: xhal99104 on June 09, 2017, 11:23:07 AM
Hi.

Yes, now you are correct.

Havefun

/MT


Title: Re: Importing digital backup fail
Post by: jefferson7 on June 10, 2017, 03:09:58 AM
I am sure havingg fun!

One other thing I don't yet understand: When I issue a receiving address from the Armory offline wallet, how will the blockchain know about this address? Or do I have to generate it using the watching only wallet? ( I plan to send to this address from a bitcoin core install that has some Satoshis in it)

the latter makes sense with regard to the blockchain, but the former makes sense security wise.

What's the answer? Crete the receive address with the watching only wallet? But then how would the offline wallet hold those private keys?

And if I create it with the offline wallet, how does the blockchain get updated to show this?

Thanks and apologies for still not getting it!


Title: Re: Importing digital backup fail
Post by: xhal99104 on June 11, 2017, 09:34:46 AM
The blockchain does not need to know your address. The address just have to be created in such a way, that it is legal on the Network. As long as the address is in accordance with the rules of bitcoin addresses, it will be able to store bitcoins on the blockchain. The address will only be present in the blockchain if someone sends to it.

Your NeXT question will be - "How can I be sure noone else have created the exact same address"? The answer to that is "You can not"! But the risk of that is less that 1 to 1000000000000000000000000000000000 or something like that. In practise no risk at all.

When you create your wallet in armory as I described it - the wallet is created on the off-line computer, and you export it to the Watch only computer as a Watch only copy. That is why it doesn't matter. The same goes with the private keys - they are all created based on the seed - which is why the security print doesn't hold the extra Word in the top corner - that way the seed is incomplete as a print alone.

When armory creates your wallet - the mathematics used for address creation is locked to that wallet via the seed ( the seed is the two lines of Words that you saw on your backup) and therefore all the addresses that will ever be created within that wallet will be known to the wallet from day one, but the adresse are not created to begin with. Only the formular is created.

Not all wallets have a seed like armory. You have to read the documentation to the wallet to look up if you need to back it up more often, because some of the backup procedures actually includes the wallet file, which is not needed in armory as it can create an exact match from the seed.

/MT




 


Title: Re: Importing digital backup fail
Post by: gangtraet on June 12, 2017, 09:58:42 AM
Your NeXT question will be - "How can I be sure noone else have created the exact same address"? The answer to that is "You can not"! But the risk of that is less that 1 to 1000000000000000000000000000000000 or something like that. In practise no risk at all.

I think you are missing approximately 150 zeros in that number :)

... which is why it will never happen.


Title: Re: Importing digital backup fail
Post by: jefferson7 on June 12, 2017, 03:06:52 PM
So is this process correct for transferring the balance of an encrypted offline Bitcoin-qt wallet to an armory offline wallet?:

1 Issue receiving address from the offline Armory wallet.

2 Export encrypted wallet file (or import private keys) from offline Bitcoin-qt wallet to the hot (online) Botcoin-qt wallet.

3 Send btc from hot wallet to new Armory offline wallet.

4 When confirmed in Armory, delete all Bitcoin-qt wallets and paper wallet backups. Make a paper wallet backup of Armory private keys.

I am worried about the security risks at step 2. Is there a more secure way as that seems risky and goes against the whole point of using an offline wallet. Do the private keys have to be exposed in order to send from Bitcoin-qt?

Thanks again for your patience and help!


Title: Re: Importing digital backup fail
Post by: goatpig on June 12, 2017, 04:06:31 PM
Quote
2 Export encrypted wallet file (or import private keys) from offline Bitcoin-qt wallet to the hot (online) Botcoin-qt wallet.

You can offline sign with Core if you're willing to go the extra step.

Quote
4 When confirmed in Armory, delete all Bitcoin-qt wallets and paper wallet backups.

Don't delete the old wallet. Always keep a copy of your old wallets, you could need these keys in 10/20/30 years.

Quote
Issue receiving address from the offline Armory wallet.
...
Make a paper wallet backup of Armory private keys.

Semi right steps, wrong order. This is the proper way to go about it:

Quote
1) Create wallet on an air gapped, never been online machine.
2) Create backup of said wallet.

3) Test the backup.
4) Test the backup again
5) Once more for the good measure


6.a) Create WO wallet and export it to your online machine, then sync it with the network. Grab the address from your WO wallet. This prevents address reuse if you intent to give the wallet some traffic, while letting you keep an eye on your funds.

or

6.b) If this is a long term cold storage wallet and you don't intent to sync it for a while, grab the receive address straight from the offline wallet.

7) Did I mention testing your backup?