0

I created wallet in BitPay. I have public and private keys.

Then I created wallet in Electrum using existing private key.

Now wallet in electrum has other public key than in BitPay but the same private key.

Is it ok? Addresses generated in one application can be visible in second one? Where can I read about rules of generation keys and addresses described in simple words?

I generated wallet in electrum using the same private key second time and i obtained the same public key like last time I generated on electrum, but not the same like in BitPay wallet. I do not understand why.

2
  • Are you import private keys to the electrum wallet with the seed phrase? Commented Jan 30, 2018 at 8:42
  • No. I selected "Use public or private keys", then I pasted private key only.
    – Daniel
    Commented Jan 30, 2018 at 8:57

2 Answers 2

1

According to Bip32 - Bip44 - Bip49(Segwit) You can generate many public keys using one master private/public key.

I don't know which deriving path Bitpay using but Electrum using path 44 for legacy bitcoin addresses and 49 for Segwit addresses.

As @pebwindkraft answer Bitpay maybe providing you an extended private key so generating address progress become like that in electrum when you are providing Bip44 extended private key:

Bip44 Extended Key -> Bip44 Extended Key -> Public Keys -> index

instead of:

Master Private Key -> Bip44 Extended Key -> Public Keys -> index

Addresses generated in one application can be visible in second one? Yes if they are using same deriving path.

Your Bitpay transactions should appear in Electrum.

Where can I read about rules of generation keys and addresses described in simple words? Bitcoin improvement protocol 44

Mastering Bitcoin Book is helpful.

1
  • In this BitPay wallet there is used derivation strategy: BIP44, and kind of address: P2PKH.
    – Daniel
    Commented Jan 30, 2018 at 17:15
1

One private key can generate two different bitcoin addresses. That depends on the ECDSA logic and encoding schemes used. Probably you have heard about compressed and uncompressed keys. The details are deep under the hood, and requires some reading, e.g. Andreas book "Mastering Bitcoin" (2nd edition), which is online available. Chapter 4 and 5 are the relevant ones.

I am not sure, how bitpay creates his keys, but I have already imported privkeys into Electrum as well. As long as I was working with compressed keys in my source wallet, Electrum showed the same. However, this gets different, when you extract keys from bip39/44 wallets. From looking at their website, I think bitpay has only a function to extract an extended private key, that is for sure different from a "std private key". An extended private key is used in HD wallets, to generate a set of xpub keys, that can be used e.g. on websites, to avoid re-use of keys. And depending how the seed is implemented, wallets are not always compatible to each other. This might be the case, why you see different addresses. Electrum uses [m/44'/0'/a'] as xpriv path for derivation. But maybe there is a way, look for samuelt33's comment on 5 Aug 2017 on the webpage here.

On standard privkeys and pubkeys, there is a longer thread here: How are compressed PubKeys generated?

1
  • "I think bitpay has only a function to extract an extended private key" Good catch!
    – Tailer
    Commented Jan 30, 2018 at 11:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.