Post
Topic
Board Wallet software
Re: One wallet different addresses
by
bob123
on 09/02/2018, 17:06:01 UTC
If Coinomi creates a new Public address for each "receive", does that also imply another private key for each public address?
I thought keys are asymmetric pairs - i.e. public and private key are strongly tied to each other.

You are right. Private and public keys are 'tied to each other'.
Basically what your wallet does is to do a mathematical process on your seed (combined with a counter) to generate a new private key.
The public key will then be derived from the private key.


If this is the case, then my concern is about losing or destroying this Android device with my wallet on it.  Yes, I've got the recovery phrase backed up.
But on the new phone, when I restore the wallet - essentially what I'm doing is recreating key pairs deterministicly.
But let's say I received Litecoin at ten different addresses in my Coinomi wallet.

How does the key generator know that there were 10 addresses?  Because I sure wouldn't remember that.
Wouldn't I need to regenerate the same pub/private keypair (10x) again in the restored wallet in order to recover LTC sent to the 10 addresses?

Basically what your wallet does here is the following:
  • Derive private-/public keypair from seed (with counter=0)
  • If you recieved a payment to this 'address': Create another one with increased counter
  • If a newly generated 'address' doesn't contain any balance: Stop with creating further addresses

Some wallets let you generate several recieving addresses in advance. In this case the wallet is seraching for the next X unused addresses (thats called the gap limit).