Payment Protocol: BIP 70, 71, 72



Summary:

In 2013, Gavin Andresen developed a preliminary payment protocol specification for Bitcoin. This specification was then turned into three Bitcoin Improvement Proposals (BIPs), with BIP 0070 being focused on network protocols and messages. However, there were concerns about the wording of the payment_uri and the fact that in the diagram, the client wallet was broadcasting the transaction to the network. Pieter, another developer, suggested that it should be the responsibility of the receiver to get the transaction confirmed, rather than the sender. Direct negotiation offers advantages, such as not requiring the sender's wallet to remain online, so Pieter stated that the sender's wallet shouldn't even need to be connected to the P2P network. Instead, they only need to construct a satisfactory transaction and send it to the merchant who cares about it.Pieter proposed new wording for the payment_uri, suggesting that if it is specified, the wallet application should try - and if necessary, retry - to submit the transaction there, resulting in a paymentACK from the merchant. Broadcasting the transaction on the P2P network would be optional, and perhaps discouraged until the paymentACK is obtained to ensure the merchant receives it along with the metadata, minimizing the cases where manual intervention is needed.


Updated on: 2023-05-19T17:24:27.480430+00:00