Closed ChristopherA closed 2 years ago
The animated QR codes make the QR code size much less of an issue. Would also just be great to standardize on a single animated QR code format. UR is well-documented, and is already in use in several popular wallets as Christopher mentioned.
Help me understand. What is the benefit of a "UR" over a BIP21 URI?
The UR specifications and reference code have many advantages:
crypto-psbt
URs, and there are multiple versions in other languages (are reference version is in C).To date, we don't have many Lightning developers submitting UR specs for LN use cases. We'd love to see more here, including to support BIP21.
Help me understand. What is the benefit of a "UR" over a BIP21 URI?
The UR spec actually lays out the benefits:
I'd also recommend our Blockchain Commons Technology Overview video that discusses the building blocks we're working with and our motivations for choosing or building them.
We also have experimental support of NFCs on the iPhone in our demo reference app Gordian Seed Tool. This means you can tap a merchant's device, and it will call the app using a ur:
scheme. The current BIP21 proposal is not directly compatible with NFCs, as platforms require that they must be strictly URI conformant (which the UR specs are).
Can you help us understand what actually needs to happen to support this? Does every wallet showing a QR code today need to change to support UR? What does that entail?
Can you help us understand what actually needs to happen to support this? Does every wallet showing a QR code today need to change to support UR? What does that entail?
Obviously, the more developers and wallets that adopt the UR specification, the greater the network effect of adoption. Blockchain Commons is trying to help wallet developers interoperate and avoid having to reinvent the wheel where it would benefit the entire community. There are already open source libraries to support UR in several languages, so adoption should be pretty easy in most cases.
I will need to take more time to dig into your spec here. I'm genuinely curious to learn about it, so thank you for sharing.
A large part of BIP21 for us is that it already enjoys widespread support among most on-chain wallets, and is gaining support among lightning wallets. For wallets like Strike, CashApp, Bitcoin Beach, etc. this can be a very quick fix for their UX.
While I see the value of a standardized format like this for things like animated QRs for PSBTs, the BIP21 for lightning seems like really low-hanging fruit that lightning wallets can start benefiting from in the very near future.
So I am going to close this issue, but I will re-open it if we need to start pursuing the animated QRs in more depth. I am not closed off to this idea, I just see it being more beneficial for other use cases, whereas this initiative is very much focused on the bitcoin-on-chain/lightning UX problem.
Has this community considered moving over the QR's using the UR-based encoding, which among other things is optimized for native-QR compression and already supports animated QRs? This standard is for more than just PSBTs (Sparrow, Keystone, Foundation Devices, Spectre, etc.), but also since it uses self-describing CBOR underneath, can be used for seeds, keys derivations, etc. It would not be hard to add any BIP21 primitives.
See https://github.com/BlockchainCommons/crypto-commons#urs for a number of overview documents and a video on the UR standards.