Subject: Re: [Bitcoin-development] Payment Protocol: BIP 70, 71, 72

From: Pieter Wuille <[email-masked]>
Date: Wed, 7 Aug 2013 22:31:45 +0200

On Wed, Jul 31, 2013 at 8:28 AM, Gavin Andresen <[email-masked]> wrote:
> I've turned the preliminary payment protocol spec into three BIPs:
>
> https://en.bitcoin.it/wiki/BIP_0070 : Network protocol / messages

I don't like the wording for payment_uri "where the payment _may_ be
sent to obtain a paymentACK", or the fact that in the diagram it is
the client wallet broadcasting the transaction to the network.

In my opinion, it should ultimately become the responsibility of the
receiver to get the transaction confirmed. Of course, the sender may
help, and if the transaction does not confirm, no payment took place.
But one of the advantages direct negotiation offers, is that the
sender wallet does not need to remain online anymore to get the
transaction broadcast. I don't think it should be even required that
the sender wallet is connected to the P2P network at all. All they
need to do is construct a satisfactory transaction, and send it to the
merchant who cares about it.

I would suggest the wording, "if a payment_uri 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 is optional.". Perhaps
we should even discourage broadcasting before the paymentACK is
obtained, to make sure the merchant received it, together with the
metadata, to decrease the chances of money arriving at a merchant
without metadata (to minimize the cases where manual intervention is
needed).

-- 
Pieter