Author: Billy Tetrud 2022-08-27 21:03:01
Published on: 2022-08-27T21:03:01+00:00
This document proposes a format for the export of labels attached to transactions, addresses, inputs, and outputs in a wallet. The aim is to create a standardized way to transfer labels between different Bitcoin wallets. While standards such as BIP39 have made the transfer of funds across different wallets simple, there is no defined standard for the transfer of labels applied by users to their wallet's transactions, addresses, inputs, or outputs. Labels provide valuable guidance in maintaining privacy while spending, and their transfer in a standardized way ensures that users do not experience lock-in to a particular wallet application. The proposed format uses comma-separated values (CSV), which is widely supported by consumer, business, and scientific applications. The CSV file may be compressed using the ZIP format and optionally encrypted using AES, with the textual representation of the wallet's extended public key as the password. The first column in the CSV file contains a reference to the transaction, address, input, or output in the wallet, while the second column contains the label applied to the reference. Exporting applications may omit records with no labels or labels of zero length. Importing applications may truncate labels if necessary. Feedback on the proposed format is appreciated, and a test vector is provided for reference. One point of contention is whether unnecessary types should be excluded from the format to prevent information leaks, but this runs contrary to the idea of letting users control how they store their exports. The feedback suggests adding a version byte, mandating the header line, using double-quotes around labels, sorting records according to wallet implementation, and writing a more robust importer algorithm. The feedback also questions the need for including input and output item types and encrypting addresses and labels together. Finally, the feedback recommends leaving file compression up to the user and avoiding specifying the file extension in the BIP to allow for modular "Layer 2" protocols and schemes. The full text of the BIP can be found on GitHub.
Updated on: 2023-06-16T00:02:05.413817+00:00