Received: from sog-mx-2.v43.ch3.sourceforge.com ([172.29.43.192] helo=mx.sourceforge.net) by sfs-ml-3.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1WTV0g-00077r-6j for bitcoin-development@lists.sourceforge.net; Fri, 28 Mar 2014 11:31:42 +0000 Received-SPF: pass (sog-mx-2.v43.ch3.sourceforge.com: domain of gmail.com designates 209.85.219.41 as permitted sender) client-ip=209.85.219.41; envelope-from=mh.in.england@gmail.com; helo=mail-oa0-f41.google.com; Received: from mail-oa0-f41.google.com ([209.85.219.41]) by sog-mx-2.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128) (Exim 4.76) id 1WTV0f-00041H-53 for bitcoin-development@lists.sourceforge.net; Fri, 28 Mar 2014 11:31:42 +0000 Received: by mail-oa0-f41.google.com with SMTP id j17so5966041oag.28 for ; Fri, 28 Mar 2014 04:31:35 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.60.93.168 with SMTP id cv8mr6469150oeb.21.1396006295797; Fri, 28 Mar 2014 04:31:35 -0700 (PDT) Sender: mh.in.england@gmail.com Received: by 10.76.71.231 with HTTP; Fri, 28 Mar 2014 04:31:35 -0700 (PDT) In-Reply-To: References: Date: Fri, 28 Mar 2014 12:31:35 +0100 X-Google-Sender-Auth: UTxozhWbc4E6UPyFadT4ONs9GXM Message-ID: From: Mike Hearn To: Andreas Schildbach Content-Type: multipart/alternative; boundary=047d7b33d3c05d872704f5a90ba7 X-Spam-Score: -0.5 (/) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. -1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for sender-domain 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (mh.in.england[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record 1.0 HTML_MESSAGE BODY: HTML included in message 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature X-Headers-End: 1WTV0f-00041H-53 Cc: Bitcoin Dev Subject: Re: [Bitcoin-development] BIP 70 refund field X-BeenThere: bitcoin-development@lists.sourceforge.net X-Mailman-Version: 2.1.9 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Mar 2014 11:31:42 -0000 --047d7b33d3c05d872704f5a90ba7 Content-Type: text/plain; charset=UTF-8 On Fri, Mar 28, 2014 at 12:25 PM, Andreas Schildbach wrote: > However, I don't see how PaymentDetails can be an answer. None of the > fields (other than outputs and network) can be known in advance (at the > time of the initial payment). > You don't need all the fields indeed, but they're mostly optional (except time). So for the refund you'd fill out: outputs (same as today) time expiry_time You're probably aiming for an expires field? How would you refund a > payment after expiry? > It'd have to be ad-hoc at that point. OK, you don't get the nice UI that the refund field provides. Oh well. It should be rare to get refunds very very late after the purchase. > Btw. another problem is that the refund address is currently unprotected. > Yes indeed as is the rest of the Payment structure. We talked about signing it with one of the keys that's signing the Bitcoin transaction as well. But it seems like a bit overkill. Usually it'll be submitted over HTTPS or a (secured!) Bluetooth channel though so tampering with it should not be possible. However this does raise the question of whether a refund should be a full blown PaymentRequest with optional PKI signing. Normally, I think, a seller does not know or care about the identity of a buyer for refunds, outside of their own tracking system. --047d7b33d3c05d872704f5a90ba7 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On F= ri, Mar 28, 2014 at 12:25 PM, Andreas Schildbach <andreas@schildbach.d= e> wrote:
However, I don't see how PaymentDetails = can be an answer. None of the
fields (other than outputs and network) can be known in advance (at the
time of the initial payment).

You don&#= 39;t need all the fields indeed, but they're mostly optional (except ti= me). So for the refund you'd fill out:

outputs= (same as today)
time
expiry_time

You're probably aiming for an expires field? How would you refu= nd a
payment after expiry?

It'd have to = be ad-hoc at that point. OK, you don't get the nice UI that the refund = field provides. Oh well. It should be rare to get refunds very very late af= ter the purchase.
=C2=A0
Btw. another problem is tha= t the refund address is currently unprotected.

Yes indeed as is the rest of the Payment structure. We talked about signing= it with one of the keys that's signing the Bitcoin transaction as well= . But it seems like a bit overkill. Usually it'll be submitted over HTT= PS or a (secured!) Bluetooth channel though so tampering with it should not= be possible.

However this does raise the question of whether a refun= d should be a full blown PaymentRequest with optional PKI signing. Normally= , I think, a seller does not know or care about the identity of a buyer for= refunds, outside of their own tracking system.
--047d7b33d3c05d872704f5a90ba7--