Decoupling BIP70 Payment Protocol from Wallets [combined summary]



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

Published on: 2018-01-02T11:31:51+00:00


Summary:

James Hilliard has proposed a solution to address the issues with BIP70, a protocol for payment requests. Currently, many wallets do not support BIP70 and have no plans to do so in the near future. BIP70 requires complex PKI dependencies like X.509 and TLS support, which have a history of vulnerabilities. Additionally, sending payments to a BIP70 compatible wallet before sending them to a merchant increases fees and block space usage.To overcome these challenges, Hilliard suggests moving the BIP70 protocol implementation into a browser extension that can communicate with wallets through an IPC (Inter-Process Communication) mechanism. This browser extension would act as a translation layer, converting BIP70 URLs into standard BIP21 URIs for wallets that do not support BIP70 or other custom schemes. The extension would also remove complex and risky dependencies from wallets and shift them to the browser, which already implements full PKI support.Implementing the BIP70 protocol in a browser extension offers several benefits. Firstly, it enables payment support for wallets that only support BIP21/normal addresses, ensuring compatibility with a wider range of wallets. Secondly, it simplifies the use of offline or custom signing schemes with BIP70, making it easier for users to securely sign transactions. Lastly, it eliminates the need for manual and non-user-friendly workarounds when paying a BIP70 invoice with an incompatible wallet.Although some may feel it is premature to consider integrating with the W3C Payments API, choosing the right architecture is crucial given the ongoing development in major browsers. Development can proceed even in browsers that have not yet implemented the API, thanks to an HTML5 JavaScript polyfill. Hilliard believes that this approach does not hinder the workflow of Bitcoin transactions, whether on-chain or using the Lightning Network. It even allows sellers to offer discounts on certain payment methods.In conclusion, the proposal to move the BIP70 protocol implementation into a browser extension offers a solution to the limitations and challenges associated with BIP70. By leveraging the existing capabilities of browsers and simplifying the integration process for wallets, this approach aims to enhance payment support and improve user experience in Bitcoin transactions.


Updated on: 2023-08-01T22:23:23.951218+00:00