Bitcoin Forum
December 07, 2016, 04:51:53 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 54 ... 129 »
  Print  
Author Topic: HOWTO: create a 100% secure wallet  (Read 249740 times)
88bitcoins
Newbie
*
Offline Offline

Activity: 9



View Profile
June 16, 2011, 09:31:53 AM
 #61

Kuloch, just wanted to thank you for your clear and concise explanations to my questions.

-88bitcoins

While I'm a complete n00b to BTC as of yesterday, I do know a thing or two about public/private key encryption.

1)
Quote
backing up on physical media is of "NO USE"
[88bitcoins]: I'm assuming because if the same file is on your OS then it's not "protected" whether or not you have a physical backup elsewhere.
Correct.  If the unencrypted "wallet" (read "key") exists in a vulnerable place, then it doesn't matter how securely you back it up.  It's like keeping a copy of your house key under your mat but making a "secure" copy regularly.  A burglar can simply check under your mat, regardless of how securely you keep the copies.

Quote
QUESTION: is there any circumstance in which making a physical backup would be beneficial? It's certainly easy enough.
I can think of two valid reasons for separate physical copies.  The first is simply to guard against data corruption, drive destruction, etc.  The second is to keep the "secure" file only on media other than your hard drive, created and saved in a "secure" operating system.

Keeping at least one backup is a good idea.  Just remember that the *least* secure copy of your "wallet" (read "key") is effectively the only one that matters for security.

2)
Quote
Encryption does not "protect [you] from all evil"
[88bitcoins]: I'm assuming because it can still be hacked and/or encryption doesn't protect from greater dangers such as your hard drive dying and the wallet cannot be retrieved, your laptop is stolen to be sold for $20 on the street.
Hard drive corruption/destuctions/loss is why it's good to keep a backup copy on another physical medium.  Note that having your drive stolen with an unencrypted wallet means that wallet is forfeit, unless you happen to transfer all BTC out from that account to another using a backup copy before the "bad guys" get to it, first.

Quote
[QUESTION]: is encryption still recommended?
I can't speak much on local encryption, as I've never personally had anything worth the bother.  But if you have a keylogger on your system, then encryption probably isn't worth crap once you type in your password.

3)
Quote
So in order to (protect) your BTCs, you have to create a "new, untainted address, in conjunction with the wallet.dat that you deposit".
The point is that any "wallet" (read "key") that has ever existed in unencrypted form on your computer (which may have keyloggers, trojans, and the like - regardless of whatever your anti-malware software says) could potentially be compromised.  The suggestion of using a bootable linux distro so that the "wallet" (read "key") file never touches your potentially tainted system is pretty good, if a little hardcore.  But if I had 25k BTC, that's probably what I'd do.

Quote
QUESTION: (I may sound naive, but I have to ask) do I go into my bitcoin app, then create a new never been used address, then send what I have to this new address, i.e. to myself? THEN, back up both that new address and my wallet.dat file together? And additionally, each time I want to do a backup, create a fresh address?
As soon as you create a "wallet" (read "key") in your (potentially compromised) operating system, then your wallet is already potentially compromised.  Remember: securing one copy doesn't secure all copies.  Only if *every* single copy that has ever existed is secure can you consider the "wallet" (read "key") to be "secure".
1481129513
Hero Member
*
Offline Offline

Posts: 1481129513

View Profile Personal Message (Offline)

Ignore
1481129513
Reply with quote  #2

1481129513
Report to moderator
1481129513
Hero Member
*
Offline Offline

Posts: 1481129513

View Profile Personal Message (Offline)

Ignore
1481129513
Reply with quote  #2

1481129513
Report to moderator
1481129513
Hero Member
*
Offline Offline

Posts: 1481129513

View Profile Personal Message (Offline)

Ignore
1481129513
Reply with quote  #2

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

Posts: 1481129513

View Profile Personal Message (Offline)

Ignore
1481129513
Reply with quote  #2

1481129513
Report to moderator
kuloch
Member
**
Offline Offline

Activity: 70


View Profile
June 16, 2011, 09:57:27 AM
 #62

Hey, we n00bs have to stick together.  Some of us just happen to have a little more of a computing background.

Now if only I can finally land a job with my recent Bachelor's degree in Computer Science...

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

Activity: 28


View Profile
June 16, 2011, 10:31:20 AM
 #63

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

As has been said elsewhere, this wouldn't work, since the client has to somehow decrypt the file in order to use it. Decryption => a decrypted copy is stored in RAM => a clever program can find and copy it.

So this would be rather dangerous, since it would give users a false sense of security, prompting them to be even more careless. I know lots of users are whining right now and blaming the devs for not including encryption, but this is simply the truth of the matter.
cypherdoc
Legendary
*
Offline Offline

Activity: 1764



View Profile
June 16, 2011, 11:09:45 AM
 #64

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.

you're on the right track Alex, but the client will search for larger amt addresses than the tx itself, ie, it won't combine 2 addresses of lesser amts.
Alex Beckenham
Full Member
***
Offline Offline

Activity: 154


View Profile
June 16, 2011, 11:13:43 AM
 #65

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.

you're on the right track Alex, but the client will search for larger amt addresses than the tx itself, ie, it won't combine 2 addresses of lesser amts.

Ah okay, so from my example, let's just say they didn't have a 25 btc address in their wallet, then it would have to combine two smaller ones.

cypherdoc
Legendary
*
Offline Offline

Activity: 1764



View Profile
June 16, 2011, 11:17:55 AM
 #66

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.

you're on the right track Alex, but the client will search for larger amt addresses than the tx itself, ie, it won't combine 2 addresses of lesser amts.

Ah okay, so from my example, let's just say they didn't have a 25 btc address in their wallet, then it would have to combine two smaller ones.


yes, thats correct, it would have to.
cypherdoc
Legendary
*
Offline Offline

Activity: 1764



View Profile
June 16, 2011, 11:22:40 AM
 #67

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

As has been said elsewhere, this wouldn't work, since the client has to somehow decrypt the file in order to use it. Decryption => a decrypted copy is stored in RAM => a clever program can find and copy it.

So this would be rather dangerous, since it would give users a false sense of security, prompting them to be even more careless. I know lots of users are whining right now and blaming the devs for not including encryption, but this is simply the truth of the matter.

when u boot from a live cd, how is it that you can install a copy of Bitcoin with a new wallet that doesn't touch RAM?  if it does, isn't that an opportunity for a trojan to detect your wallet?
Novi
Newbie
*
Offline Offline

Activity: 9


View Profile WWW
June 16, 2011, 01:21:05 PM
 #68

Really? One needs to download and install a separate OS to have a safe wallet?
That is going to turn those people down who don't know about computers
I would have thought that the bitcoin community had come up with an easier alternative,
let alone making it safe to use bitcoins by default.
Well, I guess I just have to download Ubuntu, I hope thought that there will be more simple alternatives in the future.

E: And thanks for writing the guide

GIVE ME BITCOINS I NEED SPARE-PARTS FOR MY SPACESHIP

1LbU6zK5xJtaqErMeBm8fvvXxNgXPCrgFy
aiwk171
Newbie
*
Offline Offline

Activity: 28


View Profile
June 16, 2011, 02:26:26 PM
 #69

when u boot from a live cd, how is it that you can install a copy of Bitcoin with a new wallet that doesn't touch RAM?  if it does, isn't that an opportunity for a trojan to detect your wallet?

Well of course it touches RAM, but the point is, that your liveCD is clean like a virgin, so there shouldn't be any chance for a trojan to interfere with your system.


Really? One needs to download and install a separate OS to have a safe wallet?
That is going to turn those people down who don't know about computers
I would have thought that the bitcoin community had come up with an easier alternative,
let alone making it safe to use bitcoins by default.
Well, I guess I just have to download Ubuntu, I hope thought that there will be more simple alternatives in the future.

Sure, there are simpler alternatives. See the wiki (link in the article) for another secure setup. My aim was to obtain 100% security, which is in no way necessary for everybody.

And yes, if you're using Windows for serious business, you really shouldn't. But that holds true in general. Oh and, I didn't say "install", just boot a liveCD from an USB-stick, its quite fast.
kuloch
Member
**
Offline Offline

Activity: 70


View Profile
June 16, 2011, 05:19:31 PM
 #70

you're on the right track Alex, but the client will search for larger amt addresses than the tx itself, ie, it won't combine 2 addresses of lesser amts.

So if Alex's example were instead:

10 BTC
15 BTC
19 BTC
25,000 BTC

The client would then use the 25,000 BTC for a 20 BTC send transaction?  Or is there a tad more to the selection algorithm than simply "use smallest account that's bigger first, then aggregate smaller if none bigger"?  I don't especially like the idea of the 25k being forked by default for every send over 19 BTC in the above example.  That would (presumably) require traversing many different transactions on the block explorer to figure out the current address owning the remaining bulk of the 25k. Although I guess there are plenty of ways around that - e.g. keeping another moderately-sized account, or keeping the 25k in a separate wallet.  And perhaps it's moot, if one does not care about micro-managing or tracking exactly which address owns what amount.

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

Activity: 5


View Profile
June 16, 2011, 06:47:04 PM
 #71

Thanks for the information. This seems like a much easier process than another post that I read about using encryption software and moving the .dat files back and forth between separate drives.
jimbo77
Member
**
Offline Offline

Activity: 78


View Profile
June 16, 2011, 07:20:48 PM
 #72

HOWTO TEST IT without going online: after bitcoin has download ALL the blocks on your main work computer, copy the whole bitcoin directory data onto a usb stick. Boot into the live CD again. Copy files and put into ".bitcoin" folder. Copy backed up wallet there too. Unplug internet and run bitcoin. All transactions should show up. Some computers may not have enough ram but you could run bitcoin with -datadir being the usb location.
cypherdoc
Legendary
*
Offline Offline

Activity: 1764



View Profile
June 16, 2011, 07:41:18 PM
 #73

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.

you're on the right track Alex, but the client will search for larger amt addresses than the tx itself, ie, it won't combine 2 addresses of lesser amts.

Ah okay, so from my example, let's just say they didn't have a 25 btc address in their wallet, then it would have to combine two smaller ones.


Alex, i must apologize.  i spoke with Theymos about this issue and heres his response:

"It might choose a combination of smaller amounts. It doesn't always choose a larger amount.
Usually it will choose the closest match. The coin selection algorithm tries to reduce the amount of change, though the algorithm isn't perfect."

my bad...
DrElektron
Newbie
*
Offline Offline

Activity: 7


View Profile
June 16, 2011, 07:51:13 PM
 #74

how about simply printing out the .dat file and storing it in a fireproof safe. at least then its long term safe storage of your wallet.

aiwk171
Newbie
*
Offline Offline

Activity: 28


View Profile
June 16, 2011, 08:18:39 PM
 #75

how about simply printing out the .dat file and storing it in a fireproof safe. at least then its long term safe storage of your wallet.

Sure, the idea already came up somewhere. But two things:
1. It would have to be shortened considerably, which is possible I think. Right now it would give you a few hundred pages.
2. Have fun typing it in when you want to use your coins. (So a few sheets of 2D barcodes might make more sense)

3. Tell this to a noobie and he will end up with a sheet of paper with the word "wallet.dat" printed on it. And he will then complain loudly to you if it doesn't allow him to access his bitcoins Smiley
kuloch
Member
**
Offline Offline

Activity: 70


View Profile
June 16, 2011, 08:27:46 PM
 #76

how about simply printing out the .dat file and storing it in a fireproof safe. at least then its long term safe storage of your wallet.

Sure, the idea already came up somewhere. But two things:
1. It would have to be shortened considerably, which is possible I think. Right now it would give you a few hundred pages.
2. Have fun typing it in when you want to use your coins. (So a few sheets of 2D barcodes might make more sense)

3. Tell this to a noobie and he will end up with a sheet of paper with the word "wallet.dat" printed on it. And he will then complain loudly to you if it doesn't allow him to access his bitcoins Smiley

The only important information is the public/private key pair for each address - one of which is your public receiving address and the other a completely different alphanumeric string of the same length.  The latter is presumably accessable with tools, but I haven't seen any way that the "original" BitCoin client offers access to it.  If you can extract these key pairs from your wallet.dat (and insert them back in), then you're gold for having a one page sheet with several lines of characters.

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

Activity: 255



View Profile
June 16, 2011, 08:29:20 PM
 #77

Thanks for the guide. The security implications around Bitcoin balances seem to be the biggest risk in the system. There certainly are people out there trying to take advantage of all the sudden publicity, as well as the early adopters with large balances. Only a few hours after I started mining/ signed up for dwolla / mtgox etc someone tried to reset the passwords on both my email, facebook and WOW accounts... unsuccessfully of course since i use strong and different passwords, among other security steps.

Dash: Xdopotr3eAHpsSCMkUyU2YWP3WQWb5X3t8
DrElektron
Newbie
*
Offline Offline

Activity: 7


View Profile
June 16, 2011, 09:05:55 PM
 #78

how about simply printing out the .dat file and storing it in a fireproof safe. at least then its long term safe storage of your wallet.
3. Tell this to a noobie and he will end up with a sheet of paper with the word "wallet.dat" printed on it. And he will then complain loudly to you if it doesn't allow him to access his bitcoins Smiley

LOL! good point..

NoFeeMining
Jr. Member
*
Offline Offline

Activity: 54


View Profile
June 16, 2011, 10:12:07 PM
 #79

They definitely need to work on wallet security.

Easy to use NO FEE mining pool
http://www.NoFeeMining.com/
officialsavage
Full Member
***
Offline Offline

Activity: 154



View Profile
June 16, 2011, 10:33:48 PM
 #80

Awesome post.  This got some great discussion going.  Hopefully you got whitelisted for your efforts.
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 54 ... 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!