summaryrefslogtreecommitdiff
path: root/cd/192cbc14965f9bfacf7a46cff8e72db7e1362f
blob: 09ab7bb7ed17b4caf5854ca3fb1cc96c158b5d23 (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
Return-Path: <rodney.morris@gmail.com>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
	[172.17.192.35])
	by mail.linuxfoundation.org (Postfix) with ESMTPS id 817D29C
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Mon, 17 Aug 2015 11:57:49 +0000 (UTC)
X-Greylist: whitelisted by SQLgrey-1.7.6
Received: from mail-ig0-f172.google.com (mail-ig0-f172.google.com
	[209.85.213.172])
	by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 8B85117F
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Mon, 17 Aug 2015 11:57:48 +0000 (UTC)
Received: by igxp17 with SMTP id p17so53720604igx.1
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Mon, 17 Aug 2015 04:57:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:date:message-id:subject:from:to:content-type;
	bh=gq0+4hcY5NFNGvxQE8RLDHH5IDeJV6bXC51yKXy/P6k=;
	b=lfus97CIbtygvZmJqj7Wc2rDk+9E0JNvsthkQzU/NXIpcJfI+BNPbnsTHFWCrVV9H6
	76whCyZDZrs/x5dnsu8aTBLxIaDNdZ23m3aaEHPluI5HFaUz0zkF87ikLwxyVGFvR+mU
	4DBTfhuSoLfxO0/MGZbupNzA88TcqsKlLLPXwrjsCGUKIsBw6Fp6+lGiEFG3Nuy66Zvt
	TlWDvngsdq3G6IT0X6PkX/+tYfTNgH+jR47CFGb0ovPNztHoWeVaVub/gZ76J6KVVXbu
	QuwI+xTsh+9xCW7tShDwdGxmJS5ELLdOErxyoXoAIb4xZxh5MkZ5CEnOl5jZZvOGuVEK
	GjzQ==
MIME-Version: 1.0
X-Received: by 10.50.7.35 with SMTP id g3mr15557781iga.39.1439812667943; Mon,
	17 Aug 2015 04:57:47 -0700 (PDT)
Received: by 10.79.22.198 with HTTP; Mon, 17 Aug 2015 04:57:47 -0700 (PDT)
Date: Mon, 17 Aug 2015 21:57:47 +1000
Message-ID: <CABerxhEwA7Pz0hdSuOf+RwWZiZpY1fSArB+UiyVUwr6S2fr3vQ@mail.gmail.com>
From: Rodney Morris <rodney.morris@gmail.com>
To: bitcoin-dev@lists.linuxfoundation.org
Content-Type: multipart/alternative; boundary=089e0122eda89db35a051d8082c6
X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,
	DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_LOW
	autolearn=ham version=3.3.1
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
	smtp1.linux-foundation.org
Subject: Re: [bitcoin-dev] Dynamically Controlled Bitcoin Block Size Max Cap
X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Bitcoin Development Discussion <bitcoin-dev.lists.linuxfoundation.org>
List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>,
	<mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe>
List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/>
List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org>
List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help>
List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>,
	<mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe>
X-List-Received-Date: Mon, 17 Aug 2015 11:57:49 -0000

--089e0122eda89db35a051d8082c6
Content-Type: text/plain; charset=UTF-8

Words cannot capture how much I wish Satoshi had put logic like this (or
even just a simple block size doubling every reward halving) in place when
he put in the "temporary" 1MB anti-spam block size limit...

I see problems to this approach.  The biggest one I see is that a miner
with 11% of hash power could sabotage block size increases by only ever
mining empty blocks.

I haven't run any statistics or simulations, but I'm concerned that the
interplay between the random distribution of transaction arrival and the
random distribution of block times may lead to false signals.

A 90% full block 1 minute after the previous block is a more "serious"
problem than a 90% full block 30 minutes after the previous block.  A 90%
full block after a 90% full block is a more "serious" problem than a 90%
full block after an empty block.

I would expect a robust approach in this manner to look at block sizes
weighted by block times, but this is an interesting proposal regardless.

But I think you'll run up against one of the great schisms in this debate -
those that believe blocks should always be full (or close to it), to
encourage a "fee market" and to encourage off-chain transactions, and those
that think that the blockchain should be useable by almost anyone for
almost anything, implying there should always be spare space in blocks,
with off-chain transactions reserved for microtransactions and zero-conf
(and possibly low-fee transactions).  At least, that's my take on it.

Rodney



>
>
> Date: Mon, 17 Aug 2015 11:51:26 +0100
> From: Btc Drak <btcdrak@gmail.com>
> To: Patrick Strateman <patrick.strateman@gmail.com>
> Cc: Bitcoin Dev <bitcoin-dev@lists.linuxfoundation.org>
> Subject: Re: [bitcoin-dev] Dynamically Controlled Bitcoin Block Size
>         Max Cap
> Message-ID:
>         <CADJgMzvV7cSW9aBnAf5zX7FDxN5E=AW=rET2i9EnysLao=
> vVyw@mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> On Mon, Aug 17, 2015 at 10:59 AM, Patrick Strateman via bitcoin-dev <
> bitcoin-dev@lists.linuxfoundation.org> wrote:
> > Nobody is going to click that...
>
> I guess I am nobody. Here's a copy of the text:-
>
> *Dynamically Controlled Bitcoin Block Size Max Cap
> <http://upalc.com/maxblocksize.php>*
>
> *Assumption*: This article is for those, who already understand the bitcoin
> protocol and aware of the block size controversy. Details of the problem
> statement can be found in BIP 100
> <http://gtf.org/garzik/bitcoin/BIP100-blocksizechangeproposal.pdf>.
> Satoshi's opinion regarding block size can be found here
> <https://bitcointalk.org/index.php?topic=1347.msg15366#msg15366>. I will
> be
> directly going into the solution without explaining the problem in details.
>
>
> *Solution*: Difficulty changes at every 2016 block, i.e. at every 2016
> block each full node does a calculation to find the next target. We will do
> just another calculation here. Nodes will also calculate what % of blocks
> in the last difficulty period is higher than 90% of the maximum block size,
> which is 1 MB for now. If it is found that more than 90% blocks in the last
> difficulty period is higher than 90% of the maximum block size, then double
> the maximum block size. If not, then calculate what % of blocks in the last
> difficulty period is less than 50% of the maximum block size. If it is
> higher than 90%, then half the maximum block size. If none of the above
> condition satisfies, keep the maximum block size as it is.
>
> Please note that, while calculating the % of blocks, it is better to take
> into account the first 2000 of the 2016, than the whole of 2016. This helps
> to avoid the calculation mistake if some of the last few blocks get
> orphaned.
>
>
> *Reasoning*: This solution is derived directly from the indication of the
> problem. If transaction volume increases, then we will naturally see bigger
> blocks. On the contrary, if there are not enough transaction volume, but
> maximum block size is high, then only few blocks may sweep the mempool.
> Hence, if block size is itself taken into consideration, then maximum block
> size can most rationally be derived. Moreover, this solution not only
> increases, but also decreases the maximum block size, just like difficulty.
>
>
> *Other Solutions of this Problem*:-
>
> Making Decentralized Economic Policy
> <http://gtf.org/garzik/bitcoin/BIP100-blocksizechangeproposal.pdf> - by
> Jeff Garzik
>
> Elastic block cap with rollover penalties
> <https://bitcointalk.org/index.php?topic=1078521> ? by Meni Rosenfeld
>
> Increase maximum block size
> <https://github.com/bitcoin/bips/blob/master/bip-0101.mediawiki> - by
> Gavin
> Andresen
>
> Block size following technological growth
> <https://gist.github.com/sipa/c65665fc360ca7a176a6> - by Pieter Wuille
>
> The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments
> <https://lightning.network/lightning-network-paper.pdf> - by Joseph Poon &
> Thaddeus Dryja
>
>
> Please share your opinion regarding this solution below. For mail
> communication, feel free to write me at bitcoin [at] upalc.com.
>
>

--089e0122eda89db35a051d8082c6
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote"><div=
>Words cannot capture how much I wish Satoshi had put logic like this (or e=
ven just a simple block size doubling every reward halving) in place when h=
e put in the &quot;temporary&quot; 1MB anti-spam block size limit...</div><=
div><br></div><div>I see problems to this approach.=C2=A0 The biggest one I=
 see is that a miner with 11% of hash power could sabotage block size incre=
ases by only ever mining empty blocks.</div><div><br></div><div>I haven&#39=
;t run any statistics or simulations, but I&#39;m concerned that the interp=
lay between the random distribution of transaction arrival and the random d=
istribution of block times may lead to false signals.</div><div><br></div><=
div>A 90% full block 1 minute after the previous block is a more &quot;seri=
ous&quot; problem than a 90% full block 30 minutes after the previous block=
.=C2=A0 A 90% full block after a 90% full block is a more &quot;serious&quo=
t; problem than a 90% full block after an empty block.</div><div><br></div>=
<div>I would expect a robust approach in this manner to look at block sizes=
 weighted by block times, but this is an interesting proposal regardless.</=
div><div><br></div><div>But I think you&#39;ll run up against one of the gr=
eat schisms in this debate - those that believe blocks should always be ful=
l (or close to it), to encourage a &quot;fee market&quot; and to encourage =
off-chain transactions, and those that think that the blockchain should be =
useable by almost anyone for almost anything, implying there should always =
be spare space in blocks, with off-chain transactions reserved for microtra=
nsactions and zero-conf (and possibly low-fee transactions).=C2=A0 At least=
, that&#39;s my take on it.</div><div><br></div><div>Rodney</div><div><br><=
/div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0 0=
 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br><br>
Date: Mon, 17 Aug 2015 11:51:26 +0100<br>
From: Btc Drak &lt;<a href=3D"mailto:btcdrak@gmail.com">btcdrak@gmail.com</=
a>&gt;<br>
To: Patrick Strateman &lt;<a href=3D"mailto:patrick.strateman@gmail.com">pa=
trick.strateman@gmail.com</a>&gt;<br>
Cc: Bitcoin Dev &lt;<a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org=
">bitcoin-dev@lists.linuxfoundation.org</a>&gt;<br>
Subject: Re: [bitcoin-dev] Dynamically Controlled Bitcoin Block Size<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 Max Cap<br>
Message-ID:<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 &lt;CADJgMzvV7cSW9aBnAf5zX7FDxN5E=3DAW=3DrET2i9=
EnysLao=3D<a href=3D"mailto:vVyw@mail.gmail.com">vVyw@mail.gmail.com</a>&gt=
;<br>
Content-Type: text/plain; charset=3D&quot;utf-8&quot;<br>
<br>
On Mon, Aug 17, 2015 at 10:59 AM, Patrick Strateman via bitcoin-dev &lt;<br=
>
<a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-dev@lists.=
linuxfoundation.org</a>&gt; wrote:<br>
&gt; Nobody is going to click that...<br>
<br>
I guess I am nobody. Here&#39;s a copy of the text:-<br>
<br>
*Dynamically Controlled Bitcoin Block Size Max Cap<br>
&lt;<a href=3D"http://upalc.com/maxblocksize.php" rel=3D"noreferrer" target=
=3D"_blank">http://upalc.com/maxblocksize.php</a>&gt;*<br>
<br>
*Assumption*: This article is for those, who already understand the bitcoin=
<br>
protocol and aware of the block size controversy. Details of the problem<br=
>
statement can be found in BIP 100<br>
&lt;<a href=3D"http://gtf.org/garzik/bitcoin/BIP100-blocksizechangeproposal=
.pdf" rel=3D"noreferrer" target=3D"_blank">http://gtf.org/garzik/bitcoin/BI=
P100-blocksizechangeproposal.pdf</a>&gt;.<br>
Satoshi&#39;s opinion regarding block size can be found here<br>
&lt;<a href=3D"https://bitcointalk.org/index.php?topic=3D1347.msg15366#msg1=
5366" rel=3D"noreferrer" target=3D"_blank">https://bitcointalk.org/index.ph=
p?topic=3D1347.msg15366#msg15366</a>&gt;. I will be<br>
directly going into the solution without explaining the problem in details.=
<br>
<br>
<br>
*Solution*: Difficulty changes at every 2016 block, i.e. at every 2016<br>
block each full node does a calculation to find the next target. We will do=
<br>
just another calculation here. Nodes will also calculate what % of blocks<b=
r>
in the last difficulty period is higher than 90% of the maximum block size,=
<br>
which is 1 MB for now. If it is found that more than 90% blocks in the last=
<br>
difficulty period is higher than 90% of the maximum block size, then double=
<br>
the maximum block size. If not, then calculate what % of blocks in the last=
<br>
difficulty period is less than 50% of the maximum block size. If it is<br>
higher than 90%, then half the maximum block size. If none of the above<br>
condition satisfies, keep the maximum block size as it is.<br>
<br>
Please note that, while calculating the % of blocks, it is better to take<b=
r>
into account the first 2000 of the 2016, than the whole of 2016. This helps=
<br>
to avoid the calculation mistake if some of the last few blocks get<br>
orphaned.<br>
<br>
<br>
*Reasoning*: This solution is derived directly from the indication of the<b=
r>
problem. If transaction volume increases, then we will naturally see bigger=
<br>
blocks. On the contrary, if there are not enough transaction volume, but<br=
>
maximum block size is high, then only few blocks may sweep the mempool.<br>
Hence, if block size is itself taken into consideration, then maximum block=
<br>
size can most rationally be derived. Moreover, this solution not only<br>
increases, but also decreases the maximum block size, just like difficulty.=
<br>
<br>
<br>
*Other Solutions of this Problem*:-<br>
<br>
Making Decentralized Economic Policy<br>
&lt;<a href=3D"http://gtf.org/garzik/bitcoin/BIP100-blocksizechangeproposal=
.pdf" rel=3D"noreferrer" target=3D"_blank">http://gtf.org/garzik/bitcoin/BI=
P100-blocksizechangeproposal.pdf</a>&gt; - by<br>
Jeff Garzik<br>
<br>
Elastic block cap with rollover penalties<br>
&lt;<a href=3D"https://bitcointalk.org/index.php?topic=3D1078521" rel=3D"no=
referrer" target=3D"_blank">https://bitcointalk.org/index.php?topic=3D10785=
21</a>&gt; ? by Meni Rosenfeld<br>
<br>
Increase maximum block size<br>
&lt;<a href=3D"https://github.com/bitcoin/bips/blob/master/bip-0101.mediawi=
ki" rel=3D"noreferrer" target=3D"_blank">https://github.com/bitcoin/bips/bl=
ob/master/bip-0101.mediawiki</a>&gt; - by Gavin<br>
Andresen<br>
<br>
Block size following technological growth<br>
&lt;<a href=3D"https://gist.github.com/sipa/c65665fc360ca7a176a6" rel=3D"no=
referrer" target=3D"_blank">https://gist.github.com/sipa/c65665fc360ca7a176=
a6</a>&gt; - by Pieter Wuille<br>
<br>
The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments<br>
&lt;<a href=3D"https://lightning.network/lightning-network-paper.pdf" rel=
=3D"noreferrer" target=3D"_blank">https://lightning.network/lightning-netwo=
rk-paper.pdf</a>&gt; - by Joseph Poon &amp;<br>
Thaddeus Dryja<br>
<br>
<br>
Please share your opinion regarding this solution below. For mail<br>
communication, feel free to write me at bitcoin [at] <a href=3D"http://upal=
c.com" rel=3D"noreferrer" target=3D"_blank">upalc.com</a>.<br>
<br></blockquote></div></div></div>

--089e0122eda89db35a051d8082c6--