BIP Proposal: Wallet Labels Export Format [combined summary]



Individual post summaries: Click here to read the original discussion on the bitcoin-dev mailing list

Published on: 2022-09-26T08:23:18+00:00


Summary:

The proposed standard aims to create a defined format for transferring labels that users have applied to transactions, addresses, inputs, or outputs in their wallets. The format uses the comma-separated values (CSV) format, which is widely supported. Each record in the CSV file consists of two fields: the reference to a transaction, address, input, or output, and the label applied to that reference. The proposal suggests using ZIP compression for the CSV file, with optional AES encryption.Some feedback on the proposal includes suggestions for improvements, such as adding a version byte to the header line, making the header line mandatory, and using an unsigned 32-bit integer for the second column. There are also suggestions to remove the optional encryption feature and not include input and output types in the export to avoid privacy leaks. Instead, commentators suggest adding a third column for item type identification.Despite disagreement on the use of CSV as a standard format, the goal of the proposal is to create a standardized format for importing and exporting wallet labels. The proposed format is a simple two-column CSV file, aiming to make label management more accessible to users and ensure compatibility between different wallet implementations. Feedback on the proposal is appreciated, and further improvements may be made based on the feedback received.The use of CSV for transferring labels between wallet applications is motivated by its wide accessibility and integration with existing processes and tools like Excel. However, there is some disagreement about using CSV, with suggestions to use JSON instead due to concerns about CSV compatibility and parsing effort. Despite this disagreement, the proposal aims to create a standard for importing and exporting labels from a wallet, regardless of the chosen data format.The proposal specifies a two-column CSV format, where the first column contains the reference to a transaction, address, input, or output, and the second column contains the label. The CSV file can be compressed using ZIP and optionally encrypted using AES. Importing applications may truncate labels if necessary, while exporting applications may omit records with no labels or labels of zero length.The proposal seeks to make label management accessible to users without technical expertise and reduce file size while ensuring compatibility. The discussion on the Bitcoin-dev mailing list provides insight into ongoing development work on the Bitcoin protocol and the collaborative nature of the Bitcoin development community.There is some disagreement about using CSV as the standard format for transferring labels, with suggestions to use JSON instead. One commenter suggests including descriptors in the format for advanced users. In response to a question about SLIP-0015, it is stated that SLIP-0015 has different design goals and limitations compared to the proposed BIP.The proposal allows for ZIP compression and optional AES encryption of the CSV file. The password for encryption should be the textual representation of the wallet's extended public key. The aim of this proposal is to create a standard for exporting and importing labels from a wallet, avoiding lock-in to a specific application, and making label management accessible to non-technical users.Feedback on the proposal is requested, and a reference implementation is yet to be determined. Suggestions for additions and changes to the format include adding a version byte, making the header line mandatory, requiring double quotes around the label, and writing a more robust importer algorithm. The proposal aims to standardize the export and import of labels using a simple CSV format.


Updated on: 2023-08-02T07:20:37.832503+00:00