diff options
author | Tamas Blummer <tamas@bitsofproof.com> | 2014-03-28 12:30:39 +0100 |
---|---|---|
committer | bitcoindev <bitcoindev@gnusha.org> | 2014-03-28 11:30:49 +0000 |
commit | db7806303f9429ebf58150fba38c5f4d460f71b1 (patch) | |
tree | 2a6aea5d3361d3936d61f4bc08e40c7ba1d74220 | |
parent | c2bfc397f163de476c430380e97ce132b051fc42 (diff) | |
download | pi-bitcoindev-db7806303f9429ebf58150fba38c5f4d460f71b1.tar.gz pi-bitcoindev-db7806303f9429ebf58150fba38c5f4d460f71b1.zip |
Re: [Bitcoin-development] BIP 70 refund field
-rw-r--r-- | 6b/de3288ea8edee94aa181ce12ed4db5b175c810 | 236 |
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 a = +payment. </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 <<a = +href=3D"mailto:mike@plan99.net">mike@plan99.net</a>> 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-- + + |