Author

Topic: Exporting all private keys with Bitcoin Core and upload them to cloud (Read 848 times)

copper member
Activity: 2856
Merit: 3071
https://bit.ly/387FXHi lightning theory
Anyway this HD stuff seems magic to me.
How can a single little "seed phrase" can restore  for example all my 15,845 addresses? ?
Wow

A private key is nothing more than a very big number.  It can be represented in various formats, but by the time the wallet is using it, it is nothing more than a very big number.

That being said, the "Seed phrase" is nothing more than a way to encode a number (a very big number) using words instead of digits.

The actual HD processes is a bit (but not much) more complicated than this, but here's an example of how a seed phrase can restore 15,845 private keys.

Imagine that you pick a very big number and convert it to a seed phrase.
  • Now imagine that you add 1 to that very big number and use the result as a private key (you calculate the public key from it, and then the address from that).
  • Now imagine that you add 2 to that very big number and use the result as a private key (you calculate the public key from it, and then the address from that).
  • Now imagine that you add 3 to that very big number and use the result as a private key (you calculate the public key from it, and then the address from that).
  • Now imagine that you add 4 to that very big number and use the result as a private key (you calculate the public key from it, and then the address from that).
  • Now imagine that you add 5 to that very big number and use the result as a private key (you calculate the public key from it, and then the address from that).
  • ...
  • Now imagine that you keep doing this 15,845 times  (each time you calculate the public key, and then the address from the resulting private key).

When you are done, you have 15,845 different private keys that each have their own public key and address.

As long as nobody knows your seed phrase, they are not able to find your starting point, and are therefore NOT able to generate your sequence of 15,845 private keys.

As long as you DO know your seed phrase, you can figure out your starting point, and therefore ARE able to generate your sequence of 15,845 private keys.

Please note, this is NOT exactly how HD wallets work.  It is just a simplified example of how a single seed phrase could "restore for example all your 15,845 addresses".


so the seed phrase determines both the starting point and the pseudorandom sequence for generating addresses / keys, correct?

If I'm not mistaken, the seed is used to produce a master private key (from this, a master public key can also be generated).
This master private key is then able to produce your addresses (however, in a HD wallet such as Bitcoin Core it may take different disguises and may not be something easily traceable) .

So it what you said, but these are deterministic so you reproduce the private keys in the same order as they were originally produced in.
legendary
Activity: 1288
Merit: 1043
:^)
Anyway this HD stuff seems magic to me.
How can a single little "seed phrase" can restore  for example all my 15,845 addresses? ?
Wow

A private key is nothing more than a very big number.  It can be represented in various formats, but by the time the wallet is using it, it is nothing more than a very big number.

That being said, the "Seed phrase" is nothing more than a way to encode a number (a very big number) using words instead of digits.

The actual HD processes is a bit (but not much) more complicated than this, but here's an example of how a seed phrase can restore 15,845 private keys.

Imagine that you pick a very big number and convert it to a seed phrase.
  • Now imagine that you add 1 to that very big number and use the result as a private key (you calculate the public key from it, and then the address from that).
  • Now imagine that you add 2 to that very big number and use the result as a private key (you calculate the public key from it, and then the address from that).
  • Now imagine that you add 3 to that very big number and use the result as a private key (you calculate the public key from it, and then the address from that).
  • Now imagine that you add 4 to that very big number and use the result as a private key (you calculate the public key from it, and then the address from that).
  • Now imagine that you add 5 to that very big number and use the result as a private key (you calculate the public key from it, and then the address from that).
  • ...
  • Now imagine that you keep doing this 15,845 times  (each time you calculate the public key, and then the address from the resulting private key).

When you are done, you have 15,845 different private keys that each have their own public key and address.

As long as nobody knows your seed phrase, they are not able to find your starting point, and are therefore NOT able to generate your sequence of 15,845 private keys.

As long as you DO know your seed phrase, you can figure out your starting point, and therefore ARE able to generate your sequence of 15,845 private keys.

Please note, this is NOT exactly how HD wallets work.  It is just a simplified example of how a single seed phrase could "restore for example all your 15,845 addresses".


so the seed phrase determines both the starting point and the pseudorandom sequence for generating addresses / keys, correct?
legendary
Activity: 3472
Merit: 4801
Anyway this HD stuff seems magic to me.
How can a single little "seed phrase" can restore  for example all my 15,845 addresses? ?
Wow

A private key is nothing more than a very big number.  It can be represented in various formats, but by the time the wallet is using it, it is nothing more than a very big number.

That being said, the "Seed phrase" is nothing more than a way to encode a number (a very big number) using words instead of digits.

The actual HD processes is a bit (but not much) more complicated than this, but here's an example of how a seed phrase can restore 15,845 private keys.

Imagine that you pick a very big number and convert it to a seed phrase.
  • Now imagine that you add 1 to that very big number and use the result as a private key (you calculate the public key from it, and then the address from that).
  • Now imagine that you add 2 to that very big number and use the result as a private key (you calculate the public key from it, and then the address from that).
  • Now imagine that you add 3 to that very big number and use the result as a private key (you calculate the public key from it, and then the address from that).
  • Now imagine that you add 4 to that very big number and use the result as a private key (you calculate the public key from it, and then the address from that).
  • Now imagine that you add 5 to that very big number and use the result as a private key (you calculate the public key from it, and then the address from that).
  • ...
  • Now imagine that you keep doing this 15,845 times  (each time you calculate the public key, and then the address from the resulting private key).

When you are done, you have 15,845 different private keys that each have their own public key and address.

As long as nobody knows your seed phrase, they are not able to find your starting point, and are therefore NOT able to generate your sequence of 15,845 private keys.

As long as you DO know your seed phrase, you can figure out your starting point, and therefore ARE able to generate your sequence of 15,845 private keys.

Please note, this is NOT exactly how HD wallets work.  It is just a simplified example of how a single seed phrase could "restore for example all your 15,845 addresses".

sr. member
Activity: 613
Merit: 305
Suppose you have a business and you have a wallet with thousands of addresses.
This may happen because you may want to generate a unique new address for each payment you receive, and that could lead to creating hundreds of new addresses per month.

Is it sustainable for a wallet to have hundreds/thousands of addresses?
Or should you "split" things to multiple wallets/computers ?

Besides that, you may want to create a backup of your 8546 private keys in a few clicks everyday (for example).

I would prefer to export all my private keys to a file encrypted with a password that i enter, is it possible with Bitcoin Core in just a single step? (not having to do the same procedure for every single key).

Then i could upload this encrypted file in a decentralized blockchain-based file storage like SIA or StorJ : http://sia.tech/
https://bitcoinmagazine.com/articles/storj-vs-dropbox-decentralized-storage-future-1408177107/
Being that cloud storage  decentralized, you have the guarantee that your files will  always be available for download, never blocked or removed.

What do you think ? What blockchain storage do you suggest for that?

You can encrypt your wallet.dat file directly from the core.
Using this, you can then upload that wallet.dat file to the cloud and have all of your private keys encrypted.

When encrypting the wallet.dat file:
• Use a secure password with lowercase, UPPERCASE, and numbers at the minimum.
• Use at least 15 characters.

Thanks.

You think a cloud storage blockchain like SIA or Filecoin is safe ?
https://filecoin.io/

I want to be sure my file will always be there for me to download,
so it is not advisable to use centralized services like GDrive, Dropbox, etc. to backup a wallet

That's a related but different topic though
copper member
Activity: 2856
Merit: 3071
https://bit.ly/387FXHi lightning theory
Suppose you have a business and you have a wallet with thousands of addresses.
This may happen because you may want to generate a unique new address for each payment you receive, and that could lead to creating hundreds of new addresses per month.

Is it sustainable for a wallet to have hundreds/thousands of addresses?
Or should you "split" things to multiple wallets/computers ?

Besides that, you may want to create a backup of your 8546 private keys in a few clicks everyday (for example).

I would prefer to export all my private keys to a file encrypted with a password that i enter, is it possible with Bitcoin Core in just a single step? (not having to do the same procedure for every single key).

Then i could upload this encrypted file in a decentralized blockchain-based file storage like SIA or StorJ : http://sia.tech/
https://bitcoinmagazine.com/articles/storj-vs-dropbox-decentralized-storage-future-1408177107/
Being that cloud storage  decentralized, you have the guarantee that your files will  always be available for download, never blocked or removed.

What do you think ? What blockchain storage do you suggest for that?

You can encrypt your wallet.dat file directly from the core.
Using this, you can then upload that wallet.dat file to the cloud and have all of your private keys encrypted.

When encrypting the wallet.dat file:
• Use a secure password with lowercase, UPPERCASE, and numbers at the minimum.
• Use at least 15 characters.
sr. member
Activity: 613
Merit: 305
Have you been using HD keys? Are they all part of the same wallet? If you just have your master seed key you're all set. Any address can be derived from it (which is the whole idea with HD wallets). If you have all individual addresses you'll need to back up every private key.

I have a new version of Bitcoin Core, downloaded 2 weeks ago, and it is still synchronizing ( i am opening it just a few hours/day ).

After finished i can tell you if i have HD seed, but i think so since it's a new wallet, right?

Anyway this HD stuff seems magic to me.
How can a single little "seed phrase" can restore  for example all my 15,845 addresses? ?
Wow
legendary
Activity: 966
Merit: 1042
Have you been using HD keys? Are they all part of the same wallet? If you just have your master seed key you're all set. Any address can be derived from it (which is the whole idea with HD wallets). If you have all individual addresses you'll need to back up every private key.
sr. member
Activity: 613
Merit: 305
Suppose you have a business and you have a wallet with thousands of addresses.
This may happen because you may want to generate a unique new address for each payment you receive, and that could lead to creating hundreds of new addresses per month.

Is it sustainable for a wallet to have hundreds/thousands of addresses?
Or should you "split" things to multiple wallets/computers ?

Besides that, you may want to create a backup of your 8546 private keys in a few clicks everyday (for example).

I would prefer to export all my private keys to a file encrypted with a password that i enter, is it possible with Bitcoin Core in just a single step? (not having to do the same procedure for every single key).

Then i could upload this encrypted file in a decentralized blockchain-based file storage like SIA or StorJ : http://sia.tech/
https://bitcoinmagazine.com/articles/storj-vs-dropbox-decentralized-storage-future-1408177107/
Being that cloud storage  decentralized, you have the guarantee that your files will  always be available for download, never blocked or removed.

What do you think ? What blockchain storage do you suggest for that?
Jump to: