summaryrefslogtreecommitdiff
path: root/b3/35401b308070238179e53bebbc131bd65777b3
blob: 1aba12c97a1ff022e5b7a2d4408cef2651b9547f (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
Return-Path: <xor@freenetproject.org>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
	[172.17.192.35])
	by mail.linuxfoundation.org (Postfix) with ESMTPS id 0860026C
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Fri, 21 Aug 2015 00:04:02 +0000 (UTC)
X-Greylist: from auto-whitelisted by SQLgrey-1.7.6
Received: from smtprelay03.ispgateway.de (smtprelay03.ispgateway.de
	[80.67.31.37])
	by smtp1.linuxfoundation.org (Postfix) with ESMTPS id C8E45131
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Fri, 21 Aug 2015 00:04:00 +0000 (UTC)
Received: from [77.177.152.235] (helo=anonymous)
	by smtprelay03.ispgateway.de with esmtpsa
	(TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (Exim 4.84)
	(envelope-from <xor@freenetproject.org>)
	id 1ZSZmx-0003rg-E2; Fri, 21 Aug 2015 02:02:31 +0200
From: xor <xor@freenetproject.org>
To: bitcoin-dev@lists.linuxfoundation.org, Mike Hearn <hearn@vinumeris.com>,
	Gavin Andresen <gavinandresen@gmail.com>
Reply-To: xor@freenetproject.org
Date: Fri, 21 Aug 2015 02:03:19 +0200
Message-ID: <2872462.P4u4bhk3zl@1337h4x0r>
Organization: Freenet Project
User-Agent: KMail/4.13.3 (Linux/3.13.0-62-generic; KDE/4.13.3; x86_64; ; )
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="nextPart24850324.8NVn8fVPPh";
	micalg="pgp-sha256"; protocol="application/pgp-signature"
X-Df-Sender: eG9yQGZyZWVtYWlsLmJvZ2VydC5kZQ==
X-Spam-Status: No, score=-1.2 required=5.0 tests=BAYES_05,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: [bitcoin-dev] Analyzing mathematical / scientific sanity of XT's
	foundation (BIP101)
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: Fri, 21 Aug 2015 00:04:02 -0000


--nextPart24850324.8NVn8fVPPh
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="us-ascii"

Hello,

For sake of peace, I wanted to give a chance to XT's block size growth =
efforts=20
by actually *reading* BIP101 [1] which seems to be their specification.=

Thus, please read this mail as something which aims to establish peacef=
ul=20
cooperation between the non-XT and XT community; not as something which=
 wants=20
to brush off BIP101 :)

Please also be aware that I am an outside non-Bitcoin developer, and th=
us=20
judge the document merely from the stuff which it actually contains, no=
t from=20
discussions during its development.
I hope this actually allows increased objectivity: A scientific documen=
t=20
such as BIP101 should be fully self-contained.

BIP101 proposes this:
> The maximum size shall be 8,000,000 bytes at a timestamp of 2016-01-1=
1
> 00:00:00 UTC (timestamp 1452470400), and shall double every 63,072,00=
0
> seconds (two years, ignoring leap years), until 2036-01-06 00:00:00 U=
TC
> (timestamp 2083190400). The maximum size of blocks in between doublin=
gs
> will increase linearly based on the block's timestamp. The maximum si=
ze of
> blocks after 2036-01-06 00:00:00 UTC shall be 8,192,000,000 bytes.

I.e. a fixed function instead of adaptive, demand-based growth.
Let us for a moment give the benefit of doubt and blindly assume that a=
 fixed=20
function is better than the adaptive growth which I advocated [2].

If we ignore the reasons [3] behind the choice of the initial value of =
8MB=20
for simplicity, what this function aims to model is this:
> The doubling interval was chosen based on long-term growth trends for=
 CPU
> power, storage, and Internet bandwidth. The 20-year limit was chosen
> because exponential growth cannot continue forever. If long-term tren=
ds do
> not continue, maximum block sizes can be reduced by miner consensus (=
a
> soft-fork).

So you're trying to match a natural process of resource growth with a b=
ounded=20
exponential growth function. I would blind-guess the natural growth to =
be=20
something like [4] or [5]. Your function is not symmetrical, so it is f=
or sure=20
not aims to be [4], rather maybe close to [5] ?

Let us blindly assume it is a honorable and adequate way of limiting re=
source=20
usage to try to limit usage of a resource (=3D block size) to a functio=
n which=20
matches measured natural supply of the resource (=3D available CPU / st=
orage /=20
network as the proposed function aims to model).
We can probably all say that this is a standard scientific behavior, an=
d used=20
in many systems.

Now what is also the mathematical / scientific standard is this:
If you aim to match a natural dataset with a model function of it, you=20=

provide:

1) a plot of the measurements of the natural data you're trying to matc=
h.=20
I.e. you plot your source data behind "based on long-term growth trends=
 for=20
CPU power, storage, and Internet bandwidth". I am unable to locate such=
 a plot=20
in the BIP101 document; and also not a link to the raw source data. Can=
 you=20
please provide at least the raw data, if not a plot?

2) a plot of your model function. Also cannot find this in BIP101. Can =
you=20
please provide it?

3) a joined plot of 1 and 2. This is what will prove whether your model=
 is=20
adequate: If the source data and your model function match, it is. This=
 is the=20
central thing I am missing in BIP101.

I would be happy if you could provide the plots, or at least the raw da=
ta. I=20
would love to offer help with GnuPlot, but this will take some weeks [6=
].

Let me stress further possible mathematical problems which show why the=
 plots=20
are important for deciding whether BIP101 is a good idea:

Once we have a plot of the functions, the central question will be this=
:
Has the natural source data sufficiently revealed its saturation curve =
so we=20
can guess its defining constants?
This is important because: While the logistic function [4] seems to be=20=

symmetrical, and thus the constants are revealed without nature reachin=
g=20
saturation yet, it is quite possible that the natural growth of CPU / d=
isk /=20
network is rather a generalised logistic function [5] which is not=20
symmetrical. Then we would have to wait until saturation starts so we c=
an=20
guess the constants needed to model it.

Thus, if natural growth has not reached the beginning of saturation yet=
, and=20
the saturation curve cannot be guessed, it is questionable of whether B=
IP101=20
is adequate: It is then possible that natural saturation is slower than=
=20
BIP101-saturation (=3D more resources will be available than consumed),=
 and in=20
the future we will reach a situation where blocks are smaller than the =
natural=20
capacity again.
Then the whole discussion to increase block size will happen again - bu=
t=20
possibly with a much larger economy behind Bitcoin, and thus much less=20=

possibility of reaching consensus.

Thus, in conclusion, please:
=2D provide plots, or at least data.
=2D once you have the plots, be open to scientifically admit that BIP101 =
might=20
be insufficient if the plots show the open questions I have just elabor=
ated. I=20
am also open to admitting that your data is sufficient from what I can =
say=20
:)

DISCLAIMER: I am in no way good at math. Hence please only use my elabo=
rations=20
to disprove stuff, not to prove it.


Greetings,
=09xor, a developer for the anonymous P2P network https://freenetprojec=
t.org/
       (while it existed for 16 years, we only have 3 months of funding=
 left,
        so please excuse me abusing this publicity to say that we accep=
t
        Bitcoin donations :)


[1]=20
https://github.com/bitcoin/bips/blob/a409100854f52454b0ba30f98f8f5e5856=
95ec0e/bip-0101.mediawiki

[2] http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-August/=
010262.html

[3]
> The initial size of 8,000,000 bytes was chosen after testing the curr=
ent
> reference implementation code with larger block sizes and receiving
> feedback from miners on bandwidth-constrained networks (in particular=
,
> Chinese miners behind the Great Firewall of China).
Notice: Similar to what is said in the main part of the mail about data=
 and=20
plots, it would be nice to provide source data and plots for this as we=
ll.

[4] https://en.wikipedia.org/wiki/Logistic_function

[5] https://en.wikipedia.org/wiki/Generalised_logistic_function

[6] I'm busy with finishing my bachelor's thesis for the next two weeks=
, which=20
is rather very important to me :) Afterwards, I am willing to help with=
=20
GnuPlot. But I think it is crucial to resolve the fears of the communit=
y much=20
sooner, so you should maybe consider plotting this yourself.

--nextPart24850324.8NVn8fVPPh
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part.
Content-Transfer-Encoding: 7Bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)

iQIcBAABCAAGBQJV1mrLAAoJEMtmZ+8tjWt53NwP/3DIbmG6UQj5MpQ2hhe07N+k
R2SFNaOW4iOHy1QgDTGVnFaVZ4b1U/+OYevGlXF8px7jxhMW+sNpKuKh3lztjHZq
h0cJxB/x5nbVPXhcrrFUGCu1ONpMUIwylsqaG1AGsR5eSRGOaeleGwqG8sf0tEi3
f6416xz+RI/LFUO5oikoGiq5dkSUmyhj9lZYprHpYBmDaCpcP38PtvUhEZmkAAR6
OVIQJKqQtA/L8rWWz4YNW5TM2vRF7Vs2fIOJGV4ES6Zcq8SNj9YUq1T4yZua5GhZ
ssFC19uNoRWAEOQEOCToOfq3EgxKXpKKef+cC7w2i25RFe3E4oNtTMHKBaorLBbq
3Fym6+gn9fp6v7iyRnrJUsajKafl+243lgVdyL9ztMrTeG3asheqVwJ79l0swQDG
bE7qVefdeJmd4wtnZLfKIjOme5ch9n88UMmJam1hQcC2SBDrJq9NrR6/Ax5lofgo
8CC9+z6w0eFhkmcgMqv6eMbYfi+umJLeb668Thu7Gyaalx/zs6uTYx/a3UgDmYeh
7RI3d71HLNdvaIPhsPlExyuASAugjEK8SqgShIn7i42ON4KDJPOiBHCbMtkBUy2A
h/9DBkXXv+A+vxU8QCdjKe4nGq8UxOeXrE4KWqGjBnjuFQRdFeMabBKmE2QtXS//
iAaMWzIB6CymAAzb08Ms
=QfYP
-----END PGP SIGNATURE-----

--nextPart24850324.8NVn8fVPPh--