summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTamas Blummer <tamas@bitsofproof.com>2014-03-28 12:30:39 +0100
committerbitcoindev <bitcoindev@gnusha.org>2014-03-28 11:30:49 +0000
commitdb7806303f9429ebf58150fba38c5f4d460f71b1 (patch)
tree2a6aea5d3361d3936d61f4bc08e40c7ba1d74220
parentc2bfc397f163de476c430380e97ce132b051fc42 (diff)
downloadpi-bitcoindev-db7806303f9429ebf58150fba38c5f4d460f71b1.tar.gz
pi-bitcoindev-db7806303f9429ebf58150fba38c5f4d460f71b1.zip
Re: [Bitcoin-development] BIP 70 refund field
-rw-r--r--6b/de3288ea8edee94aa181ce12ed4db5b175c810236
1 files changed, 236 insertions, 0 deletions
diff --git a/6b/de3288ea8edee94aa181ce12ed4db5b175c810 b/6b/de3288ea8edee94aa181ce12ed4db5b175c810
new file mode 100644
index 000000000..db412a9ab
--- /dev/null
+++ b/6b/de3288ea8edee94aa181ce12ed4db5b175c810
@@ -0,0 +1,236 @@
+Received: from sog-mx-2.v43.ch3.sourceforge.com ([172.29.43.192]
+ helo=mx.sourceforge.net)
+ by sfs-ml-2.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
+ (envelope-from <tamas@bitsofproof.com>) id 1WTUzp-0000u2-FL
+ for bitcoin-development@lists.sourceforge.net;
+ Fri, 28 Mar 2014 11:30:49 +0000
+X-ACL-Warn:
+Received: from wp059.webpack.hosteurope.de ([80.237.132.66])
+ by sog-mx-2.v43.ch3.sourceforge.com with esmtps (TLSv1:AES256-SHA:256)
+ (Exim 4.76) id 1WTUzn-0003zj-CW
+ for bitcoin-development@lists.sourceforge.net;
+ Fri, 28 Mar 2014 11:30:49 +0000
+Received: from [37.143.74.116] (helo=[192.168.2.2]); authenticated
+ by wp059.webpack.hosteurope.de running ExIM with esmtpsa
+ (TLS1.0:RSA_AES_128_CBC_SHA1:16)
+ id 1WTUzg-0003ta-9Q; Fri, 28 Mar 2014 12:30:40 +0100
+Content-Type: multipart/signed;
+ boundary="Apple-Mail=_2DBC39B1-0264-4056-A65D-B4F542EA6980";
+ protocol="application/pgp-signature"; micalg=pgp-sha1
+Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\))
+From: Tamas Blummer <tamas@bitsofproof.com>
+In-Reply-To: <CANEZrP0AwR3WgHfwYWcrC9Z_MHPDwymWXAQwp7D8XZ+o2FsK8g@mail.gmail.com>
+Date: Fri, 28 Mar 2014 12:30:39 +0100
+Message-Id: <612FFAAD-14FF-4261-927D-BD2E0F287257@bitsofproof.com>
+References: <CANEZrP0AwR3WgHfwYWcrC9Z_MHPDwymWXAQwp7D8XZ+o2FsK8g@mail.gmail.com>
+To: Mike Hearn <mike@plan99.net>
+X-Mailer: Apple Mail (2.1510)
+X-bounce-key: webpack.hosteurope.de; tamas@bitsofproof.com; 1396006247;
+ 8a72e94e;
+X-Spam-Score: 1.0 (+)
+X-Spam-Report: Spam Filtering performed by mx.sourceforge.net.
+ See http://spamassassin.org/tag/ for more details.
+ 1.0 HTML_MESSAGE BODY: HTML included in message
+X-Headers-End: 1WTUzn-0003zj-CW
+Cc: Bitcoin Dev <bitcoin-development@lists.sourceforge.net>
+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: <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: Fri, 28 Mar 2014 11:30:49 -0000
+
+
+--Apple-Mail=_2DBC39B1-0264-4056-A65D-B4F542EA6980
+Content-Type: multipart/alternative;
+ boundary="Apple-Mail=_D2489A7D-9452-4AFB-93AD-B96D277E9E79"
+
+
+--Apple-Mail=_D2489A7D-9452-4AFB-93AD-B96D277E9E79
+Content-Transfer-Encoding: quoted-printable
+Content-Type: text/plain;
+ charset=iso-8859-1
+
+Instead of a payment request and refund, businesses would actually need =
+a payment channel, that once established allows for multiple payments =
+back and forth between counterparties.
+
+One might have a number of open channels until the business relationship =
+is assumed. The customer might decide to close the channel explicitelly =
+once he does no longer expect a payment.=20
+
+Regards,
+
+Tam=E1s Blummer
+http://bitsofproof.com
+
+On 28.03.2014, at 12:07, Mike Hearn <mike@plan99.net> wrote:
+
+> Modern devices like smartphones and tablets do not have swap files. =
+This design is chosen to ensure responsive, fluid UI that can avoid =
+blocking on disk regardless of how much multi-tasking is done, but it =
+creates ripples that impact everything else.
+>=20
+> One implication of this is that on these devices, we cannot store all =
+keys or transactions in memory forever. BIP 70 has an expiry field for =
+PaymentRequests that we can use to allow us to eventually stop loading =
+those keys into RAM - at that point payments to those keys would no =
+longer be recognised. But there's no equivalent for refund addresses.
+>=20
+> More generally, though we re-used the output structure to define the =
+refund, we didn't (for some reason that I forgot) reuse PaymentDetails, =
+even though the payment details for a refund are indeed PaymentDetails.
+>=20
+> Though I am loathe to go back and redesign this part of BIP 70 so soon =
+after we shipped v1, it seems to me like the refund feature may be hard =
+to implement on phones if there's no time limit for when you can receive =
+a refund. Otherwise a wallet has to be looking out for refunds for =
+payments you may have made years ago. So perhaps we should add a new =
+refund field that embeds a PaymentDetails structure instead of being =
+just a list of outputs.
+>=20
+> We could try and solve this problem some other way purely internally, =
+by doing a kind of wallet-specific swapping process in which things like =
+Bloom filters are calculated without all keys in them being held in =
+memory at once (perhaps caching filters for old parts of the key chain =
+on disk), so you can have "infinite" wallets, but eventually the huge =
+Bloom filters that would result would hurt efficiency in other ways. So =
+key expiry seems pretty fundamental to scalability.
+>=20
+>=20
+> =
+--------------------------------------------------------------------------=
+----
+> _______________________________________________
+> Bitcoin-development mailing list
+> Bitcoin-development@lists.sourceforge.net
+> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
+
+
+--Apple-Mail=_D2489A7D-9452-4AFB-93AD-B96D277E9E79
+Content-Transfer-Encoding: quoted-printable
+Content-Type: text/html;
+ charset=iso-8859-1
+
+<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
+charset=3Diso-8859-1"></head><body style=3D"word-wrap: break-word; =
+-webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div =
+apple-content-edited=3D"true">Instead of a payment request and refund, =
+businesses would actually need a payment channel, that once established =
+allows for multiple payments back and forth between =
+counterparties.</div><div apple-content-edited=3D"true"><br></div><div =
+apple-content-edited=3D"true">One might have a number of open channels =
+until the business relationship is assumed. The customer might decide to =
+close the channel explicitelly once he does no longer expect&nbsp;a =
+payment.&nbsp;</div><div apple-content-edited=3D"true"><br></div><div =
+apple-content-edited=3D"true"><span style=3D"color: rgb(0, 0, 0); =
+font-family: Helvetica; font-size: medium; font-style: normal; =
+font-variant: normal; font-weight: normal; letter-spacing: normal; =
+line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: =
+0px; text-transform: none; white-space: normal; widows: 2; word-spacing: =
+0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; =
+display: inline !important; float: none; ">Regards,</span><br =
+style=3D"color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; =
+font-style: normal; font-variant: normal; font-weight: normal; =
+letter-spacing: normal; line-height: normal; orphans: 2; text-align: =
+-webkit-auto; text-indent: 0px; text-transform: none; white-space: =
+normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; =
+-webkit-text-stroke-width: 0px; "><br style=3D"color: rgb(0, 0, 0); =
+font-family: Helvetica; font-size: medium; font-style: normal; =
+font-variant: normal; font-weight: normal; letter-spacing: normal; =
+line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: =
+0px; text-transform: none; white-space: normal; widows: 2; word-spacing: =
+0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; =
+"><span style=3D"color: rgb(0, 0, 0); font-family: Helvetica; font-size: =
+medium; font-style: normal; font-variant: normal; font-weight: normal; =
+letter-spacing: normal; line-height: normal; orphans: 2; text-align: =
+-webkit-auto; text-indent: 0px; text-transform: none; white-space: =
+normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; =
+-webkit-text-stroke-width: 0px; display: inline !important; float: none; =
+">Tam=E1s Blummer</span><br style=3D"color: rgb(0, 0, 0); font-family: =
+Helvetica; font-size: medium; font-style: normal; font-variant: normal; =
+font-weight: normal; letter-spacing: normal; line-height: normal; =
+orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: =
+none; white-space: normal; widows: 2; word-spacing: 0px; =
+-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><span =
+style=3D"color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; =
+font-style: normal; font-variant: normal; font-weight: normal; =
+letter-spacing: normal; line-height: normal; orphans: 2; text-align: =
+-webkit-auto; text-indent: 0px; text-transform: none; white-space: =
+normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; =
+-webkit-text-stroke-width: 0px; display: inline !important; float: none; =
+"><a href=3D"http://bitsofproof.com">http://bitsofproof.com</a></span>
+</div>
+<br><div><div>On 28.03.2014, at 12:07, Mike Hearn &lt;<a =
+href=3D"mailto:mike@plan99.net">mike@plan99.net</a>&gt; wrote:</div><br =
+class=3D"Apple-interchange-newline"><blockquote type=3D"cite"><div =
+dir=3D"ltr">Modern devices like smartphones and tablets do not have swap =
+files. This design is chosen to ensure responsive, fluid UI that can =
+avoid blocking on disk regardless of how much multi-tasking is done, but =
+it creates ripples that impact everything else.<div>
+<br></div><div>One implication of this is that on these devices, we =
+cannot store all keys or transactions in memory forever. BIP 70 has an =
+expiry field for PaymentRequests that we can use to allow us to =
+eventually stop loading those keys into RAM - at that point payments to =
+those keys would no longer be recognised. But there's no equivalent for =
+refund addresses.</div>
+<div><br></div><div>More generally, though we re-used the output =
+structure to define the refund, we didn't (for some reason that I =
+forgot) reuse PaymentDetails, even though the payment details for a =
+refund are indeed PaymentDetails.</div>
+<div><br></div><div>Though I am loathe to go back and redesign this part =
+of BIP 70 so soon after we shipped v1, it seems to me like the refund =
+feature may be hard to implement on phones if there's no time limit for =
+when you can receive a refund. Otherwise a wallet has to be looking out =
+for refunds for payments you may have made years ago. So perhaps we =
+should add a new refund field that embeds a PaymentDetails structure =
+instead of being just a list of outputs.</div>
+<div><br></div><div>We could try and solve this problem some other way =
+purely internally, by doing a kind of wallet-specific swapping process =
+in which things like Bloom filters are calculated without all keys in =
+them being held in memory at once (perhaps caching filters for old parts =
+of the key chain on disk), so you can have "infinite" wallets, but =
+eventually the huge Bloom filters that would result would hurt =
+efficiency in other ways. So key expiry seems pretty fundamental to =
+scalability.</div>
+<div><br></div><div><br></div></div>
+=
+--------------------------------------------------------------------------=
+----<br>_______________________________________________<br>Bitcoin-develop=
+ment mailing list<br><a =
+href=3D"mailto:Bitcoin-development@lists.sourceforge.net">Bitcoin-developm=
+ent@lists.sourceforge.net</a><br>https://lists.sourceforge.net/lists/listi=
+nfo/bitcoin-development<br></blockquote></div><br></body></html>=
+
+--Apple-Mail=_D2489A7D-9452-4AFB-93AD-B96D277E9E79--
+
+--Apple-Mail=_2DBC39B1-0264-4056-A65D-B4F542EA6980
+Content-Transfer-Encoding: 7bit
+Content-Disposition: attachment;
+ filename=signature.asc
+Content-Type: application/pgp-signature;
+ name=signature.asc
+Content-Description: Message signed with OpenPGP using GPGMail
+
+-----BEGIN PGP SIGNATURE-----
+Comment: GPGTools - http://gpgtools.org
+
+iQEcBAEBAgAGBQJTNV1fAAoJEPZykcUXcTkckz8H/1a72ZcHyws4cnG30Hxmqs28
+itIEQ25NP2Ytnj0/ChA8chKpCHkGzgt7ckBVj2nOiQXsy2ttOCCCpqBJ1Oog/WnN
+DKWqpdu0K5Vsj3ZLib7r2FiajM0IDLLZ02kkm59flIlRHMyXB76CPYIZ6axIVfFW
+/Dk9qAaeC0tgEw0VyAujRUdN8nzAEJxBw2pfyP5zmXFGEQV1guiEdLSds7llO4+E
+TIl8LsNXj06jMyYep1474oFGEWz2WlWhYt4VlGuyqEdIFq37fVatAo//0pB+I1QH
+o1ncjL0KuJnK+3cWvrHNldDlSuKP6jJ7fA9ICwN1fOGnAj5FwqN7zc33jFB1h14=
+=EkTQ
+-----END PGP SIGNATURE-----
+
+--Apple-Mail=_2DBC39B1-0264-4056-A65D-B4F542EA6980--
+
+