summaryrefslogtreecommitdiff
path: root/fb/28eb37ad28a48a87f323f93c6d4ec463877df7
blob: 6ca66560173a747176fcf2403ddbc4ee5ee9dfe5 (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
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
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 <stephencalebmorse@gmail.com>) id 1YrgJC-00024W-JA
	for bitcoin-development@lists.sourceforge.net;
	Mon, 11 May 2015 05:31:18 +0000
Received-SPF: pass (sog-mx-1.v43.ch3.sourceforge.com: domain of gmail.com
	designates 209.85.216.182 as permitted sender)
	client-ip=209.85.216.182;
	envelope-from=stephencalebmorse@gmail.com;
	helo=mail-qc0-f182.google.com; 
Received: from mail-qc0-f182.google.com ([209.85.216.182])
	by sog-mx-1.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128)
	(Exim 4.76) id 1YrgJA-0002ip-Ta
	for bitcoin-development@lists.sourceforge.net;
	Mon, 11 May 2015 05:31:18 +0000
Received: by qcyk17 with SMTP id k17so64073688qcy.1
	for <bitcoin-development@lists.sourceforge.net>;
	Sun, 10 May 2015 22:31:11 -0700 (PDT)
X-Received: by 10.140.43.100 with SMTP id d91mr11401294qga.77.1431322271478;
	Sun, 10 May 2015 22:31:11 -0700 (PDT)
Received: from [10.0.0.7] (c-24-218-184-40.hsd1.nh.comcast.net.
	[24.218.184.40])
	by mx.google.com with ESMTPSA id w67sm9868488qgw.41.2015.05.10.22.31.10
	(version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128);
	Sun, 10 May 2015 22:31:11 -0700 (PDT)
Content-Type: multipart/alternative;
	boundary=Apple-Mail-2CC38370-3669-4500-B390-C55CC1163D67
Mime-Version: 1.0 (1.0)
From: Stephen <stephencalebmorse@gmail.com>
X-Mailer: iPhone Mail (12F70)
In-Reply-To: <554FC36C.80402@certimix.com>
Date: Mon, 11 May 2015 01:31:09 -0400
Content-Transfer-Encoding: 7bit
Message-Id: <82E6CC14-1B3B-4B45-91F2-F19CE89E34A0@gmail.com>
References: <554FC36C.80402@certimix.com>
To: Sergio Lerner <sergiolerner@certimix.com>
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
	(stephencalebmorse[at]gmail.com)
	-0.0 SPF_PASS               SPF: sender matches SPF record
	1.0 HTML_MESSAGE           BODY: HTML included in message
	0.0 MIME_QP_LONG_LINE RAW: Quoted-printable line longer than 76 chars
	-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: 1YrgJA-0002ip-Ta
Cc: "bitcoin-development@lists.sourceforge.net"
	<bitcoin-development@lists.sourceforge.net>
Subject: Re: [Bitcoin-development] A way to create a fee market even without
	a block size limit (2013)
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: Mon, 11 May 2015 05:31:18 -0000


--Apple-Mail-2CC38370-3669-4500-B390-C55CC1163D67
Content-Type: text/plain;
	charset=us-ascii
Content-Transfer-Encoding: quoted-printable

Why do so many tie the block size debate to creating "a fee market", as if o=
ne didn't already exist? Yes, today we frequently see many low priority tran=
sactions included into the next block, but that does not mean there is not a=
 marketplace for block space. It just means miners are not being sufficientl=
y tough to create a *competitive* marketplace.=20

But who are we to say that the marketplace should be more competitive, and t=
o go further and try to force it by altering consensus rules like the block s=
ize limit? If miners want to see more competitive fees, then they need only t=
o alter their block creation protocol.=20

There are many arguments for and against changing the consensus limit on blo=
ck size. I'm simply saying that "to force a marketplace for fees/block space=
" should not be one of them. Let the market develop on it's own.=20

- Stephen



> On May 10, 2015, at 4:45 PM, Sergio Lerner <sergiolerner@certimix.com> wro=
te:
>=20
> Two years ago I presented a new way to create a fee market that does not d=
epend on the block chain limit.
>=20
> This proposal has not been formally analyzed in any paper since then, but I=
 think it holds a good promise to untangle the current problem regarding inc=
reasing the tps and creating the fee market. BTW, think the maximum tps shou=
ld be increased, but not by increasing the block size, but by increasing the=
 block rate (I'll     expose why in my next e-mail).
>=20
> The original post is here (I was overly optimistic back then): https://bit=
cointalk.org/index.php?topic=3D147124.msg1561612#msg1561612
>=20
> I'll summarize it here again, with a little editing and a few more questio=
ns at the end:
>=20
> The idea is simple, but requires a hardfork, but is has minimum impact in t=
he code and in the economics.
>=20
> Solution: Require that the set of fees collected in a block has a dispersi=
on below a threshold. Use, for example, the Coefficient of Variation (http:/=
/en.wikipedia.org/wiki/Coefficient_of_variation). If the CoVar is higher tha=
n a fixed threshold, the block is considered invalid.
>=20
> The Coefficient of variation is computed as the standard deviation over th=
e mean value, so it's very easy to compute. (if the mean is zero, we assume C=
oVar=3D0). Note that the CoVar function does not depend on the scale, so is j=
ust what a coin with a floating price requires.
>=20
> This means that if there are many transactions containing high fees in a b=
lock, then free transactions cannot be included.
> The core devs should tweak the transaction selection algorithm to take int=
o account this maximum bound.
>=20
> Example
>=20
> If the transaction fee set is: 0,0,0,0,5,5,6,7,8,7
> The CoVar is 0.85
> Suppose we limit the CoVar to a maximum of 1.
>=20
> Suppose the transaction fee set is: 0,0,0,0,0,0,0,0,0,10
> Then the CoVar is 3.0
>=20
> In this case the miner should have to either drop the "10" from the fee se=
t or drop the zeros. Obviously the miner will drop some zeros, and choose th=
e set: 0,10, that has a CoVar of 1.
>=20
> Why it reduces the Tx spamming Problem?
>=20
> Using this little modification, spamming users would require to use higher=
 fees, only if the remaining users in the community rises their fees. And mi=
ners won't be able to include an enormous amounts of spamming txs.
>=20
> Why it helps solving the tragedy-of-the-commons fee "problem"?
>=20
> As miners are forced to keep the CoVar below the threshold, if people rise=
s the fees to confirm faster than spamming txs, automatically smamming txs b=
ecome less likely to appear in blocks, and fee-estimators will automatically=
 increase future fees, creating a the desired feedback loop.
>=20
> Why it helps solving the block size problem?
>=20
> Because if we increase the block size, miners that do not care about the f=
ee market won't be able to fill the block with spamming txs and destroy the m=
arket that is being created. This is not a solution against an attacker-mine=
r, which can always fill the block with transactions.
>=20
> Can the system by gamed? Can it be attacked?
>=20
> I don't think so. An attacker would need to spend a high amount in fees to=
 prevent transactions with low fees to be included in a block.=20
> However, a formal analysis would be required. Miller, Gun Sirer, Eyal.. Wa=
nt to give it a try?
>=20
> Can create a positive feedback to a rise the fees to the top or push fess t=
o the bottom?
>=20
> Again, I don't think so. This depends on the dynamics between the each nod=
e's fee estimator and the transaction backlog. MIT guys?=20
>=20
> Doesn't it force miners to run more complex algorithms (such as linear pro=
gramming) to find the optimum tx subset ?
>=20
> Yes, but I don't see it as a drawback, but as a positive stimulus for rese=
archers to develop better tx selection algorithms. Anyway, the greedy algori=
thm of picking the transactions with highest fees fees would be good enough.=
=20
>=20
>=20
> PLEASE don't confuse the acronym CoVar I used here with co-variance.
>=20
> Best regard,
>   Sergio.
>=20
>=20
>=20
> --------------------------------------------------------------------------=
----
> One dashboard for servers and applications across Physical-Virtual-Cloud=20=

> Widest out-of-the-box monitoring support with 50+ applications
> Performance metrics, stats and reports that give you Actionable Insights
> Deep dive visibility with transaction tracing using APM Insight.
> http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development

--Apple-Mail-2CC38370-3669-4500-B390-C55CC1163D67
Content-Type: text/html;
	charset=utf-8
Content-Transfer-Encoding: quoted-printable

<html><head><meta http-equiv=3D"content-type" content=3D"text/html; charset=3D=
utf-8"></head><body dir=3D"auto"><div>Why do so many tie the block size deba=
te to creating "a fee market", as if one didn't already exist? Yes, today we=
 <span style=3D"background-color: rgba(255, 255, 255, 0);">frequently&nbsp;<=
/span>see many low priority transactions included into the next block, but t=
hat does not mean there is not a marketplace for block space. It just means m=
iners are not being sufficiently tough to create a *competitive* marketplace=
.&nbsp;</div><div><br></div><div>But who are we to say that the marketplace s=
hould be more competitive, and to go further and try to force it by altering=
 consensus rules like the block size limit? I<span style=3D"background-color=
: rgba(255, 255, 255, 0);">f miners want to see more competitive fees, then t=
hey need only to alter their block creation protocol.&nbsp;</span></div><div=
><br></div><div>There are many arguments for and against changing the consen=
sus limit on block size. I'm simply saying that "to force a marketplace for f=
ees/block space" should not be one of them. Let the market develop on it's o=
wn.&nbsp;</div><div><br></div><div>- Stephen</div><div><br><br></div><div><b=
r>On May 10, 2015, at 4:45 PM, Sergio Lerner &lt;<a href=3D"mailto:sergioler=
ner@certimix.com">sergiolerner@certimix.com</a>&gt; wrote:<br><br></div><blo=
ckquote type=3D"cite"><div>
 =20

    <meta http-equiv=3D"content-type" content=3D"text/html; charset=3DISO-88=
59-1">
 =20
 =20
    Two years ago I presented a new way to create a fee market that does
    not depend on the block chain limit.<br>
    <br>
    This proposal has not been formally analyzed in any paper since
    then, but I think it holds a good promise to untangle the current
    problem regarding increasing the tps and creating the fee market.
    BTW, think the maximum tps should be increased, but not by
    increasing the block size, but by increasing the block rate (I'll
    expose why in my next e-mail).<br>
    <br>
    The original post is here (I was overly optimistic back then):
    <a class=3D"moz-txt-link-freetext" href=3D"https://bitcointalk.org/index=
.php?topic=3D147124.msg1561612#msg1561612">https://bitcointalk.org/index.php=
?topic=3D147124.msg1561612#msg1561612</a><br>
    <br>
    I'll summarize it here again, with a little editing and a few more
    questions at the end:<br>
    <br>
    The idea is simple, but requires a hardfork, but is has minimum
    impact in the code and in the economics.<br>
    <br>
    Solution: Require that the set of fees collected in a block has a
    dispersion below a threshold. Use, for example, the Coefficient of
    Variation (<a href=3D"http://en.wikipedia.org/wiki/Coefficient_of_variat=
ion" target=3D"_blank">http://en.wikipedia.org/wiki/Coefficient_of_variation=
</a>).
    If the CoVar is higher than a fixed threshold, the block is
    considered invalid.<br>
    <br>
    The Coefficient of variation is computed as the standard deviation
    over the mean value, so it's very easy to compute. (if the mean is
    zero, we assume CoVar=3D0). Note that the CoVar function <b>does not
      depend on the scale</b>, so is just what a coin with a floating
    price requires.<br>
    <br>
    This means that if there are many transactions containing high fees
    in a block, then free transactions cannot be included.<br>
    The core devs should tweak the transaction selection algorithm to
    take into account this maximum bound.<br>
    <br>
    <b>Example</b><br>
    <br>
    If the transaction fee set is: 0,0,0,0,5,5,6,7,8,7<br>
    The CoVar is 0.85<br>
    Suppose we limit the CoVar to a maximum of 1.<br>
    <br>
    Suppose the transaction fee set is: 0,0,0,0,0,0,0,0,0,10<br>
    Then the CoVar is 3.0<br>
    <br>
    In this case the miner should have to either drop the "10" from the
    fee set or drop the zeros. Obviously the miner will drop some zeros,
    and choose the set: 0,10, that has a CoVar of 1.<br>
    <br>
    <b>Why it reduces the Tx spamming Problem?</b><br>
    <br>
    Using this little modification, spamming users would require to use
    higher fees, only if the remaining users in the community rises
    their fees. And miners won't be able to include an enormous amounts
    of spamming txs.<br>
    <br>
    <b>Why it helps solving </b><b>the tragedy-of-the-commons fee
      "problem"?</b><br>
    <br>
    As miners are forced to keep the CoVar below the threshold, if
    people rises the fees to confirm faster than spamming txs,
    automatically smamming txs become less likely to appear in blocks,
    and fee-estimators will automatically increase future fees, creating
    a the desired feedback loop.<br>
    <br>
    <b>Why it helps solving the block size problem?</b><br>
    <br>
    Because if we increase the block size, miners that do not care about
    the fee market won't be able to fill the block with spamming txs and
    destroy the market that is being created. This is not a solution
    against an attacker-miner, which can always fill the block with
    transactions.<br>
    <br>
    <b>Can the system by gamed? Can it be attacked?</b><br>
    <br>
    I don't think so. An attacker would need to spend a high amount in
    fees to prevent transactions with low fees to be included in a
    block. <br>
    However, a formal analysis would be required. Miller, Gun Sirer,
    Eyal.. Want to give it a try?<br>
    <b><br>
      Can create a positive feedback to a rise the fees to the top or
      push fess to the bottom?<br>
      <br>
    </b>Again, I don't think so. This depends on the dynamics between
    the each node's fee estimator and the transaction backlog. MIT guys?
    <br>
    <br>
    <b>Doesn't it force miners to run more complex algorithms (such as
      linear programming) to find the optimum tx subset ?<br>
      <br>
    </b>Yes, but I don't see it as a drawback, but as a positive
    stimulus for researchers to develop better tx selection algorithms.
    Anyway, the greedy algorithm of picking the transactions with
    highest fees fees would be good enough. <br>
    <br>
    <b><br>
      PLEASE don't confuse the acronym CoVar I used here with
      co-variance.</b><br>
    <br>
    Best regard,<br>
    &nbsp;&nbsp;Sergio.<br>
    <br>
    <br>
    <br>
 =20

</div></blockquote><blockquote type=3D"cite"><div><span>--------------------=
----------------------------------------------------------</span><br><span>O=
ne dashboard for servers and applications across Physical-Virtual-Cloud </sp=
an><br><span>Widest out-of-the-box monitoring support with 50+ applications<=
/span><br><span>Performance metrics, stats and reports that give you Actiona=
ble Insights</span><br><span>Deep dive visibility with transaction tracing u=
sing APM Insight.</span><br><span><a href=3D"http://ad.doubleclick.net/ddm/c=
lk/290420510;117567292;y">http://ad.doubleclick.net/ddm/clk/290420510;117567=
292;y</a></span></div></blockquote><blockquote type=3D"cite"><div><span>____=
___________________________________________</span><br><span>Bitcoin-developm=
ent mailing list</span><br><span><a href=3D"mailto:Bitcoin-development@lists=
.sourceforge.net">Bitcoin-development@lists.sourceforge.net</a></span><br><s=
pan><a href=3D"https://lists.sourceforge.net/lists/listinfo/bitcoin-developm=
ent">https://lists.sourceforge.net/lists/listinfo/bitcoin-development</a></s=
pan><br></div></blockquote></body></html>=

--Apple-Mail-2CC38370-3669-4500-B390-C55CC1163D67--