Bitcoin Forum
May 22, 2024, 05:37:54 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Why did my bitcoin core descriptor wallet generate 16 output descriptors?  (Read 119 times)
Forsyth Jones (OP)
Hero Member
*****
Offline Offline

Activity: 1176
Merit: 630


Press F for Leo


View Profile WWW
March 10, 2024, 01:40:57 AM
Merited by vapourminer (1)
 #1

Bitcoin Core v26.0

When I create a wallet in Bitcoin Core, then I gave the listdescriptors command, I could see that it generated 8 output descriptors, two for each scripts (receiving and change), but when I checked the other day, giving the listdescriptors command, I came across with 16 descriptors.

I don't remember importing any descriptors in this new wallet.

Remembering that the new generated descriptors generated a new xpriv, I checked it with the true argument.

Detail: I never transferred any funds to this new wallet.

███████████████████████████
███████▄████████████▄██████
████████▄████████▄████████
███▀█████▀▄███▄▀█████▀███
█████▀█▀▄██▀▀▀██▄▀█▀█████
███████▄███████████▄███████
███████████████████████████
███████▀███████████▀███████
████▄██▄▀██▄▄▄██▀▄██▄████
████▄████▄▀███▀▄████▄████
██▄███▀▀█▀██████▀█▀███▄███
██▀█▀████████████████▀█▀███
███████████████████████████
.
.Duelbits.
..........UNLEASH..........
THE ULTIMATE
GAMING EXPERIENCE
DUELBITS
FANTASY
SPORTS
████▄▄█████▄▄
░▄████
███████████▄
▐███
███████████████▄
███
████████████████
███
████████████████▌
███
██████████████████
████████████████▀▀▀
███████████████▌
███████████████▌
████████████████
████████████████
████████████████
████▀▀███████▀▀
.
▬▬
VS
▬▬
████▄▄▄█████▄▄▄
░▄████████████████▄
▐██████████████████▄
████████████████████
████████████████████▌
█████████████████████
███████████████████
███████████████▌
███████████████▌
████████████████
████████████████
████████████████
████▀▀███████▀▀
/// PLAY FOR  FREE  ///
WIN FOR REAL
..PLAY NOW..
Churchillvv
Full Member
***
Online Online

Activity: 406
Merit: 172


Eloncoin.org - Mars, here we come!


View Profile WWW
March 10, 2024, 02:16:42 AM
 #2

I'm not too aquatinted with technical knowledge but from a quick search I just did, such thing happens if you have created or imported an old wallet while the Bitcoin core is running and then you deleted it from the disk while it's still in memory and then you created another one using the same name, it proceeds to write both the deleted and new wallet descriptors to the wallet.dat [1]

This might be totally wrong because from the source I read it from it was specifically for ordinals issues.


[1] https://github.com/ordinals/ord/issues/2719#issuecomment-1866006258

achow101
Moderator
Legendary
*
expert
Offline Offline

Activity: 3402
Merit: 6642


Just writing some code


View Profile WWW
March 11, 2024, 10:13:02 AM
Merited by vapourminer (1), ABCbits (1), nc50lc (1)
 #3

If you've encrypted your wallet since creating it, you'll get new descriptors. This behavior is analogous to the legacy wallet dropping the keypool and generating new keys when encrypting.

Forsyth Jones (OP)
Hero Member
*****
Offline Offline

Activity: 1176
Merit: 630


Press F for Leo


View Profile WWW
March 11, 2024, 05:44:05 PM
 #4

I'm not too aquatinted with technical knowledge but from a quick search I just did, such thing happens if you have created or imported an old wallet while the Bitcoin core is running and then you deleted it from the disk while it's still in memory and then you created another one using the same name, it proceeds to write both the deleted and new wallet descriptors to the wallet.dat [1]

This might be totally wrong because from the source I read it from it was specifically for ordinals issues.


[1] https://github.com/ordinals/ord/issues/2719#issuecomment-1866006258
I still can't prove whether the new wallet descriptors are the same as those excluded by the previous wallet.dat.

If you've encrypted your wallet since creating it, you'll get new descriptors. This behavior is analogous to the legacy wallet dropping the keypool and generating new keys when encrypting.
@achow101 What do you think?

When I have time I will do more tests.

So is it normal behavior for the wallet to create 8 new descriptors, leaving 16 in total after encrypting the wallet?

███████████████████████████
███████▄████████████▄██████
████████▄████████▄████████
███▀█████▀▄███▄▀█████▀███
█████▀█▀▄██▀▀▀██▄▀█▀█████
███████▄███████████▄███████
███████████████████████████
███████▀███████████▀███████
████▄██▄▀██▄▄▄██▀▄██▄████
████▄████▄▀███▀▄████▄████
██▄███▀▀█▀██████▀█▀███▄███
██▀█▀████████████████▀█▀███
███████████████████████████
.
.Duelbits.
..........UNLEASH..........
THE ULTIMATE
GAMING EXPERIENCE
DUELBITS
FANTASY
SPORTS
████▄▄█████▄▄
░▄████
███████████▄
▐███
███████████████▄
███
████████████████
███
████████████████▌
███
██████████████████
████████████████▀▀▀
███████████████▌
███████████████▌
████████████████
████████████████
████████████████
████▀▀███████▀▀
.
▬▬
VS
▬▬
████▄▄▄█████▄▄▄
░▄████████████████▄
▐██████████████████▄
████████████████████
████████████████████▌
█████████████████████
███████████████████
███████████████▌
███████████████▌
████████████████
████████████████
████████████████
████▀▀███████▀▀
/// PLAY FOR  FREE  ///
WIN FOR REAL
..PLAY NOW..
achow101
Moderator
Legendary
*
expert
Offline Offline

Activity: 3402
Merit: 6642


Just writing some code


View Profile WWW
March 12, 2024, 10:12:34 AM
 #5

I'm not too aquatinted with technical knowledge but from a quick search I just did, such thing happens if you have created or imported an old wallet while the Bitcoin core is running and then you deleted it from the disk while it's still in memory and then you created another one using the same name, it proceeds to write both the deleted and new wallet descriptors to the wallet.dat [1]

This might be totally wrong because from the source I read it from it was specifically for ordinals issues.


[1] https://github.com/ordinals/ord/issues/2719#issuecomment-1866006258
I still can't prove whether the new wallet descriptors are the same as those excluded by the previous wallet.dat.
There's no guarantee that all previous descriptors would show up, and certainly not with their private keys. You'd have to do a pretty weird sequence of things for all of the previous descriptor to appear. If that happened, it probably wouldn't load without errors either.

So is it normal behavior for the wallet to create 8 new descriptors, leaving 16 in total after encrypting the wallet?
Yes,

nc50lc
Legendary
*
Offline Offline

Activity: 2422
Merit: 5614


Self-proclaimed Genius


View Profile
March 13, 2024, 09:40:53 AM
 #6

When I have time I will do more tests.

So is it normal behavior for the wallet to create 8 new descriptors, leaving 16 in total after encrypting the wallet?
Even with a total of 16, only the newly generated 8 are the "active" descriptors.
Active ones are the descriptors to be used when requesting addresses in the GUI's receive tab, change address and getnewaddress command.
The inactive descriptors prior to encryption will not be used to generate new keys/addresses but will still be able to track and sign associated transactions.

In your test, you can check each descriptor's active status in listdescriptors command.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
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!