Published on: 2020-04-28T01:47:26+00:00
The discussion on finding a common QR code compatible format for Partially Signed Bitcoin Transactions (PSBT) has been moved to the BlockchainCommons/AirgappedSigning repository from the specter-diy repository. This move was made to prevent overwhelming the former repository and provide a dedicated space for sharing examples and prototypes until a consensus can be reached among wallet developers. Christopher Allen shared this information in response to a post by Riccardo Casatta on the bitcoin-dev forum, which included a link to the relevant GitHub issue.The focus of the discussion revolves around how to encode PSBT in QR codes. While a version 40 QR code specification allows up to 3706 bytes of data, the practical limitations and potential size of a PSBT make it impossible to fit in a single QR code. Several proposals have been put forth, including animated QR codes and alphanumeric mode with custom headers for data reconstruction. However, these suggestions come with drawbacks such as printing difficulties, uncertainty regarding data transfer, and compatibility issues with older hardware.In light of these challenges, the author proposes the use of binary encoding and structured append. This approach allows for chaining up to 16 QR codes with 1 byte of parity. Although there are concerns about the support for structured append in QR code libraries, the widely used zxing library on Android and the Apple built-in scanner both offer access to the scanned raw bytes, enabling the parsing of the structured append header.Despite some downsides, binary encoding and structured append offer several advantages. These include efficient encoding, copypaste functionality, and compatibility with bech32. By adopting this approach, the hope is to find a solution that addresses the limitations of other proposals while still allowing for the effective use of QR codes in the context of PSBT.
Updated on: 2023-08-02T02:07:18.778919+00:00