summaryrefslogtreecommitdiff
path: root/af/82783e561fa6cc82b072707003c7df8ff72cd2
blob: 698f069b46d6e71b04187b6ebf971755374cb459 (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
Return-Path: <kanzure@gmail.com>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
	[172.17.192.35])
	by mail.linuxfoundation.org (Postfix) with ESMTPS id D2CCCB00
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Wed,  2 Mar 2016 16:17:32 +0000 (UTC)
X-Greylist: whitelisted by SQLgrey-1.7.6
Received: from mail-ob0-f180.google.com (mail-ob0-f180.google.com
	[209.85.214.180])
	by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 10344157
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Wed,  2 Mar 2016 16:17:32 +0000 (UTC)
Received: by mail-ob0-f180.google.com with SMTP id ts10so202855452obc.1
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Wed, 02 Mar 2016 08:17:31 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
	h=mime-version:in-reply-to:references:date:message-id:subject:from:to; 
	bh=x8EzkCnkYbFWuZJqc3bK+QW/jRY5OMrWupPBau2AUo0=;
	b=iy4HhhKMfocUwaR1MOCairk7zDRuIj9tdAeWJi+8SzRdM+PJWsg+2PoEXI1Th2GATn
	Jy6VPhDtlDN67pZKDFnnCnWzYMx5plj0q/4wx52f9gJefIxocfaFNsib/yWM5VbM9amx
	k/RmFQ8Le9/yFYX6vTmmsHFiFOQ1iwhwo5BBn/joiQl8iliBW4E5mk+GP0iGwwB25se3
	jkTwMwckfWCJJUkUE4tXdnGJBv3tctvpQQV9tv0gOSt4wmd8o5LU4l4bECJUhYN+5cpG
	9R91dSdy2QJPxuD2XmZbY7VbcNt4gN9kMjMZDPW9btcodyb3T++j4tkAHTKKIRJ9WUcS
	g00g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=1e100.net; s=20130820;
	h=x-gm-message-state:mime-version:in-reply-to:references:date
	:message-id:subject:from:to;
	bh=x8EzkCnkYbFWuZJqc3bK+QW/jRY5OMrWupPBau2AUo0=;
	b=bMT+es2CeCUvYdg8mNjA3yCTe9V6bq0GxLkWSl/IGMt9GawN8KvQtmqB2OqHIe/qiP
	NRdoc2pLZylCl7j2dPZ5sfJ1TRVgeUGBgVxy/vnH+AZfkRgY1sf7Pa3ZGTLCiSrMkqbZ
	7nYY+uSm7g5Rfs4bXeTvxairqrYeIFGaO8F9xARcUU2K4uYYpejYqeFLhjbtY8sUxa3S
	5CWIkLPsno4Y4SCm4fG0qNTQqcjFFTFsUk2ib8sYFfK55zuvUVPqpBydHEgOgLCf+9R4
	YuC/bD5zXp9PJOujonGs6Hg9BQSi3pIUL6xDncb3tgsZRZOCs3L0zqQASDTrsqmigQU5
	25Eg==
X-Gm-Message-State: AD7BkJJssiR2kHAQ932K5xOxzfjqssJeWKCRsH3XN4OnelsE/cLM5GjsDEsdryYXnf6sSrVydFlFbprfW6SG/Q==
MIME-Version: 1.0
X-Received: by 10.182.73.225 with SMTP id o1mr22871106obv.80.1456935451379;
	Wed, 02 Mar 2016 08:17:31 -0800 (PST)
Received: by 10.157.17.117 with HTTP; Wed, 2 Mar 2016 08:17:31 -0800 (PST)
In-Reply-To: <201603021456.15820.luke@dashjr.org>
References: <201603021456.15820.luke@dashjr.org>
Date: Wed, 2 Mar 2016 10:17:31 -0600
Message-ID: <CABaSBazpdSMJLf-pbiZ45HJycKVcGG2iqs98E5BeJyqPGZfpTg@mail.gmail.com>
From: Bryan Bishop <kanzure@gmail.com>
To: Bitcoin Dev <bitcoin-dev@lists.linuxfoundation.org>,
	Bryan Bishop <kanzure@gmail.com>
Content-Type: multipart/alternative; boundary=089e0160b7c60a532f052d133877
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
X-Mailman-Approved-At: Wed, 02 Mar 2016 16:31:05 +0000
Subject: Re: [bitcoin-dev] Hardfork to fix difficulty drop algorithm
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: Wed, 02 Mar 2016 16:17:32 -0000

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

On Wed, Mar 2, 2016 at 8:56 AM, Luke Dashjr wrote:

> We are coming up on the subsidy halving this July, and there have been so=
me
>

Luke,

One reason "hard-fork to fix difficulty drop algorithm" could be
controversial is that the proposal involves a hard-fork (perhaps
necessarily so, at my first and second glance). There are a number of
concerns with hard-forks including security, deployment, participation,
readiness measurement, backwards incompatibility, etc. In fact, some
Bitcoin Core developers believe that hard-forks are not a good idea and
should not be used.

# Hard-forks

An interesting (unspoken?) idea I=E2=80=99ve heard from a few people has be=
en =E2=80=9Cwe
should try to avoid all hard-forks because they are backwards
incompatible=E2=80=9D, another thought has been "there should only be one m=
ore
hard-fork if any" and/or "there should only be one hard-fork every 30
years". I also recognize feedback from others who have mentioned "probably
unrealistic to expect that the consensus layer can be solidified this early
in Bitcoin's history". At the same time there are concerns about =E2=80=9Cs=
lippery
slopes=E2=80=9D....

Also, if you are going to participate in a hard-fork then I think you
should make up some proposals for ensure minimal monetary loss on the old
(non-hard-forked) chain, especially since your proposed timeline is so
short seems reasonable to expect even more safety-related due diligence to
minimize money loss (such as using a new address prefix on the hard-forked
upgrade). Anyway, it should be clear that hard-forks are an unsettled issue
and are controversial in ways that I believe you are already aware about.

# Have miners gradually reduce their hashrate instead of using a step
function cliff

adam3us recently proposed that miners who are thinking of turning off
equipment should consider gradually ramping down their hashrate, as a show
of goodwill (and substantial loss to themselves, similar to how they would
incur losses from no longer mining after the halving). This is not
something the consensus algorithm can enforce at the moment, and this
suggestion does not help under adversarial conditions. Since this
suggestion does not require a hard-fork, perhaps some effort should be made
to query miners and figure out if they need assistance with implementing
this (if they happen to be interested).

# Contingency planning

Having said all of the negative things above about hard-forks, I will add
that I do actually like the idea of having backup plans available and
tested and gitian-built many weeks ahead of expected network event dates.
Unfortunately this might encourage partial consensus layer hard-forks in
times of extreme uncertainty such as "emergencies".... creating an even
further emergency.

# "Indefinite backlog growth"

You write "the backlog would grow indefinitely until the adjustment
occurs". This seems to be expected behavior regardless of difficulty
adjustment (in fact, a backlog could continue to grow even once difficulty
adjusts downward), and the consensus protocol does not commit to
information regarding that backlog anyway...

# Difficulty adjustment taking time is expected

This is an expected part of the protocol, it's been mentioned since
forever, it's well known and accounted for. Instead, we should be providing
advice to users about which alternative payment systems they should be
using if they expect instantaneous transaction confirmations. This has been
a long-standing issue, and rolling out a hard-fork is not going to fix
mistaken assumptions from users. They will still think that confirmations
were meant to be instantaneous regardless of how many hard-forks you choose
to deploy.

- Bryan
http://heybryan.org/
1 512 203 0507

--089e0160b7c60a532f052d133877
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">On W=
ed, Mar 2, 2016 at 8:56 AM, Luke Dashjr wrote:<br><blockquote class=3D"gmai=
l_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left-width:1px;border-lef=
t-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">We are c=
oming up on the subsidy halving this July, and there have been some<br></bl=
ockquote><div><br><div>Luke,</div><div><br></div><div>One reason &quot;hard=
-fork to fix difficulty drop algorithm&quot; could be controversial is that=
 the proposal involves a hard-fork (perhaps necessarily so, at my first and=
 second glance). There are a number of concerns with hard-forks including s=
ecurity, deployment, participation, readiness measurement, backwards incomp=
atibility, etc. In fact, some Bitcoin Core developers believe that hard-for=
ks are not a good idea and should not be used.</div><div><br></div><div># H=
ard-forks</div><div><br></div><div>An interesting (unspoken?) idea I=E2=80=
=99ve heard from a few people has been =E2=80=9Cwe should try to avoid all =
hard-forks because they are backwards incompatible=E2=80=9D, another though=
t has been &quot;there should only be one more hard-fork if any&quot; and/o=
r &quot;there should only be one hard-fork every 30 years&quot;. I also rec=
ognize feedback from others who have mentioned &quot;probably unrealistic t=
o expect that the consensus layer can be solidified this early in Bitcoin&#=
39;s history&quot;. At the same time there are concerns about =E2=80=9Cslip=
pery slopes=E2=80=9D....</div><div><br></div><div>Also, if you are going to=
 participate in a hard-fork then I think you should make up some proposals =
for ensure minimal monetary loss on the old (non-hard-forked) chain, especi=
ally since your proposed timeline is so short seems reasonable to expect ev=
en more safety-related due diligence to minimize money loss (such as using =
a new address prefix on the hard-forked upgrade). Anyway, it should be clea=
r that hard-forks are an unsettled issue and are controversial in ways that=
 I believe you are already aware about.</div><div><br></div><div># Have min=
ers gradually reduce their hashrate instead of using a step function cliff<=
/div><div><br></div><div>adam3us recently proposed that miners who are thin=
king of turning off equipment should consider gradually ramping down their =
hashrate, as a show of goodwill (and substantial loss to themselves, simila=
r to how they would incur losses from no longer mining after the halving). =
This is not something the consensus algorithm can enforce at the moment, an=
d this suggestion does not help under adversarial conditions. Since this su=
ggestion does not require a hard-fork, perhaps some effort should be made t=
o query miners and figure out if they need assistance with implementing thi=
s (if they happen to be interested).</div><div><br></div><div># Contingency=
 planning</div><div><br></div><div>Having said all of the negative things a=
bove about hard-forks, I will add that I do actually like the idea of havin=
g backup plans available and tested and gitian-built many weeks ahead of ex=
pected network event dates. Unfortunately this might encourage partial cons=
ensus layer hard-forks in times of extreme uncertainty such as &quot;emerge=
ncies&quot;.... creating an even further emergency.</div><div><br></div><di=
v># &quot;Indefinite backlog growth&quot;</div><div><br></div><div>You writ=
e &quot;the backlog would grow indefinitely until the adjustment occurs&quo=
t;. This seems to be expected behavior regardless of difficulty adjustment =
(in fact, a backlog could continue to grow even once difficulty adjusts dow=
nward), and the consensus protocol does not commit to information regarding=
 that backlog anyway...</div><div><br></div><div># Difficulty adjustment ta=
king time is expected</div><div><br></div><div>This is an expected part of =
the protocol, it&#39;s been mentioned since forever, it&#39;s well known an=
d accounted for. Instead, we should be providing advice to users about whic=
h alternative payment systems they should be using if they expect instantan=
eous transaction confirmations. This has been a long-standing issue, and ro=
lling out a hard-fork is not going to fix mistaken assumptions from users. =
They will still think that confirmations were meant to be instantaneous reg=
ardless of how many hard-forks you choose to deploy.</div><div><br></div></=
div></div><div class=3D"gmail_signature">- Bryan<br><a href=3D"http://heybr=
yan.org/" target=3D"_blank">http://heybryan.org/</a><br>1 512 203 0507</div=
>
</div></div>

--089e0160b7c60a532f052d133877--