summaryrefslogtreecommitdiff
path: root/6b/de3288ea8edee94aa181ce12ed4db5b175c810
blob: db412a9ab875c311a2f31c3c11724093f9acc461 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
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--