sbddesign / bip21-site

A website for tracking community support for BIP21 QR codes that support on-chain and lightning bitcoin payments.
https://bitcoinqr.dev
MIT License
31 stars 24 forks source link

Consider Using URs? + UR for bitcoin air gapped already supports animated QRs #47

Closed ChristopherA closed 2 years ago

ChristopherA commented 2 years ago

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.

FoundationKen commented 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.

sbddesign commented 2 years ago

Help me understand. What is the benefit of a "UR" over a BIP21 URI?

ChristopherA commented 2 years ago

The UR specifications and reference code have many advantages:

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.

wolfmcnally commented 2 years ago

Help me understand. What is the benefit of a "UR" over a BIP21 URI?

The UR spec actually lays out the benefits:

wolfmcnally commented 2 years ago

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.

ChristopherA commented 2 years ago

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).

moneyball commented 2 years ago

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?

wolfmcnally commented 2 years ago

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.

sbddesign commented 2 years ago

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.