Bitcoin Forum
November 01, 2024, 02:24:26 PM *
News: Bitcoin Pumpkin Carving Contest
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: What is Deterministic wallet? How can I make multiple addresses point to one wal  (Read 553 times)
Rose_btc (OP)
Member
**
Offline Offline

Activity: 96
Merit: 22


View Profile
June 12, 2019, 08:56:08 AM
Merited by bones261 (2), o_e_l_e_o (1), HCP (1)
 #1

I was reading that Deterministic wallet can be used for creating multiple addresses to use for each transaction that is pointing to one single wallet.

  • How this wallet can be used for generating multiple addresses? How it works?
  • Is this the only method that can be used or any other method where I can use 1 wallet for multiple addresses?
Can someone explain me what can I do for this?
bob123
Legendary
*
Offline Offline

Activity: 1624
Merit: 2481



View Profile WWW
June 12, 2019, 09:05:38 AM
Merited by Jet Cash (5), dbshck (4), HCP (2), pooya87 (1), ABCbits (1), GreatArkansas (1), DdmrDdmr (1), rabbitfairferry (1)
 #2

First, you need to understand what a 'wallet' is.

A wallet basically is just a piece of software which manages your private-/public- keypairs.

A deterministic wallet says HOW it generates these keys.


Non-deterministic wallets generate random private keys and store them in a file.
Hierarchical deterministic wallets on the other hand have a long random number (a seed), which is mostly encoded into 12/24 words for easier backups.

All private keys are generated from this one seed.

It basically is a mathematical formula with the seed and the counter (index, number of priv key) as the input, and you get the private key (and therefore also the derived public key and address) as output.

MagicFormula (seed, index) -> private key from index X -> public key from index X -> address from index X

HCP
Legendary
*
Offline Offline

Activity: 2086
Merit: 4361

<insert witty quote here>


View Profile
June 12, 2019, 09:11:50 AM
Merited by DdmrDdmr (2), ABCbits (1)
 #3

You seems a little confused about what a wallet actually is. A wallet is essentially a container for holding one or more private keys (and therefore, one or more addresses).

Even non-deterministic wallets (for instance, the old MultiBit "classic" wallet) can hold multiple private keys and therefore contain multiple addresses. The advantage of a "deterministic" wallet is that all the private keys are generated in a chain from a single starting point (aka "the seed") in a repeatable way... such that if you have the seed, you can completely rebuild the wallet.

Non-deterministic wallets just generated private keys randomly... so if you lost the wallet, there was no way to be able to rebuild it.

To answer you question regarding multiple addresses, if a wallet contains multiple private keys and therefore multiple addresses... you can send coins to any of the addresses that are controlled by that wallet and they will be displayed in the wallet balance... and will be able to be spent by that wallet.

█████████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████
█████████████████████████
.
BC.GAME
▄▄░░░▄▀▀▄████████
▄▄▄
██████████████
█████░░▄▄▄▄████████
▄▄▄▄▄▄▄▄▄██▄██████▄▄▄▄████
▄███▄█▄▄██████████▄████▄████
███████████████████████████▀███
▀████▄██▄██▄░░░░▄████████████
▀▀▀█████▄▄▄███████████▀██
███████████████████▀██
███████████████████▄██
▄███████████████████▄██
█████████████████████▀██
██████████████████████▄
.
..CASINO....SPORTS....RACING..
█░░░░░░█░░░░░░█
▀███▀░░▀███▀░░▀███▀
▀░▀░░░░▀░▀░░░░▀░▀
░░░░░░░░░░░░
▀██████████
░░░░░███░░░░
░░█░░░███▄█░░░
░░██▌░░███░▀░░██▌
░█░██░░███░░░█░██
░█▀▀▀█▌░███░░█▀▀▀█▌
▄█▄░░░██▄███▄█▄░░▄██▄
▄███▄
░░░░▀██▄▀


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
Rose_btc (OP)
Member
**
Offline Offline

Activity: 96
Merit: 22


View Profile
June 13, 2019, 09:40:24 AM
 #4

You seems a little confused about what a wallet actually is. A wallet is essentially a container for holding one or more private keys (and therefore, one or more addresses).

Even non-deterministic wallets (for instance, the old MultiBit "classic" wallet) can hold multiple private keys and therefore contain multiple addresses. The advantage of a "deterministic" wallet is that all the private keys are generated in a chain from a single starting point (aka "the seed") in a repeatable way... such that if you have the seed, you can completely rebuild the wallet.

Non-deterministic wallets just generated private keys randomly... so if you lost the wallet, there was no way to be able to rebuild it.

To answer you question regarding multiple addresses, if a wallet contains multiple private keys and therefore multiple addresses... you can send coins to any of the addresses that are controlled by that wallet and they will be displayed in the wallet balance... and will be able to be spent by that wallet.

Thanks for the detailed explanation. I understood that a wallet contains multiple private keys and multiple addresses. The private keys are generated from a single seed. How can we rebuild a new wallet using this seed or a private key? Please explain me, I am still learning all these.
bob123
Legendary
*
Offline Offline

Activity: 1624
Merit: 2481



View Profile WWW
June 13, 2019, 09:59:01 AM
 #5

How can we rebuild a new wallet using this seed or a private key? Please explain me, I am still learning all these.


Read my answer:

[...]
It basically is a mathematical formula with the seed and the counter (index, number of priv key) as the input, and you get the private key (and therefore also the derived public key and address) as output.

MagicFormula (seed, index) -> private key from index X -> public key from index X -> address from index X


If you want a more detailed (technical) explanation, read the BIPs on Github:
1) Mnemonic code: https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki
2) Key derivation: https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki

bigatenz
Member
**
Offline Offline

Activity: 132
Merit: 17


View Profile
June 13, 2019, 10:11:09 AM
 #6

How can we rebuild a new wallet using this seed or a private key? Please explain me, I am still learning all these.
You can rebuild it by importing that seed or the private key in the specific cryptocurrency wallet e.g for Bitcoin ; Bitcoin core wallet for PC and Mycelium wallet for mobile.
rabbitfairferry
Jr. Member
*
Offline Offline

Activity: 49
Merit: 23


View Profile
June 13, 2019, 12:09:57 PM
Merited by HCP (2), OgNasty (1)
 #7

Another link to share: https://ledger.readthedocs.io/en/latest/background/hd_use_cases.html

Found this useful.
Rose_btc (OP)
Member
**
Offline Offline

Activity: 96
Merit: 22


View Profile
June 15, 2019, 02:09:48 AM
 #8


Thank you. Found this link very useful. Learnt many things from it.
Jace Lee
Newbie
*
Offline Offline

Activity: 14
Merit: 3


View Profile
June 17, 2019, 10:30:57 AM
 #9

  • Is this the only method that can be used or any other method where I can use 1 wallet for multiple addresses?

This is not the only way. I started my crypto journey by reading about wallets. Let me share what I have read.

You can do in HD wallets as well. HD wallets are basically the the advanced version of deterministic wallet.

Deterministic wallets
which are also called seeded wallets are wallets where private keys are derived from a common key. Also, one way hash function is used while deriving these private keys thus, the private key can never get back you seed. If you have backed up the seed you can easily recover your wallet. This is the biggest advantage of deterministic wallet over the non-deterministic wallet.

HD Wallets As I mentioned above HD are the advanced version of deterministic wallet. The HD wallets have tree structure that is a parent key can drive child keys and the child keys can generate grand children key and this keeps on creating in a tree fashion.

There are muliple uses of HD wallets:

  • One is recovery like Deterministic wallet
  • You can allocate the different branch of of sub-keys to different purpose
  • Also, one can create public key with accessing to private key increasing the securite concerns (even I am exploring more about this feature so, unable explain in detail)


The hardware wallets like trezor and Ledger are HD wallets.
pooya87
Legendary
*
Offline Offline

Activity: 3626
Merit: 10994


Crypto Swap Exchange


View Profile
June 18, 2019, 03:54:46 AM
 #10

You can do in HD wallets as well. HD wallets are basically the the advanced version of deterministic wallet.

these two are the same thing. Hierarchical Deterministic wallets or in short Deterministic or in shorter HD wallets are wallets that use one seed (don't confuse with mnemonic) to derive all their child keys using HMAC-SHA512 as their one way hash function.
the term "Hierarchy" is used to show there is an order or ranking to the keys where there are parents and children and children of children,...
the term "Deterministic" is used to show that all the child keys are obtained without using randomness. *the randomness is only used once to get the initial seed.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
dbshck
Staff
Legendary
*
Offline Offline

Activity: 2454
Merit: 1617


Crypto Swap Exchange


View Profile
June 18, 2019, 06:49:06 AM
 #11

Thanks for answering. We can recover the wallet if we have saved the seed key. If we have not saved or if we lose the seed key then the wallet is completely lost. We cannot recover the wallet and all the addresses in that wallet are lost. Am I right?
And if the seed is hacked, then they can recover the wallet completely? How can we protect our wallet from this?
That's right. How can you protect your seed? By storing it securely. Write down your seed physically in a durable material. If you want to be extra safe, consider buying something like Cobo tablet or Cryptosteel. Store it somewhere safe from potential hazards like fire, flood or theft. Create a copy of this backup seed stored in another place.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
bob123
Legendary
*
Offline Offline

Activity: 1624
Merit: 2481



View Profile WWW
June 18, 2019, 07:32:10 AM
 #12

If you have lost the access to the seed, have no private keys and no wallet file, then yes. These coins would be lost.
The addresses itself are not lost, they can be found out by looking at a block explorer. But the private keys (which are necessary to spend the funds stored 'on them') are lost.

Everyone with access to the seed can recreate the whole 'wallet' (i.e. all private keys).

There are multiple ways to protect from that. The most obvious is to physically protect it. Don't let anyone gain access to it.
Also, don't store it digitally.

You might further increase the security by encrypting the seed with a password. But you'll have to store that password somewhere too.. So, there is no perfect solution. You have to find the one which suites you the most.

Rose_btc (OP)
Member
**
Offline Offline

Activity: 96
Merit: 22


View Profile
June 20, 2019, 11:31:22 AM
Last edit: September 16, 2019, 02:23:30 PM by Rose_btc
Merited by 2double0 (1)
 #13

I was reading more about how we can secure our wallet data more securely. I came across that we can use Personal Security Devices(PSD) for storing the private keys securely from hackers by storing them in a tamper-proof and eavesdropping secure elements. Also, there are apps(PGP Apps) for these devices that work in conjunction with a host computer. It will store the encrypted data on host computer instead of storing the data directly.

Even if the devices are lost or destroyed, your assets are still safe.

I think this is the good way of keeping our wallets safe. What do you say?
rnsribeiro
Newbie
*
Offline Offline

Activity: 32
Merit: 0


View Profile
June 21, 2019, 08:51:28 AM
 #14

hey guys who used Deterministic wallet even a month?
as I heard it has different types and no idea how to use all the features
TryNinja
Legendary
*
Offline Offline

Activity: 3010
Merit: 7419


Top Crypto Casino


View Profile WWW
June 21, 2019, 08:58:38 AM
 #15

hey guys who used Deterministic wallet even a month?
as I heard it has different types and no idea how to use all the features
What do you mean? I’ve been using an HD wallet (deterministic) for years.

Try reading the first previous replies. Basically, this type of wallet helps you with your privacy by generating new addresses for each transaction (while the older ones are still valid).

You just have to use it normally and get a new address for every new transaction.

███████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████

███████████████████████
.
BC.GAME
▄▄▀▀▀▀▀▀▀▄▄
▄▀▀░▄██▀░▀██▄░▀▀▄
▄▀░▐▀▄░▀░░▀░░▀░▄▀▌░▀▄
▄▀▄█▐░▀▄▀▀▀▀▀▄▀░▌█▄▀▄
▄▀░▀░░█░▄███████▄░█░░▀░▀▄
█░█░▀░█████████████░▀░█░█
█░██░▀█▀▀█▄▄█▀▀█▀░██░█
█░█▀██░█▀▀██▀▀█░██▀█░█
▀▄▀██░░░▀▀▄▌▐▄▀▀░░░██▀▄▀
▀▄▀██░░▄░▀▄█▄▀░▄░░██▀▄▀
▀▄░▀█░▄▄▄░▀░▄▄▄░█▀░▄▀
▀▄▄▀▀███▄███▀▀▄▄▀
██████▄▄▄▄▄▄▄██████
.
..CASINO....SPORTS....RACING..


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
2double0
Legendary
*
Offline Offline

Activity: 2618
Merit: 1105


View Profile
September 23, 2019, 05:24:16 AM
 #16

I was reading more about how we can secure our wallet data more securely. I came across that we can use Personal Security Devices(PSD) for storing the private keys securely from hackers by storing them in a tamper-proof and eavesdropping secure elements. Also, there are apps(PGP Apps) for these devices that work in conjunction with a host computer. It will store the encrypted data on host computer instead of storing the data directly.

Even if the devices are lost or destroyed, your assets are still safe.

I think this is the good way of keeping our wallets safe. What do you say?

Yes you are absolutely right there. Another way is to spend some money to get a hardware wallet which stores all our private keys and coins in it for the cost of a fancy teddy bear, using which we can only take out our coins whenever needed, so no need of computers till there is some use intended.



What do you mean? I’ve been using an HD wallet (deterministic) for years.

Try reading the first previous replies. Basically, this type of wallet helps you with your privacy by generating new addresses for each transaction (while the older ones are still valid).

You just have to use it normally and get a new address for every new transaction.

But maintaining that privacy costs you your ownership because you don't own your private keys of all the generated addresses in a deterministic wallet.
TryNinja
Legendary
*
Offline Offline

Activity: 3010
Merit: 7419


Top Crypto Casino


View Profile WWW
September 23, 2019, 08:53:44 AM
 #17

But maintaining that privacy costs you your ownership because you don't own your private keys of all the generated addresses in a deterministic wallet.
You do? That’s why it’s called a deterministic wallet. Because you can determine the private keys from the seed. This logic does not make any sense. If you can spend the coins, you have the private keys. All it exists in the basic layer of BTC are the private keys.

███████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████

███████████████████████
.
BC.GAME
▄▄▀▀▀▀▀▀▀▄▄
▄▀▀░▄██▀░▀██▄░▀▀▄
▄▀░▐▀▄░▀░░▀░░▀░▄▀▌░▀▄
▄▀▄█▐░▀▄▀▀▀▀▀▄▀░▌█▄▀▄
▄▀░▀░░█░▄███████▄░█░░▀░▀▄
█░█░▀░█████████████░▀░█░█
█░██░▀█▀▀█▄▄█▀▀█▀░██░█
█░█▀██░█▀▀██▀▀█░██▀█░█
▀▄▀██░░░▀▀▄▌▐▄▀▀░░░██▀▄▀
▀▄▀██░░▄░▀▄█▄▀░▄░░██▀▄▀
▀▄░▀█░▄▄▄░▀░▄▄▄░█▀░▄▀
▀▄▄▀▀███▄███▀▀▄▄▀
██████▄▄▄▄▄▄▄██████
.
..CASINO....SPORTS....RACING..


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
2double0
Legendary
*
Offline Offline

Activity: 2618
Merit: 1105


View Profile
September 26, 2019, 07:51:52 AM
 #18

But maintaining that privacy costs you your ownership because you don't own your private keys of all the generated addresses in a deterministic wallet.
You do? That’s why it’s called a deterministic wallet. Because you can determine the private keys from the seed. This logic does not make any sense. If you can spend the coins, you have the private keys. All it exists in the basic layer of BTC are the private keys.

How do you?
If it is a deterministic wallet like blockchain.com 'previously known as Blockchain.info' and I choose to opt for that web wallet and app, how am I able to sign a message through any of the addresses allocated to me in that wallet except those that I import in it? It changes addresses every single time and the wallet that allows you to have your private keys while also allowing you to sign messages through all of them is Electrum or Mycelium 'rectify if wrong'. Aren't all of these deterministic wallets?
nc50lc
Legendary
*
Offline Offline

Activity: 2590
Merit: 6310


Self-proclaimed Genius


View Profile
September 26, 2019, 08:25:26 AM
 #19

How do you?
If it is a deterministic wallet like blockchain.com 'previously known as Blockchain.info' and I choose to opt for that web wallet and app, how am I able to sign a message through any of the addresses allocated to me in that wallet except those that I import in it? It changes addresses every single time and the wallet that allows you to have your private keys while also allowing you to sign messages through all of them is Electrum or Mycelium 'rectify if wrong'. Aren't all of these deterministic wallets?
New blockchain.com wallet is HD, the old (legacy) wallets aren't.
Maybe you're talking about the old blockchain.info wallet which wasn't Deterministic.

If you have the new Blockchain.com wallet, the Mnemonic Phrase you got follows BIP39 standard
which is compatible with most recovery tools and light clients like Electrum, give it a try if you want.
New/Restore->Standard wallet->I already have a seed->Click "Options" then BIP39->Select the address type

FYI, changing the receiving address in every receiving transaction is a common thing for wallets for their user's privacy.
Even for non-HD blockchain.com, it generates new random address & prv key pair everytime you used an address and keep the old addresses in your account.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
2double0
Legendary
*
Offline Offline

Activity: 2618
Merit: 1105


View Profile
September 28, 2019, 10:55:54 PM
 #20

New blockchain.com wallet is HD, the old (legacy) wallets aren't.
Maybe you're talking about the old blockchain.info wallet which wasn't Deterministic.

If you have the new Blockchain.com wallet, the Mnemonic Phrase you got follows BIP39 standard
which is compatible with most recovery tools and light clients like Electrum, give it a try if you want.
New/Restore->Standard wallet->I already have a seed->Click "Options" then BIP39->Select the address type

Thank you, I tried this, worked finally.

Quote
FYI, changing the receiving address in every receiving transaction is a common thing for wallets for their user's privacy.
Even for non-HD blockchain.com, it generates new random address & prv key pair everytime you used an address and keep the old addresses in your account.

I know that it generates new random address and new private key pair but I don't think I was ever able to get that private key on hands from that non-HD wallet service provider and they never let me sign messages through those newer addresses and that's what I was arguing here all about.
Pages: [1] 2 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!