Author

Topic: Let me get this straight here... (Offline address generation)... (Read 1706 times)

sr. member
Activity: 280
Merit: 250
So that in 20 years if I wanted to access my "rainy day" fund, I could retrieve my wallet.dat file that had been encrypted on "the cloud", pop it into a bitcoin client, and my coins would magically appear? (After a massive block download wait I assume).

Oh the anticipation!
sr. member
Activity: 504
Merit: 250
To simplify, when you are making a transaction you are basically saying: this here money is claimable by whoever knows the magic password.
The magic password is a ECDSA key pair that is best stored on a computer, but it theory it could be memorized (256bit, a random sentence of 25 English words). Since no one can prove you know a password, no one can prove you own the amount. Once you write the password down or leave it on the computer it was generated, things get a bit more tricky, but not unmanageable if you practice safe hex and computer hygiene.
sr. member
Activity: 364
Merit: 250
This sounds like the idea of the year in terms of securing bitcoins. It's perfect.

My only question is... is it at all possible to re-create a wallet.dat file from one half of it? Perhaps we will never know until it happens..?

If the 'key' flash drive is truly random, it's PROVABLY SECURE. against any form of computer (quantum, etc.) it's called a one-time-pad.

legendary
Activity: 1708
Merit: 1010

I guess one solution would be to only store the flash drives in local bank's safety deposit box at which you had account information, and to leave the data unencrypted on the drive. Not too sure I even trust my bankers from not entering my safety deposit box however. That seems like too wide of a hole to leave open.

two cheap (128 meg) usb drives, or even multiples for redundency.  Wallet.dat file, equal amount of random bits.  XOR the two together.  Keep the original set of random data on one drive and the random-like output on the other.  Destroy the wallet.dat file.  Keep the two drives in physically secure locations, but in different ones.  For example, one could be in a safety deposit box, the other in your file at your attorney's office.  Or another safety deposit box at another bank.  Gun safe at the house.  Your dropbox account?  You could have multiple copies of each, as long as they were never kept together.  A thief could then steal one, and you would still have at least one copy of each to be able to recreate the wallet.dat file, and the thief would just have a thumbdrive with useless data.  Mark each of the thumbdrives so that it's obvious what they are and which they are.  Perhaps a sticker on each that says "codex" and "key".  Both are necessary for recreating the wallet.dat file, forever; but it doesn't require that you remember a complex keyphrase, nor is it a very complicated process that can't be simply explained in your will.

This sounds like the idea of the year in terms of securing bitcoins. It's perfect.

My only question is... is it at all possible to re-create a wallet.dat file from one half of it? Perhaps we will never know until it happens..?

Not from have of what I described.  This is basicly the digital version of the Vernon Cypher, the only cryptographic method that has been proven to be secure from brute force attacks forever.  Even a quantum computer couldn't do anything with it.
sr. member
Activity: 280
Merit: 252

I guess one solution would be to only store the flash drives in local bank's safety deposit box at which you had account information, and to leave the data unencrypted on the drive. Not too sure I even trust my bankers from not entering my safety deposit box however. That seems like too wide of a hole to leave open.

two cheap (128 meg) usb drives, or even multiples for redundency.  Wallet.dat file, equal amount of random bits.  XOR the two together.  Keep the original set of random data on one drive and the random-like output on the other.  Destroy the wallet.dat file.  Keep the two drives in physically secure locations, but in different ones.  For example, one could be in a safety deposit box, the other in your file at your attorney's office.  Or another safety deposit box at another bank.  Gun safe at the house.  Your dropbox account?  You could have multiple copies of each, as long as they were never kept together.  A thief could then steal one, and you would still have at least one copy of each to be able to recreate the wallet.dat file, and the thief would just have a thumbdrive with useless data.  Mark each of the thumbdrives so that it's obvious what they are and which they are.  Perhaps a sticker on each that says "codex" and "key".  Both are necessary for recreating the wallet.dat file, forever; but it doesn't require that you remember a complex keyphrase, nor is it a very complicated process that can't be simply explained in your will.

This sounds like the idea of the year in terms of securing bitcoins. It's perfect.

My only question is... is it at all possible to re-create a wallet.dat file from one half of it? Perhaps we will never know until it happens..?
legendary
Activity: 938
Merit: 1001
bitcoin - the aerogel of money
What is wrong with this idea? Anything?

In practice, the only thing that is wrong with this idea for me is  that I tend to forget passwords that I don't use often.
legendary
Activity: 1708
Merit: 1010

I guess one solution would be to only store the flash drives in local bank's safety deposit box at which you had account information, and to leave the data unencrypted on the drive. Not too sure I even trust my bankers from not entering my safety deposit box however. That seems like too wide of a hole to leave open.

two cheap (128 meg) usb drives, or even multiples for redundency.  Wallet.dat file, equal amount of random bits.  XOR the two together.  Keep the original set of random data on one drive and the random-like output on the other.  Destroy the wallet.dat file.  Keep the two drives in physically secure locations, but in different ones.  For example, one could be in a safety deposit box, the other in your file at your attorney's office.  Or another safety deposit box at another bank.  Gun safe at the house.  Your dropbox account?  You could have multiple copies of each, as long as they were never kept together.  A thief could then steal one, and you would still have at least one copy of each to be able to recreate the wallet.dat file, and the thief would just have a thumbdrive with useless data.  Mark each of the thumbdrives so that it's obvious what they are and which they are.  Perhaps a sticker on each that says "codex" and "key".  Both are necessary for recreating the wallet.dat file, forever; but it doesn't require that you remember a complex keyphrase, nor is it a very complicated process that can't be simply explained in your will.
sr. member
Activity: 280
Merit: 252
So with all this talk about hacking, everybody is rightfully paranoid about their wallet.dat security.

I was thinking... wouldn't it be possible to generate a bitcoin address whilst OFFLINE/not connected to the internet? On a fresh ubuntu/linux install...

If you send the coins to that wallet after encrypting it securely and uploading it to a few remote cloud storage type services... and then sent some bitcoins to an address you had generated in the wallet... that wallet would still contain the coins you sent it correct? Even if it was NEVER connected to the network?

So that in 20 years if I wanted to access my "rainy day" fund, I could retrieve my wallet.dat file that had been encrypted on "the cloud", pop it into a bitcoin client, and my coins would magically appear? (After a massive block download wait I assume).

Am I right?

What is wrong with this idea? Anything?

I am only worried about trying it because it means I would never actually have any proof that the bitcoins were indeed in the wallet, if I never connected to the network that is.

Couldn't somebody else create a wallet and generate the same address as me, since I never told the network about my address?

There is nothing theoretically wrong with this suggestion.
You can check that there are bitcoins in your wallet by checking the individual addresses in the blockexplorer.

You only need the wallet if you want to spend the coins.

I'd be most worried about cloud services being around in 20 years. and/or losing/forgetting my strong password





This is my biggest worry as well. I have thought about this quite a bit.

What kind of password can you create that is easy to remember, but hard to brute force?

And even still... amnesia is a bitch.

It would suck to get hit by a truck, memory erased, AND forget the password to your millions of dollars in bitcoins that are your only possible solution to the current problem.

I know I am being paranoid but... I can't even remember my parent's birthdays or my own sometimes for that matter.

I guess one solution would be to only store the flash drives in local bank's safety deposit box at which you had account information, and to leave the data unencrypted on the drive. Not too sure I even trust my bankers from not entering my safety deposit box however. That seems like too wide of a hole to leave open.
sr. member
Activity: 294
Merit: 252
Firstbits: 1duzy
So with all this talk about hacking, everybody is rightfully paranoid about their wallet.dat security.

I was thinking... wouldn't it be possible to generate a bitcoin address whilst OFFLINE/not connected to the internet? On a fresh ubuntu/linux install...

If you send the coins to that wallet after encrypting it securely and uploading it to a few remote cloud storage type services... and then sent some bitcoins to an address you had generated in the wallet... that wallet would still contain the coins you sent it correct? Even if it was NEVER connected to the network?

So that in 20 years if I wanted to access my "rainy day" fund, I could retrieve my wallet.dat file that had been encrypted on "the cloud", pop it into a bitcoin client, and my coins would magically appear? (After a massive block download wait I assume).

Am I right?

What is wrong with this idea? Anything?

I am only worried about trying it because it means I would never actually have any proof that the bitcoins were indeed in the wallet, if I never connected to the network that is.

Couldn't somebody else create a wallet and generate the same address as me, since I never told the network about my address?

There is nothing theoretically wrong with this suggestion.
You can check that there are bitcoins in your wallet by checking the individual addresses in the blockexplorer.

You only need the wallet if you want to spend the coins.

I'd be most worried about cloud services being around in 20 years. and/or losing/forgetting my strong password



full member
Activity: 126
Merit: 101
It would work just fine. To confirm it has worked you can manually copy the block chain to the offline machine. When you send coins to an address the network becomes aware of it. However the network being aware of an address has no effect on someones ability to create the same address. This is not a problem because there are 1.4*10^59 possible addresses. To give you an idea of how big a number that is there are 1*10^50 atoms in the Earth. So there are 1,400,000,000 times as many possible bitcoin addresses as there are atoms in the Earth.
hero member
Activity: 672
Merit: 500
BitLotto - best odds + best payouts + cheat-proof
It will work. The chance of someone generating the same private key/address are amazingly improbable! Not going to happen! The odds are just way too small.

legendary
Activity: 1708
Merit: 1010
Not only would that work, it's a fair description of what I have already done with the majority of my bitcoins.
sr. member
Activity: 280
Merit: 252
So with all this talk about hacking, everybody is rightfully paranoid about their wallet.dat security.

I was thinking... wouldn't it be possible to generate a bitcoin address whilst OFFLINE/not connected to the internet? On a fresh ubuntu/linux install...

If you send the coins to that wallet after encrypting it securely and uploading it to a few remote cloud storage type services... and then sent some bitcoins to an address you had generated in the wallet... that wallet would still contain the coins you sent it correct? Even if it was NEVER connected to the network?

So that in 20 years if I wanted to access my "rainy day" fund, I could retrieve my wallet.dat file that had been encrypted on "the cloud", pop it into a bitcoin client, and my coins would magically appear? (After a massive block download wait I assume).

Am I right?

What is wrong with this idea? Anything?

I am only worried about trying it because it means I would never actually have any proof that the bitcoins were indeed in the wallet, if I never connected to the network that is.

Couldn't somebody else create a wallet and generate the same address as me, since I never told the network about my address?
Jump to: