Bitcoin Forum

Bitcoin => Bitcoin Technical Support => Topic started by: blocparty_ on August 13, 2022, 05:25:10 AM



Title: pywallet help - "mkey" and "names" key dump file
Post by: blocparty_ on August 13, 2022, 05:25:10 AM

Hi all,

Would it be possible to please advise if the  "mkey" and "names" data in the pywallet key dump file are linked to each other?  As in, is this the master key for all addresses listed under "names"?


"mkey": {
        "encrypted_key": "F******************"8,
        "nDerivationIterations": 1***6,
        "nDerivationMethod": 0,
        "nID": 1,
        "otherParams": "",
        "salt": "5*********2"
    },
    "names": {
        "1*****************w": "",
        "1*****************h": "",
 

The reason I ask is that I have a bunch of addresses showing under "names".  Most of the addresses also appear in the key dump file with their "sec" and "secret" keys listed however there is a couple of addresses that only appear in "names" section - Can I get the private keys for these using the mkey encrypted key and if so, how would I do this?

Thank you!

 
       


Title: Re: pywallet help - "mkey" and "names" key dump file
Post by: NotATether on August 13, 2022, 06:27:37 AM
mkey appears to be referring to the master private key - all Bitcoin Core wallets have one, and it's encrypted by the wallet password. So you should be able to reach all other private keys by deriving mkey at some derivation path.

As for "name", maybe those are addresses that Core knows about - perhaps they include addresses you've sent Bitcoins to.


Title: Re: pywallet help - "mkey" and "names" key dump file
Post by: achow101 on August 13, 2022, 03:10:40 PM
mkey appears to be referring to the master private key - all Bitcoin Core wallets have one, and it's encrypted by the wallet password. So you should be able to reach all other private keys by deriving mkey at some derivation path.
No, mkey is not a BIP 32 master private key. It is the encryption key for the wallet itself. Every encrypted private key is encrypted using the mkey, after it is has been decrypted with the passphrase.

As for "name", maybe those are addresses that Core knows about - perhaps they include addresses you've sent Bitcoins to.
name is the label applied to an address. It is for both receiving and sending addresses. Every new address requested from the wallet will have a name record and the label for that address, often just an empty string.  Addresses that you have sent to that you have also labeled will also have name records.


Title: Re: pywallet help - "mkey" and "names" key dump file
Post by: nc50lc on August 13, 2022, 05:29:34 PM
The reason I ask is that I have a bunch of addresses showing under "names".  Most of the addresses also appear in the key dump file with their "sec" and "secret" keys listed however there is a couple of addresses that only appear in "names" section - Can I get the private keys for these using the mkey encrypted key and if so, how would I do this?  
Those that don't appear in "addr" sections should be addresses in your "Sending Address" list.
So, those are most likely just addresses that you previously sent to or manually added in "Window->Sending addresses".

Here, I used pywallet to dump this RegTest wallet, the 3 addresses in my sending address list appeared under "names" but not in the "addr" section:
Code:
    "mkey": {
        "encrypted_key": "b5d8b2348872062c96f88634b6a3641dbc3d2c315666c9d1a07297d9717f49b035e0871e517ff54b4582ef162194e29c",
        "nDerivationIterations": 240740,
        "nDerivationMethod": 0,
        "nID": 1,
        "otherParams": "",
        "salt": "7692fd3f26672df1"
    },
    "names": {
        "bcrt1qlrx2glvdn7l5r8sy7ekatf2l5tn7ah4qx56ur8": "in_sending_list_1",
        "bcrt1qm9pmytszpcyqyp90l6qsan0af4jsja9dyrngst": "in_sending_list_2",
        "bcrt1qpcysuwl88dlwlk8vhmnr73wpdpndj5yjupmck4": "",
        "bcrt1qu9740z5xmjt39ejwu9f68vajf00h29h3mwpwum": "in_sending_list_3"


Title: Re: pywallet help - "mkey" and "names" key dump file
Post by: blocparty_ on August 13, 2022, 10:29:39 PM

Thanks guys.  Appreciated.

I suspected "names" might include sent to addresses but had hoped otherwise..

In Oct 2011 I sent some BTC to an address in my bitcoin core address book.  They remain unspent today however I can't recall what kind of wallet the address belonged to (software, exchange, online).

So far I have eliminated:

- Bitcoin QT - address only shows in sent to
- Electrum - can't find any evidence that I ever used this wallet on my old PC
- Virwox - confirmed all btc were withdrawn
- Found account login details for Tradehill and Flexcoin - neither appear to exist anymore

Is there any other common wallets or exchanges that were around in  October 2011 and are still active today?

Thanks again.



Title: Re: pywallet help - "mkey" and "names" key dump file
Post by: NotATether on August 14, 2022, 07:35:46 AM

Thanks guys.  Appreciated.

I suspected "names" might include sent to addresses but had hoped otherwise..

In Oct 2011 I sent some BTC to an address in my bitcoin core address book.  They remain unspent today however I can't recall what kind of wallet the address belonged to (software, exchange, online).

So far I have eliminated:

- Bitcoin QT - address only shows in sent to
- Electrum - can't find any evidence that I ever used this wallet on my old PC
- Virwox - confirmed all btc were withdrawn
- Found account login details for Tradehill and Flexcoin - neither appear to exist anymore

Is there any other common wallets or exchanges that were around in  October 2011 and are still active today?

Thanks again.



Multibit, Armory? Though given the pywallet output, I doubt that coins were ever stored in either of them.