Decoupling BIP70 Payment Protocol from Wallets



Summary:

James Hilliard proposed moving the BIP70 protocol implementation into a browser extension that can communicate with wallets over a simple IPC mechanism. The W3C Payments API, which automates all data entry and handles choices related to common transactions on the Web, registers "payment handlers" in the browser and selects one to complete a transaction. Payment requests often ask for information that Bitcoin wallets have no current need to provide, such as shipping addresses. In those cases, it is the chosen payment type's handler that negotiates with the user how to reveal the supposedly necessary information. It may seem early for wallet makers to consider integration with a mere W3C Recommendation, but it would not be early to choose the right architecture to build code on, given that this is in the works for the major browsers. Development can proceed even in browsers that have not implemented anything, through an HTML5 Javascript polyfill. A demonstration that includes payment in bitcoins is already available, although it leaves as an exercise for the reader exactly how the txid would be made known to the handler (whether manually input by paste buffer after copying from an external app, or returned through IPC). James Hilliard believes that there is nothing in this spec that would preclude the workflow of a Bitcoin transaction, whether on-chain (with the seller's backend marking off confirmations) or using the Lightning Network. It even allows the seller to offer a discount on certain payment methods.


Updated on: 2023-06-12T23:23:28.941587+00:00