Bitcoin Forum
May 22, 2024, 06:16:44 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Question - wallet, addresses, seed  (Read 176 times)
bitart (OP)
Hero Member
*****
Offline Offline

Activity: 1442
Merit: 629


Vires in Numeris


View Profile
December 17, 2017, 09:15:06 AM
 #1

I know that a hardware wallet (Trezor, Nano S, etc.) generates a seed and after it gives you nearly unlimited number of addresses which you can use to transact using the same wallet. It's adviced to use an address only once, to minimize the possibility of linking addresses and historical transactions together.
My question is:
Is it possible to link two addresses, generated from the same seed, based only on the common seed? (if there's no transaction that can link the two addresses together, even in the history of addresses?)
Is there any mathematical procedure to verify that two addresses are generated from the same seed?
Iranus
Hero Member
*****
Offline Offline

Activity: 1820
Merit: 534


Leading Crypto Sports Betting & Casino Platform


View Profile
December 17, 2017, 10:19:20 AM
 #2

In order to link your addresses together in one of those wallets, they would need either the seed itself (in which case they could steal all of your funds); or the master public key, which in the Trezor is shown in the wallet (I don't know about the Ledger).

But if they have one address, they can't find all of the other addresses based on that.


..Stake.com..   ▄████████████████████████████████████▄
   ██ ▄▄▄▄▄▄▄▄▄▄            ▄▄▄▄▄▄▄▄▄▄ ██  ▄████▄
   ██ ▀▀▀▀▀▀▀▀▀▀ ██████████ ▀▀▀▀▀▀▀▀▀▀ ██  ██████
   ██ ██████████ ██      ██ ██████████ ██   ▀██▀
   ██ ██      ██ ██████  ██ ██      ██ ██    ██
   ██ ██████  ██ █████  ███ ██████  ██ ████▄ ██
   ██ █████  ███ ████  ████ █████  ███ ████████
   ██ ████  ████ ██████████ ████  ████ ████▀
   ██ ██████████ ▄▄▄▄▄▄▄▄▄▄ ██████████ ██
   ██            ▀▀▀▀▀▀▀▀▀▀            ██ 
   ▀█████████▀ ▄████████████▄ ▀█████████▀
  ▄▄▄▄▄▄▄▄▄▄▄▄███  ██  ██  ███▄▄▄▄▄▄▄▄▄▄▄▄
 ██████████████████████████████████████████
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█  ▄▀▄             █▀▀█▀▄▄
█  █▀█             █  ▐  ▐▌
█       ▄██▄       █  ▌  █
█     ▄██████▄     █  ▌ ▐▌
█    ██████████    █ ▐  █
█   ▐██████████▌   █ ▐ ▐▌
█    ▀▀██████▀▀    █ ▌ █
█     ▄▄▄██▄▄▄     █ ▌▐▌
█                  █▐ █
█                  █▐▐▌
█                  █▐█
▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀█
▄▄█████████▄▄
▄██▀▀▀▀█████▀▀▀▀██▄
▄█▀       ▐█▌       ▀█▄
██         ▐█▌         ██
████▄     ▄█████▄     ▄████
████████▄███████████▄████████
███▀    █████████████    ▀███
██       ███████████       ██
▀█▄       █████████       ▄█▀
▀█▄    ▄██▀▀▀▀▀▀▀██▄  ▄▄▄█▀
▀███████         ███████▀
▀█████▄       ▄█████▀
▀▀▀███▄▄▄███▀▀▀
..PLAY NOW..
bitart (OP)
Hero Member
*****
Offline Offline

Activity: 1442
Merit: 629


Vires in Numeris


View Profile
December 17, 2017, 10:31:49 PM
 #3

In order to link your addresses together in one of those wallets, they would need either the seed itself (in which case they could steal all of your funds); or the master public key, which in the Trezor is shown in the wallet (I don't know about the Ledger).

But if they have one address, they can't find all of the other addresses based on that.


Thanks for the clarification. So as long as I don't combine the addresses (I have received the coins to) with each other when I'm sending a transaction, it seems that they're totally different and they haven't got any connection. If I have e.g. 10 addresses in the wallet and I receive 0.001 BTC for each address, nobody will be able to tell that in my wallet I have 0.01 BTC because they can't tell that the addresses are in the same wallet.
hahahafr
Hero Member
*****
Offline Offline

Activity: 938
Merit: 501



View Profile
December 17, 2017, 11:26:37 PM
 #4

Is there any mathematical procedure to verify that two addresses are generated from the same seed?

All the addreses that are on your device will be displayed as yours if they are included in the same block on a single transaction

It means that if X guy send 1 bitcoin in total, and a half go to Y wallet, and the other half to M wallet, it means that they both will be included on the same block.

So the blockchain will think that those addreses are the same, or belong to the same owner.

i do not remember the name of this procedure, but yes, you can just avoid it by sending all your btc to ONE address.

It was not just by the block, far as i know it happened because the address was a virgin one (and yes, i am talking in mathematical terms  Cheesy)




                                           ◢◣                      ◢◣
                                     ◢████◣           ◢████◣
                               ◢████████◣◢████████◣
                               █████████████████
                               █████████████████
                               █████████████████
                               █████████████◤██████
                               ███████████◤████████
                               █████████◤██████████
                               ███████◤████████████
                               █████◤██████████████
                               █████◣                       ◢█████
                               ███████◣            ◢███████
                               █████████◣◢█████████
                               ◥████████◤◥████████◤
                                    ◥████◤            ◥████◤
                                          ◥◤                      



HYDAX
       Secure  
   Efficient
   Simple  
   Medium 
    Twitter  
    Telegram 
[/center
bitart (OP)
Hero Member
*****
Offline Offline

Activity: 1442
Merit: 629


Vires in Numeris


View Profile
December 18, 2017, 09:23:47 PM
 #5

OK, I think I understand it, let's say:
there's a wallet with 2 addresses. The addresses contain 0.002 BTC (oldest) and 0.001 BTC (newest), total 0.003 BTC, but this can be only seen in the wallet software, not in blockchain explorer, because the two addresses are not linked together.
Let's say that it's an HD wallet. The wallet allows you to spend the two unspent outputs in one transaction (you can send the 0.003 BTC and the wallet will combine the unspent outputs into one input and you can send it to an address in one transaction).
Not this will link the two addresses together, because you send bitcoins from two addresses in one transaction, that means you have the private keys of both addresses (that means you own those addresses).
If you don't want to link those addresses, you have to spend the two unspent outputs separately.
In Mycelium you cannot select which unspent output to use, the app will decide which one to use first. According to Google, Mycelium uses the oldes unspent output first, if it contains enough BTC to send the transaction. If not, it will skip the oldest and check the second, etc...
So, what you need is, somehow make Mycelium to use only one address to send the first transaction, and this is where the change address of an HD account comes in.
If you send 0.0015 BTC to another address, e.g. to your hardware wallet, Mycelium will select the oldest (0.002) unspent output and send 0.0015 to your hardware wallet and also take some fee (let's say 0.0001 BTC). The remaining 0.0004 BTC will go to a newly generated change address back into your Mycelium wallet. Now you still have the 0.001 BTC in your wallet (it was the newest address before), and 0.0004 BTC in the change address. If you now want to send the 0.001 BTC to somewhere (e.g. to another hardware wallet) you can send a transaction that equals 0.001 (fee included), so Mycelium will choose the 0.001 BTC address, and won't touch the change address.
My question is: is this how Mycelium works really, or it will combine the change address also into the transaction? (Does it force me to use all of the unspent outputs, and link the addresses?)
I know it's TLDR, but thanks if someone can help.
Pages: [1]
  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!