diff options
author | Pieter Wuille <pieter.wuille@gmail.com> | 2015-06-16 16:31:34 +0200 |
---|---|---|
committer | bitcoindev <bitcoindev@gnusha.org> | 2015-06-16 14:31:41 +0000 |
commit | 7073c0b23a5506839a1e48bad76a70d47e76e6ce (patch) | |
tree | 4e7865e3490d60e025a2facad58c9ca63a4d33c7 /20 | |
parent | 61bd3acf5f0deb084275b7f2df7daa436d842dc6 (diff) | |
download | pi-bitcoindev-7073c0b23a5506839a1e48bad76a70d47e76e6ce.tar.gz pi-bitcoindev-7073c0b23a5506839a1e48bad76a70d47e76e6ce.zip |
Re: [Bitcoin-development] BIP for Proof of Payment
Diffstat (limited to '20')
-rw-r--r-- | 20/d189e1df6b38a936b807e2544798c1850d5aae | 203 |
1 files changed, 203 insertions, 0 deletions
diff --git a/20/d189e1df6b38a936b807e2544798c1850d5aae b/20/d189e1df6b38a936b807e2544798c1850d5aae new file mode 100644 index 000000000..a7ad78e12 --- /dev/null +++ b/20/d189e1df6b38a936b807e2544798c1850d5aae @@ -0,0 +1,203 @@ +Received: from sog-mx-4.v43.ch3.sourceforge.com ([172.29.43.194] + helo=mx.sourceforge.net) + by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76) + (envelope-from <pieter.wuille@gmail.com>) id 1Z4rtt-0004YW-S9 + for bitcoin-development@lists.sourceforge.net; + Tue, 16 Jun 2015 14:31:41 +0000 +Received-SPF: pass (sog-mx-4.v43.ch3.sourceforge.com: domain of gmail.com + designates 209.85.160.176 as permitted sender) + client-ip=209.85.160.176; envelope-from=pieter.wuille@gmail.com; + helo=mail-yk0-f176.google.com; +Received: from mail-yk0-f176.google.com ([209.85.160.176]) + by sog-mx-4.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128) + (Exim 4.76) id 1Z4rts-0006hi-3o + for bitcoin-development@lists.sourceforge.net; + Tue, 16 Jun 2015 14:31:41 +0000 +Received: by ykar6 with SMTP id r6so14735162yka.2 + for <bitcoin-development@lists.sourceforge.net>; + Tue, 16 Jun 2015 07:31:34 -0700 (PDT) +MIME-Version: 1.0 +X-Received: by 10.170.57.198 with SMTP id 189mr792746ykz.35.1434465094599; + Tue, 16 Jun 2015 07:31:34 -0700 (PDT) +Received: by 10.37.93.67 with HTTP; Tue, 16 Jun 2015 07:31:34 -0700 (PDT) +In-Reply-To: <CAPswA9yB3wfV1auXR=ggXjh+f1C3Qpkv8qP1miQwkc8R2_aBLg@mail.gmail.com> +References: <CAPswA9w5Sgg6AV=9Pqx5sqbkdrwv9LmwoxmMu7xZsQSNXtmZnQ@mail.gmail.com> + <CAPg+sBjtovFpLoibpVGLsNJXexBcoiYzjrvctraXntCUZBJsGg@mail.gmail.com> + <CAPswA9zhB4GV=JJ28RRLFNrkVwExUv36zujmuAjwPd6rG6rvzQ@mail.gmail.com> + <CALJP9GCBJiofY7k2RJ460CuLuWQunHcx7EcLi1-d07v76Y-E2g@mail.gmail.com> + <CAPswA9wqdbU0z8ydBt+9M0iQX0VSi1ce=dg3fR2_2bx3-vEqzA@mail.gmail.com> + <CAPswA9z_xKY6v9=Ejh=01mZN0QCVo1e0RY1FTzXzS39i3tjgAw@mail.gmail.com> + <CAPswA9xk5QYAXxQ6ES3cnNPeB1FTiiSJgLahLEkSk4CLpoM_QQ@mail.gmail.com> + <CAPg+sBiWykR6RaHhbyYQbL=A5t1TmHgEmS_sC7jj9d3SUTMO9g@mail.gmail.com> + <CAPswA9zycU0pwZKaHU9J3Tvg=ovLJ8TZ9OH6ebTPONaRaiOE8g@mail.gmail.com> + <CAPg+sBhuth22+vAHyS2iwpze8X=-b2wJQ5s1z2FhZ1jsLXobgQ@mail.gmail.com> + <CAPswA9yB3wfV1auXR=ggXjh+f1C3Qpkv8qP1miQwkc8R2_aBLg@mail.gmail.com> +Date: Tue, 16 Jun 2015 16:31:34 +0200 +Message-ID: <CAPg+sBjp-BmSXhanOuKE0DN1wdfVwCtFwiAbPse1GLxy3+L3nA@mail.gmail.com> +From: Pieter Wuille <pieter.wuille@gmail.com> +To: Kalle Rosenbaum <kalle@rosenbaum.se> +Content-Type: multipart/alternative; boundary=001a1139441e680b040518a36eb3 +X-Spam-Score: -0.6 (/) +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 + (pieter.wuille[at]gmail.com) + -0.0 SPF_PASS SPF: sender matches SPF record + 1.0 HTML_MESSAGE BODY: HTML included in message + -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from + author's domain + 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: 1Z4rts-0006hi-3o +Cc: Bitcoin Dev <bitcoin-development@lists.sourceforge.net> +Subject: Re: [Bitcoin-development] BIP for Proof of Payment +X-BeenThere: bitcoin-development@lists.sourceforge.net +X-Mailman-Version: 2.1.9 +Precedence: list +List-Id: <bitcoin-development.lists.sourceforge.net> +List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>, + <mailto:bitcoin-development-request@lists.sourceforge.net?subject=unsubscribe> +List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-development> +List-Post: <mailto:bitcoin-development@lists.sourceforge.net> +List-Help: <mailto:bitcoin-development-request@lists.sourceforge.net?subject=help> +List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>, + <mailto:bitcoin-development-request@lists.sourceforge.net?subject=subscribe> +X-List-Received-Date: Tue, 16 Jun 2015 14:31:41 -0000 + +--001a1139441e680b040518a36eb3 +Content-Type: text/plain; charset=UTF-8 + +On Mon, Jun 15, 2015 at 1:59 PM, Kalle Rosenbaum <kalle@rosenbaum.se> wrote: + +> 2015-06-15 12:00 GMT+02:00 Pieter Wuille <pieter.wuille@gmail.com>: +> I'm not sure if we will be able to support PoP with CoinJoin. Maybe +> someone with more insight into CoinJoin have some input? +> + +Not really. The problem is that you assume a transaction corresponds to a +single payment. This is true for simple wallet use cases, but not +compatible with CoinJoin, or with systems that for example would want to +combine multiple payments in a single transaction. + + +> > Also, if I understand correctly, there is no commitment to anything +> you're +> > trying to say about the sender? So once I obtain a proof-of-payment from +> you +> > about something you paid, I can go claim that it's mine? +> +> I don't understand this. The pop includes a nonce randomly generated +> by the server. If you're very lucky, 1/(2^48) per try, you can reuse a +> pop. +> +> +I owe you an apology here, for judging based on the summary you posted +rather than reading the actual text. + +48 bits seems low to me, but it does indeed solve the problem. Why not 128 +or 256 bits? + +> Why does anyone care who paid? This is like walking into a coffeshop, +> > noticing I don't have money with me, let me friend pay for me, and then +> have +> > the shop insist that I can't drink it because I'm not the buyer. +> +> If you pay as you use the service (ie pay for coffee upfront), there's +> no need for PoP. Please see the Motivation section. But you are right +> that you must have the wallet(s) that paid at hand when you issue a +> PoP. +> +> > +> > Track payments, don't try to assign identities to payers. +> +> Please elaborate, I don't understand what you mean here. +> + +I think that is a mistake. You should not assume that the wallet who held +the coins is the payer/buyer. That's what I said earlier; you're implicitly +creating an identity (the one who holds these keys) based on the +transaction. This seems fundamentally wrong to me, and not necessary. The +receiver should not care who paid or how, he should care what was payed for. + +The easiest solution to this IMHO would be an extension to the payment +protocol that gives you (or your wallet) a token in return for paying, and +that knowledge of that token is used to gain access to the services you +provide. + +-- +Pieter + +--001a1139441e680b040518a36eb3 +Content-Type: text/html; charset=UTF-8 +Content-Transfer-Encoding: quoted-printable + +<div dir=3D"ltr">On Mon, Jun 15, 2015 at 1:59 PM, Kalle Rosenbaum <span dir= +=3D"ltr"><<a href=3D"mailto:kalle@rosenbaum.se" target=3D"_blank">kalle@= +rosenbaum.se</a>></span> wrote:<br><div class=3D"gmail_extra"><div class= +=3D"gmail_quote"><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px = +0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span cl= +ass=3D"">2015-06-15 12:00 GMT+02:00 Pieter Wuille <<a href=3D"mailto:pie= +ter.wuille@gmail.com">pieter.wuille@gmail.com</a>>:<br> +</span>I'm not sure if we will be able to support PoP with CoinJoin. Ma= +ybe<br> +someone with more insight into CoinJoin have some input?<br></blockquote><d= +iv><br></div><div>Not really. The problem is that you assume a transaction = +corresponds to a single payment. This is true for simple wallet use cases, = +but not compatible with CoinJoin, or with systems that for example would wa= +nt to combine multiple payments in a single transaction.<br></div><div>=C2= +=A0<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px = +0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class= +=3D""> +> Also, if I understand correctly, there is no commitment to anything yo= +u're<br> +> trying to say about the sender? So once I obtain a proof-of-payment fr= +om you<br> +> about something you paid, I can go claim that it's mine?<br> +<br> +</span>I don't understand this. The pop includes a nonce randomly gener= +ated<br> +by the server. If you're very lucky, 1/(2^48) per try, you can reuse a<= +br> +pop.<br> +<span class=3D""><br></span></blockquote><div>=C2=A0<br></div><div>I owe yo= +u an apology here, for judging based on the summary you posted rather than = +reading the actual text.<br><br></div><div>48 bits seems low to me, but it = +does indeed solve the problem. Why not 128 or 256 bits?<br><br></div><block= +quote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1= +px solid rgb(204,204,204);padding-left:1ex"><span class=3D""> +> Why does anyone care who paid? This is like walking into a coffeshop,<= +br> +> noticing I don't have money with me, let me friend pay for me, and= + then have<br> +> the shop insist that I can't drink it because I'm not the buye= +r.<br> +<br> +</span>If you pay as you use the service (ie pay for coffee upfront), there= +'s<br> +no need for PoP. Please see the Motivation section. But you are right<br> +that you must have the wallet(s) that paid at hand when you issue a<br> +PoP.<br> +<span class=3D""><br> +><br> +> Track payments, don't try to assign identities to payers.<br> +<br> +</span>Please elaborate, I don't understand what you mean here.<br></bl= +ockquote><div><br>I think that is a mistake. You should not assume that the= + wallet who=20 +held the coins is the payer/buyer. That's what I said earlier; you'= +re=20 +implicitly creating an identity (the one who holds these keys) based on=20 +the transaction. This seems fundamentally wrong to me, and not necessary. T= +he receiver should not care who paid or how, he should care=20 +what was payed for.<br>=C2=A0<br></div><div>The easiest solution to this IM= +HO would be an extension to the payment protocol that gives you (or your wa= +llet) a token in return for paying, and that knowledge of that token is use= +d to gain access to the services you provide.<br><br>-- <br></div><div>Piet= +er<br><br></div></div></div></div> + +--001a1139441e680b040518a36eb3-- + + |