summaryrefslogtreecommitdiff
path: root/dd/211ce0fc7585b6031079691eef26179cee11ca
blob: 18f28d49f1faf537cd863404389ef7921e6781c4 (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
Received: from sog-mx-4.v43.ch3.sourceforge.com ([172.29.43.194]
	helo=mx.sourceforge.net)
	by sfs-ml-3.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
	(envelope-from <tier.nolan@gmail.com>) id 1Yq83n-0005HK-Mj
	for bitcoin-development@lists.sourceforge.net;
	Wed, 06 May 2015 22:44:59 +0000
Received-SPF: pass (sog-mx-4.v43.ch3.sourceforge.com: domain of gmail.com
	designates 209.85.192.46 as permitted sender)
	client-ip=209.85.192.46; envelope-from=tier.nolan@gmail.com;
	helo=mail-qg0-f46.google.com; 
Received: from mail-qg0-f46.google.com ([209.85.192.46])
	by sog-mx-4.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128)
	(Exim 4.76) id 1Yq83m-0006h3-Hg
	for bitcoin-development@lists.sourceforge.net;
	Wed, 06 May 2015 22:44:59 +0000
Received: by qgeb100 with SMTP id b100so12567790qge.3
	for <bitcoin-development@lists.sourceforge.net>;
	Wed, 06 May 2015 15:44:53 -0700 (PDT)
MIME-Version: 1.0
X-Received: by 10.55.31.218 with SMTP id n87mr2163232qkh.99.1430952293200;
	Wed, 06 May 2015 15:44:53 -0700 (PDT)
Received: by 10.140.85.241 with HTTP; Wed, 6 May 2015 15:44:53 -0700 (PDT)
In-Reply-To: <554A91BE.6060105@bluematt.me>
References: <554A91BE.6060105@bluematt.me>
Date: Wed, 6 May 2015 23:44:53 +0100
Message-ID: <CAE-z3OXnjayLUeHBU0hdwU5pKrJ6fpj7YPtGBMQ7hKXG3Sj6hw@mail.gmail.com>
From: Tier Nolan <tier.nolan@gmail.com>
To: Matt Corallo <bitcoin-list@bluematt.me>
Content-Type: multipart/alternative; boundary=001a1147e85e207b540515718b43
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
	(tier.nolan[at]gmail.com)
	-0.0 SPF_PASS               SPF: sender matches SPF record
	1.0 HTML_MESSAGE           BODY: HTML included in message
	-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
	1.2 AWL AWL: Adjusted score from AWL reputation of From: address
X-Headers-End: 1Yq83m-0006h3-Hg
Cc: Bitcoin Dev <bitcoin-development@lists.sourceforge.net>
Subject: Re: [Bitcoin-development] Block Size Increase
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: Wed, 06 May 2015 22:44:59 -0000

--001a1147e85e207b540515718b43
Content-Type: text/plain; charset=UTF-8

On Wed, May 6, 2015 at 11:12 PM, Matt Corallo <bitcoin-list@bluematt.me>
wrote:

> Personally, I'm rather strongly against any commitment to a block size
> increase in the near future.


Miners can already soft-fork to reduce the maximum block size.  If 51% of
miners agree to a 250kB block size, then that is the maximum block size.

The question being discussed is what is the maximum block size merchants
and users will accept.  This puts a reasonable limit on the maximum size
miners can increase the block size to.

In effect, the block size is set by the minimum of the miner's and the
merchants/user's size.min(miner, merchants/users).


> This allows the well-funded Bitcoin ecosystem to continue building
> systems which rely on transactions moving quickly into blocks while
> pretending these systems scale. Thus, instead of working on technologies
> which bring Bitcoin's trustlessness to systems which scale beyond a
> blockchain's necessarily slow and (compared to updating numbers in a
> database) expensive settlement, the ecosystem as a whole continues to
> focus on building centralized platforms and advocate for changes to
> Bitcoin which allow them to maintain the status quo[1].
>

Would you accept a rule that the maximum size is 20MB (doubling every 2
years), but that miners have an efficient method for choosing a lower size?

If miners could specify the maximum block size in their block headers, then
they could coordinate to adjust the block size.  If 75% vote to lower the
size, then it is lowered and vice versa for raiding.

Every 2016 blocks, the votes are counter.  If the 504th lowest of the 2016
blocks is higher than the previous size, then the size is set to that
size.  Similarly, if the 504th highest is lower than the previous size, it
becomes the new size.

There could be 2 default trajectories.  The reference client might always
vote to double the size every 4 years.

To handle large blocks (>32MB) requires a change to the p2p protocol
message size limits, or a way to split blocks over multiple messages.

It would be nice to add new features to any hard-fork.

I favour adding an auxiliary header.  The Merkle root in the header could
be replaced with hash(merkle_root | hash(aux_header)).  This is a fairly
simple change, but helps with things like commitments.  One of the fields
in the auxiliary header could be an extra nonce field.  This would mean
fast regeneration of the merkle root for ASIC miners.  This is a pretty
simple change.

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

<div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_quo=
te">On Wed, May 6, 2015 at 11:12 PM, Matt Corallo <span dir=3D"ltr">&lt;<a =
href=3D"mailto:bitcoin-list@bluematt.me" target=3D"_blank">bitcoin-list@blu=
ematt.me</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=
=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Personally, I&#39;m rather strongly against any commitment to a block size<=
br>
increase in the near future.</blockquote><div><br></div><div>Miners can alr=
eady soft-fork to reduce the maximum block size.=C2=A0 If 51% of miners agr=
ee to a 250kB block size, then that is the maximum block size.<br><br></div=
><div>The question being discussed is what is the maximum block size mercha=
nts and users will accept.=C2=A0 This puts a reasonable limit on the maximu=
m size miners can increase the block size to.<br><br></div><div>In effect, =
the block size is set by the minimum of the miner&#39;s and the merchants/u=
ser&#39;s size.min(miner, merchants/users).<br></div><div>=C2=A0</div><bloc=
kquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #cc=
c solid;padding-left:1ex"> This allows the well-funded Bitcoin ecosystem to=
 continue building<br>
systems which rely on transactions moving quickly into blocks while<br>
pretending these systems scale. Thus, instead of working on technologies<br=
>
which bring Bitcoin&#39;s trustlessness to systems which scale beyond a<br>
blockchain&#39;s necessarily slow and (compared to updating numbers in a<br=
>
database) expensive settlement, the ecosystem as a whole continues to<br>
focus on building centralized platforms and advocate for changes to<br>
Bitcoin which allow them to maintain the status quo[1].<br></blockquote><di=
v><br></div><div>Would you accept a rule that the maximum size is 20MB (dou=
bling every 2 years), but that miners have an efficient method for choosing=
 a lower size?<br><br></div><div>If miners could specify the maximum block =
size in their block headers, then they could coordinate to adjust the block=
 size.=C2=A0 If 75% vote to lower the size, then it is lowered and vice ver=
sa for raiding.<br><br></div><div>Every 2016 blocks, the votes are counter.=
=C2=A0 If the 504th lowest of the 2016 blocks is higher than the previous s=
ize, then the size is set to that size.=C2=A0 Similarly, if the 504th highe=
st is lower than the previous size, it becomes the new size.<br></div><div>=
<br></div><div>There could be 2 default trajectories.=C2=A0 The reference c=
lient might always vote to double the size every 4 years.<br><br></div><div=
>To handle large blocks (&gt;32MB) requires a change to the p2p protocol me=
ssage size limits, or a way to split blocks over multiple messages.<br></di=
v><div><br></div><div>It would be nice to add new features to any hard-fork=
.<br></div><div><br></div><div>I favour adding an auxiliary header.=C2=A0 T=
he Merkle root in the header could be replaced with hash(merkle_root | hash=
(aux_header)).=C2=A0 This is a fairly simple change, but helps with things =
like commitments.=C2=A0 One of the fields in the auxiliary header could be =
an extra nonce field.=C2=A0 This would mean fast regeneration of the merkle=
 root for ASIC miners.=C2=A0 This is a pretty simple change.<br></div></div=
></div></div>

--001a1147e85e207b540515718b43--