summaryrefslogtreecommitdiff
path: root/46/7ed27b0958c387481c38ca9da8287ceca7d45c
blob: 5659b107e734b9a54f7aa96e9963af43c07435aa (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
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
Received: from sog-mx-1.v43.ch3.sourceforge.com ([172.29.43.191]
	helo=mx.sourceforge.net)
	by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
	(envelope-from <tamas@bitsofproof.com>) id 1WTWfs-0000Jp-Qd
	for bitcoin-development@lists.sourceforge.net;
	Fri, 28 Mar 2014 13:18:20 +0000
X-ACL-Warn: 
Received: from wp059.webpack.hosteurope.de ([80.237.132.66])
	by sog-mx-1.v43.ch3.sourceforge.com with esmtps (TLSv1:AES256-SHA:256)
	(Exim 4.76) id 1WTWfq-0006Cu-B9
	for bitcoin-development@lists.sourceforge.net;
	Fri, 28 Mar 2014 13:18:20 +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 1WTWfj-0005bQ-IA; Fri, 28 Mar 2014 14:18:11 +0100
Content-Type: multipart/signed;
	boundary="Apple-Mail=_B4CEEEA7-9179-46E3-91B8-E37893293273";
	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: <612FFAAD-14FF-4261-927D-BD2E0F287257@bitsofproof.com>
Date: Fri, 28 Mar 2014 14:18:10 +0100
Message-Id: <D7D06593-1987-490A-8DCD-21922E022E39@bitsofproof.com>
References: <CANEZrP0AwR3WgHfwYWcrC9Z_MHPDwymWXAQwp7D8XZ+o2FsK8g@mail.gmail.com>
	<612FFAAD-14FF-4261-927D-BD2E0F287257@bitsofproof.com>
To: Mike Hearn <mike@plan99.net>
X-Mailer: Apple Mail (2.1510)
X-bounce-key: webpack.hosteurope.de; tamas@bitsofproof.com; 1396012698;
	e7308740; 
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: 1WTWfq-0006Cu-B9
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 13:18:21 -0000


--Apple-Mail=_B4CEEEA7-9179-46E3-91B8-E37893293273
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_AFDD57A5-2509-47EB-A846-8FD8FB36ABE5"


--Apple-Mail=_AFDD57A5-2509-47EB-A846-8FD8FB36ABE5
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=iso-8859-1

May I ask how the current payment protocol is supposed to handle =
salaries? I hope you do not assume the employee creates a payment =
request, since he does not
even calculate the amount. There you go where a channel I described is =
definitelly needed.

Tamas Blummer
http://bitsofproof.com

On 28.03.2014, at 12:30, Tamas Blummer <tamas@bitsofproof.com> wrote:

> 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.
>=20
> 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
>=20
> Regards,
>=20
> Tam=E1s Blummer
> http://bitsofproof.com
>=20
> On 28.03.2014, at 12:07, Mike Hearn <mike@plan99.net> wrote:
>=20
>> 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
>=20


--Apple-Mail=_AFDD57A5-2509-47EB-A846-8FD8FB36ABE5
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; ">May I =
ask how the current payment protocol is supposed to handle salaries? I =
hope you do not assume the employee creates a payment request, since he =
does not<div>even calculate the amount. There you go where a channel I =
described is definitelly needed.<div apple-content-edited=3D"true"><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; ">Tamas 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:30, Tamas Blummer &lt;<a =
href=3D"mailto:tamas@bitsofproof.com">tamas@bitsofproof.com</a>&gt; =
wrote:</div><br class=3D"Apple-interchange-newline"><blockquote =
type=3D"cite"><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Diso-8859-1"><div 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"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"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"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"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"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"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><a =
href=3D"https://lists.sourceforge.net/lists/listinfo/bitcoin-development">=
https://lists.sourceforge.net/lists/listinfo/bitcoin-development</a><br></=
blockquote></div><br></div></blockquote></div><br></div></body></html>=

--Apple-Mail=_AFDD57A5-2509-47EB-A846-8FD8FB36ABE5--

--Apple-Mail=_B4CEEEA7-9179-46E3-91B8-E37893293273
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

iQEcBAEBAgAGBQJTNXaTAAoJEPZykcUXcTkcmn8H/RkR4nnfteNlFoy1+lX2VDIw
KudvgzRrSgZkXgi2XllnuioG5n+Jz8B5V0HIvvnSN2J3v/m8dO6etQBvHP2uvDR1
lFAlaAYmpFk20WvqexdpPIaDnX0QU5Dc2vlVaTU1k1V934h3pxxQrw1VLqLUDQW+
V6q2fDBAzSeFfYSvCv3hKxNZDvMA8LPu4CmqtGwbK89/g2CUadRQ8V3Gr/LlsvlB
JorJ1T/I6LmHDc8EDP6Vea6uG1V2AAe8mLCY4Du3qgJpbkdsAfFQsOHFTxlvvG4z
OC85V5CealoUbnvNw5tL6BRNEbJ+tHG0fBmpJ0/HcXC5R5NOf/cb9eS1dgZGh5o=
=nbQH
-----END PGP SIGNATURE-----

--Apple-Mail=_B4CEEEA7-9179-46E3-91B8-E37893293273--