Revisiting BIP21

Revisiting BIP21

Original Postby josibake

Posted on: March 1, 2024 14:51 UTC

The recent discussions on BIP352 and the proposal for human-readable payment instructions have brought to light the limitations and potential enhancements for Bitcoin Improvement Proposal 21 (BIP21), which is focused on defining a URI scheme for making bitcoin payments.

BIP21 originally aimed to standardize the format for bitcoin payment addresses in URIs by incorporating base58 encoded legacy addresses at the root and specifying new address types and payment protocols through extension parameters. This approach was intended to ensure backward compatibility and simplify transactions for users by allowing them to use URIs that nearly guarantee successful payments across different sender capabilities.

However, in practice, BIP21 has been implemented in ways that diverge from its specifications. Many users treat URIs as static personal identifiers, leading to issues like address reuse and compromised privacy. Furthermore, there's been a lack of adherence to specifying extensions for new address types and payment protocols, rendering some payments unsuccessful when senders are unfamiliar with newer address formats like bech32m. The evolution of bitcoin address formats and the introduction of privacy-enhancing protocols underscore the need for an updated approach to BIP21 URIs that accommodates future developments without necessitating constant revisions to the standard itself.

A proposed solution to these challenges advocates for a more flexible and forward-compatible framework for BIP21 URIs. Instead of relying on extensions for each new address type or payment protocol, this approach suggests specifying the desired address type at the URI's root and providing fallback options for backward compatibility. This method would allow any new address format to be supported out of the box, without requiring changes to existing BIPs or the addition of new extension keys for every innovation in payment protocols. By focusing on on-chain addresses and potentially extending support to self-describing payment instructions, BIP21 could become more adaptable to future developments in the bitcoin ecosystem.

The debate around how best to update BIP21 reflects broader questions about maintaining interoperability and privacy within the evolving landscape of cryptocurrency payments. The suggestion to adopt a more inclusive and flexible schema for payment URIs, as discussed by contributors like @RubenSomsen, offers a path forward that could prevent the repetition of past mistakes and ensure that BIP21 remains relevant as new technologies emerge. This conversation highlights the community's commitment to improving the user experience and security of bitcoin transactions, emphasizing the importance of collaborative efforts to refine and adapt standards like BIP21 for the benefit of all users.