QR code alternatives (was: Proposal: extend bip70 with OpenAlias) [combined summary]



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

Published on: 2015-07-21T14:58:39+00:00


Summary:

In a message from July 20, 2015, Mike Hearn proposed an idea for generating QR codes for Bitcoin payment requests. The method suggested using a single payment address without merge avoidance tricks and provided an example QR code. However, this approach would require text mode and waste bytes at the front for the URI type. To avoid this issue, it was suggested that assuming the payment request is a single standard output + amount would cover most cases and generate a serialized bip70 PR from the parameters found in the URI. The string would then be signed, and the signature added to the URI. This approach saves bits by expressing the duration of validity as one week. The resulting QR code can be scanned with a phone.The 2D-Doc is a French standard used to protect documents such as address proofs and invoices. It includes an ECDSA signature inside a 2D barcode, specifically a Datamatrix, not a QR code. The barcode encodes a summary of the protected document, followed by an ECDSA signature. The signature is done by an official government-approved 2D-Doc emitter. The 2D-Code contains a reference to designate which emitter signed it, and the 2D-Doc TSL supplied by the French government provides all the X509 Certificates from every emitter. This allows for checking the signature. While the 2D-Doc solves a different problem than Bitcoin+BIP70, it's worth noting as it successfully embeds an ECDSA signature inside a 2D barcode.The email suggests that advanced QR code standards could potentially be useful without any changes to BIP7x. If more data can be added without affecting scanning performance, it's possible to maintain the current dataset while improving scanning capabilities.The email proposes a solution to the BIP 70 usability problem without servers by using upgraded QR codes that have more space and optimizing BIP 70. It mentions the High Capacity Colored Two Dimensional Codes paper, which extends standard QR codes with color for increased capacity. Another paper, DualCodes, overlays one QR code on top of another using shades of gray for enhanced reader extraction. The authors of these papers could be contacted to see if they would open source their work. Additionally, defining a certificate's format, including its own Certificate Authorities (CAs), could result in smaller certificates. A QR code with a single payment address could be serialized directly into the QR code if an embedded reader was required. Andreas' wallet can already handle this, but it's unclear how iOS handles it. The email also discusses the idea of implementing a store/forward network for private responses or using the "Stealth Address" / ECDH in the payment protocol proposals. However, these ideas come at the cost of not being able to restore a wallet from seed words. The email suggests using servers to store Payment messages and nodes sharding themselves by announcing that they only store Payment metadata for specific groups. Regular DoS issues would be present, but any P2P network storing data for others faces similar challenges.


Updated on: 2023-08-01T14:24:44.702339+00:00