Wallet Labels Export Format (BIP329) #9980
Replies: 4 comments
|
Have opened issue about this for JoinMarket too - JoinMarket-Org/joinmarket-clientserver#1434. Having same standard for importing / exporting labels between different wallets is a good idea. |
|
cACK https://github.com/bitcoin/bips/blob/master/bip-0329.mediawiki |
|
@molnard Implementing this would be a good first step to improve the block DL flow (even if not mandatory). In this scenario, you download a lot of false positives because your thousands of keys are matched against all what you are resyncing, so potentially all blockchain history. This operation can take hours, but we could just use this wallet export to know all transactions and download only relevent blocks, then verify the information in the blocks to effectively resync. I said that it's not mandatory to implement BIP329 to fix this specific block DL scenario as we could simply backup labels, underive all keys, resync the standard way (no more additional false positives caused by the new keys and you already have all blocks so it's really fast), then restore labels. |
|
There's an updated list of wallet with support at https://bip329.org/ |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Intro
Sparrow wallet developer had presented the BIP 329 proposing a standard way to export/import labels associated to pubkeys, transaction, inputs, outputs, etc. Please take a look at the BIP, it is quite short and succinct.
The BIP makes sense to me and the proposed exporting format is really simple and flexible so, we should consider to support it because losing the labels, in the context of Wasabi, means that our users lose the power to protect their privacy effectively by choosing to whom they accept to reveal what.
Alternative
For super-advanced users exporting the labels is trivial and they can use the following script to do it (it could be more convenient to create a script in bash for this purpose btw)
How to run it
$ dotnet fsi test.fsx <WALLETNAME>Example
Very short digression
Given that many wallets associate different kind of data to bitcoin elements, it is obvious that they all have the same problem and now, with a standard format available, many could implement it however this doesn't make wallet interoperable in a full sense because every wallet will save labels for different things. For example, privacy oriented wallets will save labels related to inputs, outputs or keys while more-general-purpose wallets could save info attached to transaction.
Importing this info
Importing this info generated from a Wasabi Wallet is a trivial process. However, if the info was generated by a different wallet, it could require a bit more work. I mean, imagine we are provided with a file containing labels for outputs, in this case it would be necessary to synchronize the wallet and match the outputs with the
CoinRegistryto find the scriptPubKey and then the hdpubkey that needs to be labeled. OTOH files containing labels for transactions, xpubs and other are not "importable" for us.All reactions