Bitcoin Forum
December 08, 2016, 12:16:37 PM *
News: Latest stable version of Bitcoin Core: 0.13.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: « 1 2 [3] 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 ... 129 »
  Print  
Author Topic: HOWTO: create a 100% secure wallet  (Read 249782 times)
eamon
Newbie
*
Offline Offline

Activity: 10



View Profile WWW
June 16, 2011, 01:30:21 AM
 #41

Personally, I like the idea of running Bitcoin in a virtual machine with no other programs installed on it. Windows 7 has virtual PC built right into it, and Virtual PC is available as a download for Windows XP. Plus, it's a way of doing things that can be explained to your mother or father. There's only two files to move. The only issue is that they generally are larger than 2G, so you need to NTFS format a USB drive. Then if you need to securely remove the files, you can secure erase the Virtual PC files and be relatively assured that they are not going to be found as a deleted file.

I thought I was pretty clever, until I met a guy who pointed out, that if you store your wallet.dat in a safe deposit box, you don't even need to see the blocks get downloaded to a new client. You can go to block explorer and verify that the funds have been transferred. Granted, you do need to install the wallet to transfer the coins.

Unfortunately, multiple wallets is somewhat inevitable, and although bitcoin tries to hide the mechanics of all the key management, I think address management is a huge risk. People have a natural tendancy to use the last-known-good address and wait for something to go wrong. I'm sure we all know people who would write one bitcoin address down once, and expect it to always work. That's a really dangerous expectation. By this point, I've installed the client on 4 different machines several times, and although I don't need all of those addresses .. if it's out there .. there's a risk someone will use it.
1481199397
Hero Member
*
Offline Offline

Posts: 1481199397

View Profile Personal Message (Offline)

Ignore
1481199397
Reply with quote  #2

1481199397
Report to moderator
1481199397
Hero Member
*
Offline Offline

Posts: 1481199397

View Profile Personal Message (Offline)

Ignore
1481199397
Reply with quote  #2

1481199397
Report to moderator
1481199397
Hero Member
*
Offline Offline

Posts: 1481199397

View Profile Personal Message (Offline)

Ignore
1481199397
Reply with quote  #2

1481199397
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
CYPER
Hero Member
*****
Offline Offline

Activity: 630



View Profile
June 16, 2011, 02:40:03 AM
 #42

First great artickle, thumbs up

But I have some additional questions and would be glad if anyone can provide the answers:

1 - So tell me if I understood this right - you wallet is a physical file on your HDD (wallet.dat) and it contains all the addresses (the long strong of characters/digits) created with the bitcoin program, correct?

2 - If the above is true then technically you could have one wallet with 5 addresses and if 4 different people send me coins to each address then all these coins together would be contained within the one wallet?

3 - Hypothetical scenario - I secure my savings wallet containing 100 coins on a flash drive, by cut and paste. Then I restart the program so a new wallet is created - I record its only address and then delete the wallet. Then I copy the savings wallet from the flash drive back to the AppData\Roaming\Bitcoin directory and open the program so it is recognized. Finally I transfer all 100 coins to the address recorded earlier. The outcome would be total lost of all the coins, correct?

4 - I would guess the Bitcoin program the the wallet should be kept on a separate machine and not on the Mining rig?

5 - If you secure you wallet on a flash drive and then someone sends you coins on an address that is contained within that wallet when do the coins actually appear in your wallet? I mean that wallet is "offline", so how will the transaction work out?

6 - I read an article somewhere that after 50 coins accumulated in your wallet you need to back it up, because you might lose the coins. Is that just pure gibberish?

I'm just trying to understand the whole idea behind the wallet and its addresses.

Thank you in advance.

If this post helped you and you feel generous you know what to do: 1P9tXFy9bVgzrfPGeV7F8np26ZtFdCCWvz
Desu
Newbie
*
Offline Offline

Activity: 28



View Profile
June 16, 2011, 02:48:32 AM
 #43

Then if you need to securely remove the files, you can secure erase the Virtual PC files and be relatively assured that they are not going to be found as a deleted file.

One of my favorite features of Windows Seven. The Shredder

Tip me?
1KBuL4At3kKEsBbDwAqKa16CG4nbyjosdD
That's right, I'm a girl on the Interwebz
http://flipforbits.com/?id=1570
Spend cheaply, Win More. : ]
kuloch
Member
**
Offline Offline

Activity: 70


View Profile
June 16, 2011, 03:33:44 AM
 #44

As in my previous post, I should quantify this by saying that I'm new to Bitcoin as of yesterday.  I just happen to know a bit about encryption and file systems.

1 - So tell me if I understood this right - you wallet is a physical file on your HDD (wallet.dat) and it contains all the addresses (the long strong of characters/digits) created with the bitcoin program, correct?
Correct, given that the program was using the same wallet file each time a key/address is created.

2 - If the above is true then technically you could have one wallet with 5 addresses and if 4 different people send me coins to each address then all these coins together would be contained within the one wallet?
This I'm not entirely sure about, but my impression so far is that the client connects to the Bitcoin network and makes note of any Bitcoins currently owned by the addresses in its wallet.  The sum is displayed as your current balance.

3 - Hypothetical scenario - I secure my savings wallet containing 100 coins on a flash drive, by cut and paste. Then I restart the program so a new wallet is created - I record its only address and then delete the wallet. Then I copy the savings wallet from the flash drive back to the AppData\Roaming\Bitcoin directory and open the program so it is recognized. Finally I transfer all 100 coins to the address recorded earlier. The outcome would be total lost of all the coins, correct?
If you delete the only copy of a public/private key pair (the public one being your "address"), then there is no way to claim ownership of any coins belonging to those addresses.  This is why having a backup copy is a good idea, as long as both it and the original are reasonably secured.

4 - I would guess the Bitcoin program the the wallet should be kept on a separate machine and not on the Mining rig?
It doesn't really matter as long as the wallet is kept secure.  If the mining rig is a well-secured linux box, that might be the best place to keep it.

5 - If you secure you wallet on a flash drive and then someone sends you coins on an address that is contained within that wallet when do the coins actually appear in your wallet? I mean that wallet is "offline", so how will the transaction work out?
The transactions are made and stored on the Bitcoin network.  No coins are actually stored in your wallet.  When you connect to the Bitcoin network with a wallet (or, more specifically, a given public/private key pair), then Bitcoins owned by your public key(s) are displayed as your balance.

6 - I read an article somewhere that after 50 coins accumulated in your wallet you need to back it up, because you might lose the coins. Is that just pure gibberish?
They were probably just recommending a backup once you have a worthwhile amount.  There should be no difference between having 1 Bitcoin or 25,000 - except that the latter is obviously more valuable to you.

YinCoin YangCoin ☯☯First Ever POS/POW Alternator! Multipool! ☯ ☯ http://yinyangpool.com/ 
https://bitcointalk.org/index.php?topic=623937
Bwincoin - 100% Free POS. BCc7XkRRbzy7cJkg4QTrA7JzseTAHgmc2A
kuloch
Member
**
Offline Offline

Activity: 70


View Profile
June 16, 2011, 05:24:19 AM
 #45

There appears to be a little more to the wallet's key handling than I had thought.  There are a couple posts in another thread that make it sound like every time you send BitCoin from your wallet, the client uses a new "hidden" receiving address for any remainder.

Quote
If I send you 4btc but my only coin is worth 5btc, 1btc is sent back to me at a new 'change' address.

So it sounds like receiving BitCoin does not require either usage or backup of your wallet (it can stay offline and hidden in a safe), but every so many times of sending BitCoin (~100?) will require replacing the backup due to new "change" keys.

Again, I cannot say this is absolutely true.  But I can see it being so.

YinCoin YangCoin ☯☯First Ever POS/POW Alternator! Multipool! ☯ ☯ http://yinyangpool.com/ 
https://bitcointalk.org/index.php?topic=623937
Bwincoin - 100% Free POS. BCc7XkRRbzy7cJkg4QTrA7JzseTAHgmc2A
tom3434
Newbie
*
Offline Offline

Activity: 8


View Profile
June 16, 2011, 06:14:16 AM
 #46

Excellent help Smiley
aiwk171
Newbie
*
Offline Offline

Activity: 28


View Profile
June 16, 2011, 06:22:10 AM
 #47

There appears to be a little more to the wallet's key handling than I had thought.  There are a couple posts in another thread that make it sound like every time you send BitCoin from your wallet, the client uses a new "hidden" receiving address for any remainder.

Quote
If I send you 4btc but my only coin is worth 5btc, 1btc is sent back to me at a new 'change' address.

So it sounds like receiving BitCoin does not require either usage or backup of your wallet (it can stay offline and hidden in a safe), but every so many times of sending BitCoin (~100?) will require replacing the backup due to new "change" keys.

Nope, that would be strange and impractical. And probably not even possible to implement. So transfer as many coins as you'd like to your preferred address, nothing is going to go wrong.

The whole thing with the generation of new addresses is simply a mechanism in the _client_ in order to gain further anonymity.

And thanks a million everybody for answering questions!
Alex Beckenham
Full Member
***
Offline Offline

Activity: 154


View Profile
June 16, 2011, 06:26:53 AM
 #48

So it sounds like receiving BitCoin does not require either usage or backup of your wallet (it can stay offline and hidden in a safe), but every so many times of sending BitCoin (~100?) will require replacing the backup due to new "change" keys.

I can confirm this as correct.

Edit: I read your statement as sending FROM your savings wallet. Now I realise you may have meant sending 100 times TO your savings wallet, which doesn't require any further backup.

MBH
Jr. Member
*
Offline Offline

Activity: 51


View Profile WWW
June 16, 2011, 07:06:14 AM
 #49

So it sounds like receiving BitCoin does not require either usage or backup of your wallet (it can stay offline and hidden in a safe), but every so many times of sending BitCoin (~100?) will require replacing the backup due to new "change" keys.

I can confirm this as correct.

So how do I know the new "change" address?
Alex Beckenham
Full Member
***
Offline Offline

Activity: 154


View Profile
June 16, 2011, 07:11:15 AM
 #50

You could find out by looking at your transaction in http://blockexplorer.com

Or, you could not bother and just back up your wallet regularly.

aiwk171
Newbie
*
Offline Offline

Activity: 28


View Profile
June 16, 2011, 07:18:01 AM
 #51

Alex, I think you're wrong. You can send anything you want to a given bitcoin address, I mean otherwise the network would have to refuse a certain transaction. That's just not the case. Maybe you're confusing this with how the client behaves?

Let me say this again: You may do the following: put your wallet.dat in a safe, delete/shred any local copies, use a different account to transfer coins to it and do this as long as you please. Nothing will make it generate new addresses, that's the job of the client. Your wallet is just the _key_ to a number of addresses.

And true, you can and should use blockexplorer.com, so you'll have an oversight over what's happening on your safety account.
Alex Beckenham
Full Member
***
Offline Offline

Activity: 154


View Profile
June 16, 2011, 07:50:38 AM
 #52

Alex, I think you're wrong. You can send anything you want to a given bitcoin address

I don't think I ever said you couldn't. What I confirmed above is that for every 100 times you spend from your wallet, you should do another backup, as your old backup won't contain all the new 'change' keys.

Edit: I've updated http://bitcoinsecurity.com with the link to block explorer.

MBH
Jr. Member
*
Offline Offline

Activity: 51


View Profile WWW
June 16, 2011, 07:58:01 AM
 #53

I read the wiki page https://en.bitcoin.it/wiki/Transactions but it's still not quite clear to me on why there's a change address or value.

Quoting the wiki: "If the input is worth 50 BTC but you only want to send 25 BTC, Bitcoin will create two outputs worth 25 BTC: one to the destination, and one back to you (known as "change", though you send it to yourself). Any input bitcoins not redeemed in an output is considered a transaction fee; whoever generates the block will get it."

0) Why does that happen (the change itself) if I'm sending the exact amount I want to send?
1) As I understand, the change address is created and saved in the wallet.dat file but doesn't show up in the User Interface (UI). So how do I claim my money?
kuloch
Member
**
Offline Offline

Activity: 70


View Profile
June 16, 2011, 07:59:59 AM
 #54

Hmm... I don't especially like the idea of the client potentially leaving you not knowing with what addresses your BTC is associated, without looking up every one of your send transactions on the block explorer.  Although I suspect the software will be a little more mature by the time I actually have enough BTC for it to matter.  If not, I'll just develop something, myself, as a side project.

YinCoin YangCoin ☯☯First Ever POS/POW Alternator! Multipool! ☯ ☯ http://yinyangpool.com/ 
https://bitcointalk.org/index.php?topic=623937
Bwincoin - 100% Free POS. BCc7XkRRbzy7cJkg4QTrA7JzseTAHgmc2A
Alex Beckenham
Full Member
***
Offline Offline

Activity: 154


View Profile
June 16, 2011, 08:00:58 AM
 #55

I read the wiki page https://en.bitcoin.it/wiki/Transactions but it's still not quite clear to me on why there's a change address or value.

Quoting the wiki: "If the input is worth 50 BTC but you only want to send 25 BTC, Bitcoin will create two outputs worth 25 BTC: one to the destination, and one back to you (known as "change", though you send it to yourself). Any input bitcoins not redeemed in an output is considered a transaction fee; whoever generates the block will get it."

0) Why does that happen (the change itself) if I'm sending the exact amount I want to send?
1) As I understand, the change address is created and saved in the wallet.dat file but doesn't show up in the User Interface (UI). So how do I claim my money?

0) because even if you want to send exactly 20 btc, your wallet may contain addresses which have the following balances:

10 btc
15 btc
19 btc
25 btc

So what does it choose? It might choose something like the 10 and the 15, combine them together to send 25, sending 20 to your destination, and 5 back to a change address.

Then you'd have the following in your wallet:

19 btc
25 btc
5 btc (residing in the new 'change' address)

1) it's automatically claimed and will show up in your balance.

kuloch
Member
**
Offline Offline

Activity: 70


View Profile
June 16, 2011, 08:05:32 AM
 #56

0) Why does that happen (the change itself) if I'm sending the exact amount I want to send?
1) As I understand, the change address is created and saved in the wallet.dat file but doesn't show up in the User Interface (UI). So how do I claim my money?

Sorry, I just have to ask:  Why did you start your numbering at 0?
Tongue

YinCoin YangCoin ☯☯First Ever POS/POW Alternator! Multipool! ☯ ☯ http://yinyangpool.com/ 
https://bitcointalk.org/index.php?topic=623937
Bwincoin - 100% Free POS. BCc7XkRRbzy7cJkg4QTrA7JzseTAHgmc2A
MBH
Jr. Member
*
Offline Offline

Activity: 51


View Profile WWW
June 16, 2011, 08:08:31 AM
 #57

0) Why does that happen (the change itself) if I'm sending the exact amount I want to send?
1) As I understand, the change address is created and saved in the wallet.dat file but doesn't show up in the User Interface (UI). So how do I claim my money?

Sorry, I just have to ask:  Why did you start your numbering at 0?
Tongue

Because everything starts from zero :p
MBH
Jr. Member
*
Offline Offline

Activity: 51


View Profile WWW
June 16, 2011, 08:10:34 AM
 #58

I read the wiki page https://en.bitcoin.it/wiki/Transactions but it's still not quite clear to me on why there's a change address or value.

Quoting the wiki: "If the input is worth 50 BTC but you only want to send 25 BTC, Bitcoin will create two outputs worth 25 BTC: one to the destination, and one back to you (known as "change", though you send it to yourself). Any input bitcoins not redeemed in an output is considered a transaction fee; whoever generates the block will get it."

0) Why does that happen (the change itself) if I'm sending the exact amount I want to send?
1) As I understand, the change address is created and saved in the wallet.dat file but doesn't show up in the User Interface (UI). So how do I claim my money?

0) because even if you want to send exactly 20 btc, your wallet may contain addresses which have the following balances:

10 btc
15 btc
19 btc
25 btc

So what does it choose? It might choose something like the 10 and the 15, combine them together to send 25, sending 20 to your destination, and 5 back to a change address.

Then you'd have the following in your wallet:

19 btc
25 btc
5 btc (residing in the new 'change' address)

1) it's automatically claimed and will show up in your balance.

Thank you Alex, it's more clear now.

Though when you say it's automatically claimed & added to my balance, which balance is it added to? i.e., which of my current addresses?

Also, wouldn't it be easier to avoid this situation by always sending coins to one address rather than having them dispersed at multiple addresses?
kuloch
Member
**
Offline Offline

Activity: 70


View Profile
June 16, 2011, 08:49:42 AM
 #59

I read the wiki page https://en.bitcoin.it/wiki/Transactions but it's still not quite clear to me on why there's a change address or value.

Quoting the wiki: "If the input is worth 50 BTC but you only want to send 25 BTC, Bitcoin will create two outputs worth 25 BTC: one to the destination, and one back to you (known as "change", though you send it to yourself). Any input bitcoins not redeemed in an output is considered a transaction fee; whoever generates the block will get it."

0) Why does that happen (the change itself) if I'm sending the exact amount I want to send?
1) As I understand, the change address is created and saved in the wallet.dat file but doesn't show up in the User Interface (UI). So how do I claim my money?

0) because even if you want to send exactly 20 btc, your wallet may contain addresses which have the following balances:

10 btc
15 btc
19 btc
25 btc

So what does it choose? It might choose something like the 10 and the 15, combine them together to send 25, sending 20 to your destination, and 5 back to a change address.

Then you'd have the following in your wallet:

19 btc
25 btc
5 btc (residing in the new 'change' address)

1) it's automatically claimed and will show up in your balance.

Thank you Alex, it's more clear now.

Though when you say it's automatically claimed & added to my balance, which balance is it added to? i.e., which of my current addresses?

Also, wouldn't it be easier to avoid this situation by always sending coins to one address rather than having them dispersed at multiple addresses?

Going back to Alex's example, Alice has 10 BTC in an address labeled "A" and 15 BTC in an address labeled "B".  She wants to send 20 BTC to Bob.  So the client sends all 10 BTC from "A" to Bob as one transaction.  For the rest, the client makes a second send transaction - this time from "B".  10 of the 15 BTC is sent to Bob, and the remaining 5 BTC is sent back to Alice.  The client selects a new "change" address as the receiver for this 5 BTC, and because it holds the private key for this address that 5 BTC is added back into Alice's balance.

BitCoin cannot send only partial amounts.  If in the example above Alice were to send only the 10 BTC from "B" to Bob, then the remaining 5 BTC would be claimed as a transaction fee by whomever processes the transaction.  The system is designed to allow for fees so that mining remains profitable even when minting offers little yield per new block, with the idea that fees will go up as minting yield goes down.

Also, It sounds like the new "change" address is used instead of Alice's original "B" address either to make everything more private (no one knows it belongs to "B"'s owner) or simply to help keep things separate - or both.  This was a choice made in developing the BitCoin client, and a different client could instead send the remainder amount back to the original sender address, as you suggested.

YinCoin YangCoin ☯☯First Ever POS/POW Alternator! Multipool! ☯ ☯ http://yinyangpool.com/ 
https://bitcointalk.org/index.php?topic=623937
Bwincoin - 100% Free POS. BCc7XkRRbzy7cJkg4QTrA7JzseTAHgmc2A
emale
Newbie
*
Offline Offline

Activity: 12


View Profile
June 16, 2011, 09:04:20 AM
 #60

Can't the wallet.dat be encrypted already? (password when starting the bitcoin client...)

Bitrated user: emale.
Pages: « 1 2 [3] 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 ... 129 »
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!