Cannot Access the ZCash even with extended public key


#1

Hello Dear Awesome support team,

Recently, I started mining with Ledger Nano S and I realized this is not good practice. My blockchain never get updated on the Ledger and I realize HW wallets are not good micro/dust transactions. Now I would like to access my coins without my HW wallet using a third party SW wallet such as Coinmami, but still it does not show my balance. So I decided to go deeper down and use BIP39 mnemonic code converter. I was able to retrieve my extended private key and everything. Now here is my problem: I’m able to see derived addresses from the BIP32 Extended Key, both the public and private key. But I went through the list for about 500,000 key pairs but still was not able to find the pair dedicated to the public key I used for mining. It seems like the list can get very large. I know Ledger each time use a new pair and I don’t know how it tracks which addresses has already being used. So how can I find the corresponding key pair so I can identify the private key and transfer the coins?
Thank you


#2

Ledger uses BIP44 as specified here: https://github.com/bitcoin/bips/blob/master/bip-0044.mediawiki

There’s a session reserved for Account Discovery in there, but the process is as follow:

  • Let the derivation be as defined in BIP32: m / purpose' / coin_type' / account' / change / address_index
  • Purpose is always 44’ and Coin_Type is 133 for ZEC, so far the derivation path is m / 44' / 133' / account' / change / address_index

Then you follow the described algorithm:

  1. derive the first account’s node (index = 0)
  2. derive the external chain node of this account
  3. scan addresses of the external chain; respect the gap limit of 20 blank addresses
  4. if no transactions are found on the external chain, stop discovery
  5. if there are some transactions, increase the account index and go to step 1