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
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
|
Return-Path: <heater@gmail.com>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
[172.17.192.35])
by mail.linuxfoundation.org (Postfix) with ESMTPS id 1DCCE95D
for <bitcoin-dev@lists.linuxfoundation.org>;
Tue, 13 Jun 2017 08:24:47 +0000 (UTC)
X-Greylist: whitelisted by SQLgrey-1.7.6
Received: from mail-pf0-f195.google.com (mail-pf0-f195.google.com
[209.85.192.195])
by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 36A7114E
for <bitcoin-dev@lists.linuxfoundation.org>;
Tue, 13 Jun 2017 08:24:46 +0000 (UTC)
Received: by mail-pf0-f195.google.com with SMTP id s66so4787065pfs.2
for <bitcoin-dev@lists.linuxfoundation.org>;
Tue, 13 Jun 2017 01:24:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
h=mime-version:subject:from:in-reply-to:date
:content-transfer-encoding:message-id:references:to;
bh=pR5Y8Hyiz2rYwE/YJ0Exrnpg0AyZZWixyw1aOOx4ThQ=;
b=fXl2QDL19jsUiU79kOdb0yUFtJLUavD5rS1QcLn4Dgsw5urBewjIWlEKcRnO5uzIeg
SDfmPapwaweCzGLYe2dwjs8ZKhCITc7G3RNlPsYuUn7SIBm4vIPAadrUrr+vc6gRT7lV
4dbuFUtdTupmkJH/MTyrHPKzIJOivm3zlPIDhxdh0ebN39FWG7lD4I07ECChEQk1833C
ffOd8FMZj5IHv0LtSLVT5/FQeaIu0UoEDQ0s8vQg60RmtC2qidFj6eNMiO2KQpDYpCXm
lHZAgWK5HROvNMMYkK4BxaPCXr1xkNQdttGRzNe9OqcoR9sJYIds6p8PlD40qSy1rPuj
pc+A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:mime-version:subject:from:in-reply-to:date
:content-transfer-encoding:message-id:references:to;
bh=pR5Y8Hyiz2rYwE/YJ0Exrnpg0AyZZWixyw1aOOx4ThQ=;
b=XiM58aakDGH+kfQjNo6qks5XWiQvEKokKYm3nWh/NY0x9IVGMSK+tCcTzPERg/g9tL
mtCb1kcUqaltKpvnaYLqAVon6SkNnbfI8CQTrDL3wwZb82lEA/b2h9McWEpetzAh9CXv
X+68s1Vrq4iyifORinydKVeN2uA4dcQ2HO2yTpDjQPVTVIN0IkigYNXMHkMdv9rYH2d6
USJow/2PJU7wB+tnR7UjwajuGUu5ZwaY+56maFCcXztlgQTfwdtAm/kxS/Rn/e6dqe9j
3iDVC8uyrGX2buoegPnVQCWfgPvdVeptl/3cXKLmhL7N/d/bhNtvTASeDeLZnewBroeQ
WF+g==
X-Gm-Message-State: AODbwcCmyKNAA/1jpWQeiWCvqhCjyhhfz4cHcB513zkNycEo7oX4e5Uo
n8vKV6+qoJ0CwipojW79SQ==
X-Received: by 10.84.238.134 with SMTP id v6mr62655864plk.261.1497342285385;
Tue, 13 Jun 2017 01:24:45 -0700 (PDT)
Received: from [192.168.1.102] ([59.56.44.119])
by smtp.gmail.com with ESMTPSA id j6sm27043226pgc.1.2017.06.13.01.24.43
(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
Tue, 13 Jun 2017 01:24:44 -0700 (PDT)
Content-Type: text/plain;
charset=gb2312
Mime-Version: 1.0 (Mac OS X Mail 11.0 \(3431\))
From: Zheming Lin <heater@gmail.com>
In-Reply-To: <A6AE8145-8C8A-44C2-88D3-8574D895AF6B@gmail.com>
Date: Tue, 13 Jun 2017 16:24:41 +0800
Content-Transfer-Encoding: quoted-printable
Message-Id: <E84B5CB9-7288-4773-A9CA-E36072F4953B@gmail.com>
References: <A6AE8145-8C8A-44C2-88D3-8574D895AF6B@gmail.com>
To: bitcoin-dev@lists.linuxfoundation.org
X-Mailer: Apple Mail (2.3431)
X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,
DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM,
RCVD_IN_DNSWL_NONE 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: Tue, 13 Jun 2017 10:13:50 +0000
Subject: Re: [bitcoin-dev] Proposal: Demonstration of Phase in Full Network
Upgrade Activated by Miners
X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Bitcoin Protocol 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: Tue, 13 Jun 2017 08:24:47 -0000
Hi all the developers:
I must clarify that despite the general ideas comes from discussions =
with others. The opinion in replies are only limited to my self.
The old TXs can be re-enable after the fourth stage and just like =
**nothing happened** with the grace periods. The code can be provided =
with the protocol upgrade voting. At the end of the vote, either success =
or failed, we can have old TXs work again. It=A1=AFs like after a long =
time that the block jammed. I think nobody get harmed (Is there? I=A1=AFm =
not so sure about that), that=A1=AFs the purpose.
Thank you for your time and kindly replies. Your opinions are more than =
welcome.
LIN Zheming
> =D4=DA 2017=C4=EA6=D4=C213=C8=D5=A3=AC10:23=A3=ACZheming Lin =
<heater@gmail.com> =D0=B4=B5=C0=A3=BA
>=20
> The BIP is described using Chinese and English. If any part is missing =
or need more specific, please reply. Forgive for my poor English.
>=20
> This method will incorporate any upgrade that affects non-mining =
nodes. They should beware that the rule has been changed.
>=20
> TLDR: Major miners activate and orphan the minor. That ensures all =
miners upgrades. Then invalid the tx from not upgrading nodes. Nodes =
must upgrade (with other protocol upgrade codes) in order to work. Then =
the final miner vote over protocol upgrade, with all nodes has the same =
upgraded codes.
>=20
> <pre>
> BIP: ???
> Title: Demonstration of Phase in Full Network Upgrade Activated by =
Miners
> Author: LIN Zheming
> Status: Draft
> Type: Standards Track
> Created: 2017-06-12
> </pre>
>=20
> =3D=3DSummary=3D=3D
>=20
> =B1=BE=B7=BD=B7=A8=B2=A2=B2=BB=CA=C7=C0=B4=D4=B4=D3=DA=B8=F6=C8=CB=A3=AC=
=B6=F8=CA=C7=D6=D0=CE=C4=B1=C8=CC=D8=B1=D2=C9=E7=C7=F8=D6=D0=BC=AF=CC=E5=D6=
=C7=BB=DB=B5=C4=BD=E1=B9=FB=A1=A3<br/>
> This idea was not created by an individual but is a product of =
collaboration in the Chinese bitcoin community between different =
interest groups.<br/>
>=20
> =
=D5=E2=CA=C7=D2=BB=D6=D6=D4=DA=D0=AD=D2=E9=C9=FD=BC=B6=CA=B1=A3=AC=B6=D4=C8=
=AB=CD=F8=CD=DA=BF=F3=BA=CD=B7=C7=CD=DA=BF=F3=BD=DA=B5=E3=BD=F8=D0=D0=B1=A3=
=BB=A4=BA=CD=BC=A4=C0=F8=B5=C4=B7=BD=B7=A8=A3=AC=B1=DC=C3=E2=B2=BB=B2=CE=D3=
=EB=CD=DA=BF=F3=B5=C4=BD=DA=B5=E3=C3=BB=D3=D0=C9=FD=BC=B6=B5=C4=B6=AF=C1=A6=
=B6=F8=CA=DC=B5=BD=CB=F0=CA=A7=A1=A3<br/>
> This method is put forth to incentivize and to protect mining nodes =
and non-mining nodes during protocol upgrading. With this incentive =
mechanism, the non-mining nodes will not suffer monetary loss from chain =
splitting.<br/>
>=20
> =
=B7=A2=D0=C5=BA=C5=B5=C4=B6=E0=CA=FD=BF=F3=B9=A4=D4=DA=B4=EF=B5=BD=BC=A4=BB=
=EE=CC=F5=BC=FE=BA=F3=B5=DA=D2=BB=B8=F6=BF=ED=CF=DE=C6=DA=A3=A8=D2=BB=B8=F6=
=C4=D1=B6=C8=D6=DC=C6=DA=A3=A9=BA=F3=C9=E8=D6=C3=D0=C2=C7=F8=BF=E9=B0=E6=B1=
=BE=BA=C5=A3=AC=B9=C2=C1=A2=CE=B4=C9=FD=BC=B6=BF=F3=B9=A4=B5=C4=B5=CD=B0=E6=
=B1=BE=BA=C5=B5=C4=BF=E9=A1=A3=CD=A8=B9=FD=D7=EE=B3=F5=B5=C4=D6=D0=B1=BE=B4=
=CF=B9=B2=CA=B6=A3=AC=D4=DA=B5=DA=D2=BB=B8=F6=BF=ED=CF=DE=C6=DA=BD=E1=CA=F8=
=BA=F3=A3=AC=CB=F9=D3=D0=BF=F3=B9=A4=BD=AB=C9=FD=BC=B6=D6=C1=D7=EE=D0=C2=B0=
=E6=B1=BE=BB=F2=CA=B9=D3=C3=D7=EE=D0=C2=B0=E6=B1=BE=A1=A3=D4=DA=B5=DA=B6=FE=
=B8=F6=BF=ED=CF=DE=C6=DA=A3=A8=D2=BB=B8=F6=C4=D1=B6=C8=D6=DC=C6=DA=A3=A9=BA=
=F3=A3=AC=BF=F3=B9=A4=BD=AB=BD=F6=BD=D3=CA=DC=D0=C2=B0=E6=B1=BE=B5=C4=BD=BB=
=D2=D7=A3=AC=CE=B4=C9=FD=BC=B6=B5=C4=BF=CD=BB=A7=B6=CB=B7=A2=CB=CD=B5=C4=BE=
=C9=B0=E6=B1=BE=BD=BB=D2=D7=BD=AB=CE=DE=B7=A8=B5=C3=B5=BD=D0=C2=BD=DA=B5=E3=
=B5=C4=D7=AA=B2=A5=D2=B2=CE=DE=B7=A8=BD=F8=C8=EB=D0=C2=B0=E6=B1=BE=C7=F8=BF=
=E9=A1=A3=D5=E2=BD=AB=D4=DA=B1=A3=BB=A4=D3=C3=BB=A7=D7=CA=B2=FA=B5=C4=CD=AC=
=CA=B1=A3=AC=CC=E1=D0=D1=B2=BB=CD=DA=BF=F3=B5=C4=C7=AE=B0=FC=BD=DA=B5=E3=C9=
=FD=BC=B6=A1=A3=B2=A2=D4=DA=C9=FD=BC=B6=B4=FA=C2=EB=D6=D0=BC=D3=C8=EB=B6=D4=
=D0=AD=D2=E9=BD=F8=D0=D0=B8=C4=B6=AF=B5=C4=B2=BF=B7=D6=A1=A3=C7=AE=B0=FC=C9=
=FD=BC=B6=BA=F3=BD=AB=D3=C9=CD=DA=BF=F3=BD=DA=B5=E3=CD=B6=C6=B1=CA=B5=CA=A9=
=B8=C3=CF=EE=B8=C4=B6=AF=A3=AC=D2=D4=B4=EF=B3=C9=D0=AD=D2=E9=B8=C4=B6=AF=B5=
=C4=B9=E3=B7=BA=B2=BF=CA=F0=A1=A3<br/>
>=20
> After the activation condition is met, majority miners will set a new =
block versionbits after the first grace period(a difficulty change of =
2016 blocks). The blocks with lower versionbits will be orphaned. In =
terms of the Nakamoto Consensus, the end of the first grace period will =
force all mining nodes upgraded to signal a new version of consensus. =
After the second grace period ( a difficulty change of 2016 blocks), =
mining nodes will only accept transactions with new versionbits. =
Transactions from nodes not upgrading will not be relayed nor included =
in blocks with new versionbits. This will protect funds of non-mining =
nodes from utilizing replay attack and will function as a notification =
for them to upgrade. Codes dealing with protocol upgrade could be =
included in the upgrade. After the non-mining node upgrades, mining =
nodes will vote to activate the protocol upgrade and this will achieve =
the broad/widespread deployment of the protocol upgrade.<br/>
>=20
> =D4=DA=B8=C3=CF=EE=B8=C4=B6=AF=B9=E3=B7=BA=B2=BF=CA=F0=D6=C1=BF=CD=BB=A7=
=B6=CB=D6=AE=BA=F3=A3=AC=D2=C0=C8=BB=D3=C9=C6=E4=BC=A4=BB=EE=CC=F5=BC=FE=BF=
=D8=D6=C6=A1=A3<br/>
> The protocol upgrade depends on its activate condition independently =
even after the change deployed among nodes.<br/>
>=20
> =3D=3DMotivation=3D=3D
>=20
> =
=BC=F8=D3=DA=D7=EE=B3=F5=B5=C4=B1=C8=CC=D8=B1=D2=D0=AD=D2=E9=B2=A2=CE=B4=BF=
=BC=C2=C7=B2=BB=B2=CE=D3=EB=CD=DA=BF=F3=B5=C4=C7=AE=B0=FC=BD=DA=B5=E3=A3=AC=
=B5=BC=D6=C2=D5=E2=D0=A9=C7=AE=B0=FC=BD=DA=B5=E3=B5=C4=D0=AD=D2=E9=C9=FD=BC=
=B6=CA=C7=B1=BB=B6=AF=B5=C4=A3=AC=C0=C1=B6=E8=B5=C4=A1=A3=B5=B1=D4=DA=C9=FD=
=BC=B6=B7=BD=CF=F2=C9=CF=B3=F6=CF=D6=B7=D6=C6=E7=CA=B1=A3=AC=BF=F3=B9=A4=D2=
=B2=B2=BB=D4=B8=D2=E2=D4=DA=B4=ED=CE=F3=B5=C4=C1=B4=C9=CF=CD=DA=BF=F3=A3=AC=
=B5=AB=BF=F3=B9=A4=D3=D6=C3=BB=D3=D0=C8=CE=BA=CE=B7=BD=B7=A8=BF=C9=D2=D4=C8=
=B7=B1=A3=D5=FD=D4=DA=D1=D3=B3=A4=B5=C4=C1=B4=CA=C7=B1=BB=C7=AE=B0=FC=BD=DA=
=B5=E3=B9=E3=B7=BA=BD=D3=CA=DC=B5=C4=C1=B4=A1=A3=D5=E2=BD=AB=D3=B0=CF=EC=C7=
=AE=B0=FC=BD=DA=B5=E3=B5=C4=B0=B2=C8=AB=A1=A3<br/>
> In view of the fact that the original Bitcoin consensus did not =
consider the non-mining wallet nodes(as mentioned above), the result is =
that upgrading the consensus of these wallet nodes is passive and lazy. =
When there is disagreement in the direction of the upgrade, the miners =
have no mechanism to ensure that the chain being extended is the chain =
widely accepted by the wallet nodes. This also adversely affects the =
security of the wallet nodes.<br/>
>=20
> =
=CA=B9=D3=C3=B8=C3=B7=BD=B7=A8=BF=C9=D2=D4=D4=DA=B1=A3=D6=A4=C7=AE=B0=FC=BD=
=DA=B5=E3=D7=CA=B2=FA=B0=B2=C8=AB=B5=C4=C7=E9=BF=F6=CF=C2=A3=AC=C7=D2=CD=A8=
=B9=FD=D4=F6=BC=D3=BC=A4=C0=F8=C8=C3=C7=AE=B0=FC=BD=DA=B5=E3=C9=FD=BC=B6=D0=
=AD=D2=E9=A1=A3=D2=BB=B5=A9=C7=AE=B0=FC=BD=DA=B5=E3=C9=FD=BC=B6=D0=AD=D2=E9=
=A3=AC=B1=A3=D6=A4=BF=F3=B9=A4=BD=DA=B5=E3=B2=BB=BD=F6=B9=A4=D7=F7=D4=DA=CB=
=E3=C1=A6=D7=EE=B3=A4=C1=B4=C9=CF=A3=AC=BB=B9=B9=A4=D7=F7=D4=DA=B1=C8=CC=D8=
=B1=D2=C9=FA=CC=AC=BB=B7=BE=B3=D6=D0=C6=E4=CB=FB=C7=AE=B0=FC=BD=DA=B5=E3=CB=
=F9=CA=B9=D3=C3=B5=C4=D7=EE=B3=A4=C1=B4=C9=CF=A1=A3=D4=DA=D6=D0=B1=BE=B4=CF=
=B9=B2=CA=B6=CF=C2=B2=BB=BB=E1=B3=F6=CF=D6=B7=D6=B2=E6=A3=AC=D2=D4=CA=B5=CF=
=D6=BD=A5=BD=F8=CA=BD=B5=C4=D0=AD=D2=E9=C9=FD=BC=B6=A1=A3<br/>
>=20
> Apart from ensuring the asset security of wallet nodes, this method =
can be used to provide additional incentives to upgrade the protocol for =
the wallet nodes. Once the wallet nodes upgrade their protocol, the =
miners' nodes can be guaranteed to work - not only on the longest chain, =
but also on the longest chain used by other wallet nodes in the broader =
bitcoin sphere. Under the Nakamoto Consensus, there will be no =
persistent forks as protocol upgrades can be phased in.<br/>
>=20
> =3D=3DSpecification=3D=3D
>=20
> 1. =CD=DA=BF=F3=BD=DA=B5=E3=BD=AB=CA=B9=D3=C3 versionbits =
=B0=E6=B1=BE=CE=BB=C0=B4=B6=A8=D2=E5=D6=A7=B3=D6=D0=C5=BA=C5=A1=A3BIP =
=C9=FA=D0=A7=CA=B1=A3=AC=CB=F9=D3=D0=C7=F8=BF=E9=D0=E8=D2=AA=CA=B9=D3=C3=D6=
=C6=B6=A8=B5=C4 nVersion =C0=B4=B7=A2=CB=CD=D0=C5=BA=C5<br/>
> 2. =CD=DA=BF=F3=BD=DA=B5=E3=BD=AB=CA=B9=D3=C3 tx version =
=C0=B4=B6=A8=D2=E5=B5=B1=C7=B0=B5=C4=BD=BB=D2=D7=B0=E6=B1=BE=A1=A3=B5=B1=C7=
=B0=B5=C4 tx version =CA=C7 1=A3=AC=BD=AB=D4=CA=D0=ED tx version =CE=AA =
2 =B5=C4=BD=BB=D2=D7=A3=AC=B2=A2=D4=DA=B5=DA=B6=FE=B8=F6=BF=ED=CF=DE=C6=DA=
=D6=AE=BA=F3=A3=AC=CA=B9 tx version =CE=AA 1 =B5=C4=BD=BB=D2=D7=B7=C7=B7=A8=
=A1=A3<br/>
>=20
> 1. Mining nodes signal by setting a version bit. While this BIP is =
active, all blocks must set the chosen nVersion.<br/>
> 2. Mining nodes will use tx version to define current version =
transactions. Current tx version is 1, and tx version 2 will be allowed. =
After the second grace period, tx version 1 will be regarded as =
invalid.<br/>
>=20
>=20
> =3D=3DDeployment=3D=3D
> =
=D0=AD=D2=E9=C9=FD=BC=B6=A3=AC=BD=AB=B7=D6=B3=C9=C8=FD=B2=BD=D6=F0=B2=BD=CA=
=B5=CA=A9=A1=A3=B2=A2=D3=D0=D2=BB=B8=F6=BF=C9=D1=A1=B5=C4=B5=DA=CB=C4=B2=BD=
=C0=B4=BC=AF=B3=C9=D0=AD=D2=E9=C9=FD=BC=B6=B4=FA=C2=EB=A1=A3<br/>
>=20
> Protocol upgrading will phase in over three stages. We can have an =
optional fourth stage to integrate codes of protocol upgrade.<br/>
>=20
> 1. =D0=C5=BA=C5=BD=D7=B6=CE=A1=A3=CD=DA=BF=F3=BD=DA=B5=E3=CA=B9=D3=C3 =
versionbits =B7=A2=CB=CD=D6=A7=B3=D6=D0=C5=BA=C5=A1=A3=CD=DA=BF=F3=BD=DA=B5=
=E3=D4=DA=BC=E0=B2=E2=B5=BD 55% =B5=C4=C7=F8=BF=E9=BC=B4=C7=B0 1109/2016 =
=B8=F6=C7=F8=BF=E9=BE=F9=B7=A2=CB=CD=C1=CB=CF=E0=CD=AC=B5=C4=D6=A7=B3=D6=D0=
=C5=BA=C5=A3=AC=BD=F8=C8=EB=CF=C2=D2=BB=BD=D7=B6=CE=A1=A3<br/>
> 2. =BF=F3=B9=A4=BD=DA=B5=E3=C9=FD=BC=B6=A1=A3=BE=AD=B9=FD=C1=CB=B5=DA=D2=
=BB=B8=F6=BF=ED=CF=DE=C6=DA 2016 =B5=C4=C7=F8=BF=E9=BA=F3=A3=AC=C7=D2=D7=DC=
=D0=C5=BA=C5=C7=F8=BF=E9=B3=AC=B9=FD=C1=CB =
2218/4032=A3=AC=BE=CD=BF=AA=CA=BC=CA=B9=D3=C3=D0=C2=B5=C4=C7=F8=BF=E9=B0=E6=
=B1=BE=B4=F2=B0=FC=C7=F8=BF=E9=A3=AC=B2=A2=CD=AC=CA=B1=BF=AA=CA=BC=B9=C2=C1=
=A2=BE=C9=B0=E6=B1=BE=A1=A3=B4=CB=CA=B1=CB=F9=D3=D0=BD=DA=B5=E3=BA=CD=C7=AE=
=B0=FC=A3=AC=BD=AB=BF=C9=D2=D4=CA=B9=D3=C3=D0=C2=B0=E6=B1=BE=BA=C5=B7=A2=CB=
=CD=BD=BB=D2=D7=A3=AC=CD=AC=CA=B1=BC=E6=C8=DD=BE=C9=B0=E6=B1=BE=BA=C5=BD=BB=
=D2=D7=A1=A3<br/>
> 3. =C7=AE=B0=FC=BD=DA=B5=E3=C9=FD=BC=B6=A1=A3=D4=DA=CD=DA=BF=F3=BD=DA=B5=
=E3=BC=E0=B2=E2=B5=BD=B5=DA=B6=FE=B8=F6=BF=ED=CF=DE=C6=DA 4032 =
=B8=F6=C1=AC=D0=F8=B5=C4=D0=C2=B0=E6=B1=BE=B5=C4=C7=F8=BF=E9=BA=F3=A3=AC=BF=
=AA=CA=BC=BE=DC=BE=F8=BE=C9=B0=E6=B1=BE=BA=C5=B5=C4=BD=BB=D2=D7=A3=AC=D6=BB=
=B4=F2=B0=FC=A3=AF=D7=AA=B2=A5=D0=C2=B0=E6=B1=BE=BA=C5=B5=C4=BD=BB=D2=D7=A1=
=A3=CD=AC=CA=B1=BD=AB=B4=D3=C4=DA=B4=E6=B3=D8=D6=D0=C9=BE=B3=FD=BE=C9=B0=E6=
=B1=BE=BA=C5=B5=C4=BD=BB=D2=D7=A1=A3<br/>
> 4. =
=A3=A8=BF=C9=D1=A1=B5=C4=A3=A9=D0=AD=D2=E9=C9=FD=BC=B6=A1=A3=D4=DA=B5=DA=C8=
=FD=BD=D7=B6=CE=D6=D0=B0=FC=BA=AC=D3=D0=B5=DA=CB=C4=BD=D7=B6=CE=B5=C4=C9=FD=
=BC=B6=B4=FA=C2=EB=A1=A3=B5=B1=CE=D2=C3=C7=C8=B7=B1=A3=C7=AE=B0=FC=BD=DA=B5=
=E3=C9=FD=BC=B6=B5=BD=D6=A7=B3=D6=D0=C2=B0=E6=B1=BE=BD=BB=D2=D7=BA=F3=A3=AC=
=B1=D8=C8=BB=B0=FC=BA=AC=C1=CB=B5=DA=CB=C4=BD=D7=B6=CE=B5=C4=C9=FD=BC=B6=B4=
=FA=C2=EB=A1=A3=D4=F2=B4=CB=CA=B1=BF=C9=D2=D4=CD=A8=B9=FD=BF=F3=B9=A4=BD=DA=
=B5=E3=CD=B6=C6=B1=B5=C4=B7=BD=CA=BD=CD=EA=B3=C9=C8=AB=CD=F8=C2=E7=B5=C4=D0=
=AD=D2=E9=C9=FD=BC=B6=A1=A3
>=20
> 1. Signal stage: Mining nodes signal using BIP9. The next stage will =
be activated after 55% (1109) of 2016 blocks has the signal.<br/>
>=20
> 2. Mining nodes upgrade stage: After a first grace period of 2016 =
blocks and total signalling blocks passed 2218 of 4032 blocks, miners =
broadcasting blocks with new versionbits in block headers will orphan =
blocks with old versionbits. At this stage all nodes can send =
transactions with new versionbits, and transactions with old versionbits =
will be compatible.<br/>
>=20
> 3. Non-mining nodes upgrade stage: after 4032 continuous blocks with =
new versionbits, mining nodes will start to refuse transactions with old =
versionbits. Only transactions with new versionbits can be relayed and =
included in blocks. Transactions with old versionbits can be safely =
purged from memory pools.<br/>
>=20
> 4. (Optional)Protocol Upgrade stage: The codes dealing with protocol =
upgrade can be integrated in the third stage. After the non-mining nodes =
upgrades to support newer version of transactions, the codes with =
protocol upgrade must be included and now we can use miner vote to =
activate and finish this upgrade.<br/>
>=20
> =D6=C1=B4=CB=A3=AC=D0=AD=D2=E9=C9=FD=BC=B6=CD=EA=B3=C9=A1=A3<br/>
>=20
> At this point, the protocol upgrade have phased in.<br/>
>=20
> =3D=3DBenefits=3D=3D
>=20
> 1. =BD=F6=D0=E8=D2=AA=B6=E0=CA=FD=B5=C4=BF=F3=B9=A4=B7=A2=D0=C5=BA=C5=BA=
=F3=BC=B4=BF=C9=BC=A4=BB=EE=A1=A3=D4=DA=D6=D0=B1=BE=B4=CF=B5=C4=B1=C8=CC=D8=
=B1=D2=C2=DB=CE=C4=D6=D0=A3=AC99.9% =B5=C4=BF=C9=C4=DC=D0=D4=CF=C2=A3=AC55=
% =B5=C4=BF=F3=B9=A4=BD=AB=D4=DA 340 =
=B8=F6=C7=F8=BF=E9=BA=F3=C8=B7=B1=A3=B3=C9=CE=AA=D7=EE=B3=A4=C1=B4=A1=A3=D5=
=E2=BD=AB=D7=EE=B4=F3=BF=C9=C4=DC=BC=F5=D0=A1=CD=A8=B9=FD=BF=D8=D6=C6=C9=D9=
=CA=FD=CB=E3=C1=A6=B6=F8=CD=CF=D1=D3=CD=F8=C2=E7=C9=FD=BC=B6=B5=C4=BF=C9=C4=
=DC=D0=D4=A1=A3=CE=D2=C3=C7=BF=C9=D2=D4=D4=A4=BC=FB=B5=BD=D4=DA=CB=E3=C1=A6=
=D0=C5=BA=C5=B3=AC=B9=FD 51% =
=BA=F3=A3=AC=CD=DA=BF=F3=BD=DA=B5=E3=BD=AB=D1=B8=CB=D9=B5=C4=D4=DA=B5=DA=D2=
=BB=B8=F6=BF=ED=CF=DE=C6=DA=C4=DA=BD=F8=D0=D0=C9=FD=BC=B6=A1=A3<br/>
> 2. =
=D4=DA=C1=BD=B8=F6=BF=ED=CF=DE=C6=DA=C4=DA=A3=AC=C7=AE=B0=FC=BD=DA=B5=E3=BD=
=BB=D2=D7=B2=BB=CA=DC=D3=B0=CF=EC=A3=AC=D3=D0=D7=E3=B9=BB=B5=C4=CA=B1=BC=E4=
=C9=FD=BC=B6=C7=AE=B0=FC=C8=ED=BC=FE=A1=A3<br/>
> 3. =B0=E6=B1=BE=D0=C5=CF=A2=B0=FC=BA=AC=D4=DA block header =
=D6=D0=A3=AC=B2=A2=B2=BB=D3=B0=CF=EC SPV =CD=DA=BF=F3=B9=FD=B3=CC=A1=A3=A3=
=A8=BF=B4=C6=F0=C0=B4=CA=C7=A3=BF=A3=A9<br/>
> 4. =
=D4=DA=C1=BD=B8=F6=BF=ED=CF=DE=C6=DA=BA=F3=A3=AC=C7=AE=B0=FC=BD=DA=B5=E3=BD=
=AB=B1=D8=D0=EB=C9=FD=BC=B6=C7=AE=B0=FC=A3=AC=B7=F1=D4=F2=D2=F2=C3=BB=D3=D0=
=CB=E3=C1=A6=D6=A7=B3=D6=BD=AB=CE=DE=B7=A8=B7=A2=CB=CD=BD=BB=D2=D7=A3=AC=D2=
=B2=CE=DE=B7=A8=C8=B7=C8=CF=A1=A3=CF=E0=B6=D4=D3=DA=D4=DA=BD=DA=B5=E3=BC=E4=
=D6=D8=D0=C2=B4=EF=B3=C9=D0=C2=B5=C4=B9=B2=CA=B6=A3=AC=D5=E2=D6=D6=D7=B4=BF=
=F6=B2=A2=C3=BB=D3=D0=B8=FC=D4=E3=B8=E2=A1=A3<br/>
> 5. =
=C7=AE=B0=FC=BD=DA=B5=E3=B5=C4=D5=CB=B1=BE=BD=AB=B5=C3=B5=BD=D7=F0=D6=D8=BA=
=CD=B1=A3=BB=A4=A1=A3=CA=B9=D3=C3=C1=B4=CF=C2=C7=AE=B0=FC=B5=C4=D3=C3=BB=A7=
=BD=AB=D0=E8=D2=AA=D4=DA=C7=AE=B0=FC=B7=FE=CE=F1=CC=E1=B9=A9=C9=CC=B5=C4=C9=
=F9=C3=F7=D6=AE=BA=F3=BE=F6=B6=A8=CC=E1=D6=C1=C1=B4=C9=CF=C7=AE=B0=FC=BB=F2=
=B8=FA=CB=E6=A1=A3<br/>
> 6. =
=BD=AB=C0=B4=B5=C4=D0=AD=D2=E9=C9=FD=BC=B6=A3=AC=BF=C9=D2=D4=D4=DA=C9=FD=BC=
=B6=BF=CD=BB=A7=B6=CB=B0=E6=B1=BE=CD=AC=CA=B1=B0=F3=B6=A8=D0=AD=D2=E9=C9=FD=
=BC=B6=B4=FA=C2=EB=B2=A2=BD=F8=D0=D0=B6=C0=C1=A2=B5=C4=BC=A4=BB=EE=CD=B6=C6=
=B1=A1=A3=D5=E2=BD=AB=D4=A4=C1=F4=D7=E3=B9=BB=B5=C4=CA=B1=BC=E4=C8=C3=BD=DA=
=B5=E3=C9=FD=BC=B6=C8=ED=BC=FE=D2=D4=D6=A7=B3=D6=D0=C2=B5=C4=D0=AD=D2=E9=A1=
=A3=BC=B4=CA=B9=BF=F3=B9=A4=CD=B6=C6=B1=BC=A4=BB=EE=CA=A7=B0=DC=D2=B2=B2=BB=
=D3=B0=CF=EC=CF=D6=D7=B4=A1=A3<br/>
>=20
> 1. The activation only requires majority miners signal. As described =
in the paper by Satoshi Nakamoto, 55% miners will be in the longest =
chain after 340 blocks, with 99.9% certainty. This will minimize the =
possibility of delaying network upgrades by controlling a small number =
of hashing power. We can foresee that after 51% signalling, all miners =
will upgrade within the first grace period. <br/>
> 2. During the first two grace periods, non-mining nodes will not be =
affected. They have enough time to upgrade their software. <br/>
> 3. Versionbits included in block header, not influencing the SPY =
mining. <br/>
> 4. After two grace periods, all nodes must be upgraded. Otherwise they =
cannot send transactions or get any confirmations. Compared with forming =
new consensus among nodes, the situation is not worse than before. <br/>
> 5. The ledger in non-mining wallet nodes is honored and reserved. =
Users of off-chain wallet services can decide whether or not to follow =
the service providers after they got the public notification from the =
service providers. <br/>
> 6. Protocol upgrades in the future can be bonded with the upgrades of =
nodes, and the upgrades activate through miners vote independently. =
There would be enough time for nodes to be upgraded in order to support =
new protocols. Even in case of failing in miner activation, the =
situation will not worsen and the status quo will remain. <br/>
>=20
>=20
> =3D=3DRisks=3D=3D
>=20
> 1. =
=CB=E3=C1=A6=B5=C4=B2=A8=B6=AF=BB=E1=D3=B0=CF=EC=D7=EE=B3=A4=C1=B4=B5=C4=BD=
=E1=B9=FB=A1=A3=D2=F2=B4=CB=D4=BD=B8=DF=B5=C4=BC=A4=BB=EE=B1=C8=C0=FD=D2=AA=
=C7=F3=BD=AB=BC=F5=C9=D9=B6=CC=CA=B1=BC=E4=B7=D6=B2=E6=B5=C4=CE=A3=CF=D5=A1=
=A3<br/>
> 2. =
=BF=F3=B9=A4=BF=C9=C4=DC=B7=A2=BC=D9=D0=C5=BA=C5=C0=B4=B1=DC=C3=E2=B1=BB=B9=
=C2=C1=A2=A3=AC=B5=AB=D4=DA=C7=AE=B0=FC=BD=DA=B5=E3=BF=B4=C0=B4=CE=DE=B7=A8=
=C7=F8=B7=D6=CA=C7=B7=F1=CA=C7=BC=D9=D0=C5=BA=C5=A3=AC=D6=BB=C4=DC=C9=FD=BC=
=B6=A1=A3=B6=F8=C7=AE=B0=FC=BD=DA=B5=E3=C9=FD=BC=B6=D6=AE=BA=F3=A3=AC=BF=F3=
=B9=A4=D2=B2=BD=AB=B8=FA=CB=E6=A1=A3<br/>
> 3. =
=C7=AE=B0=FC=BD=DA=B5=E3=BF=C9=C4=DC=B7=A2=BC=D9=D0=C5=BA=C5=C0=B4=BD=F6=C9=
=FD=BC=B6=B0=E6=B1=BE=BA=C5=B6=F8=B2=BB=D6=A7=B3=D6=B0=F3=B6=A8=B5=C4=D0=AD=
=D2=E9=C9=FD=BC=B6=B4=FA=C2=EB=A3=AC=B5=AB=C7=AE=B0=FC=BD=DA=B5=E3=CA=FD=C1=
=BF=CE=DE=B7=A8=C5=D0=B1=F0=A3=AC=D1=CF=CB=E0=B5=C4=D5=E6=CA=B5=BD=DA=B5=E3=
=D3=A6=B5=B1=B8=FA=CB=E6=BF=C9=D6=A4=CA=B5=B5=C4=BF=F3=B9=A4=CD=B6=C6=B1=BD=
=E1=B9=FB=A1=A3<br/>
> 4. =
=B4=E6=D4=DA=C9=D9=B2=BF=B7=D6=BF=F3=B9=A4=BA=CD=C7=AE=B0=FC=BD=DA=B5=E3=B9=
=B2=C4=B1=A3=AC=D4=DA=D0=C2=D0=AD=D2=E9=C9=FD=BC=B6=BC=A4=BB=EE=BA=F3=D2=C0=
=C8=BB=CA=B9=D3=C3=C0=CF=D0=AD=D2=E9=CD=DA=BF=F3=B5=C4=BF=C9=C4=DC=A1=A3=D5=
=E2=D6=D6=BF=C9=C4=DC=CB=E6=CA=B1=B7=A2=C9=FA=CE=DE=B7=A8=B6=C5=BE=F8=A3=AC=
=B5=AB=CD=A8=B9=FD=C8=C3=B3=C1=C4=AC=B5=C4=B4=F3=B6=E0=CA=FD=C7=AE=B0=FC=BD=
=DA=B5=E3=C9=FD=BC=B6=B5=C4=B7=BD=CA=BD=BF=C9=D2=D4=BD=B5=B5=CD=D5=E2=D6=D6=
=D0=D0=CE=AA=B4=F8=C0=B4=B5=C4=C0=FB=D2=E6=A1=A3<br/>
>=20
> 1. The fluctuation of the hashing power will affect the result of the =
longest chain. Higher activating requirement means a lower risk of =
temporary fork. <br/>
> 2. Miners could simply signal to avoid being orphaned, but from the =
perspective of non-mining wallet nodes, they can't distinguish the false =
signal from the true signal. They must upgrade with the assumption that =
the signals are all true. After all the non-mining nodes have upgraded, =
the miners signalling false signal should follow. <br/>
> 3. Non-mining wallet nodes could false signal without supporting the =
new protocol but since the total number of nodes cannot be =
distinguished, genuine nodes should follow the proven result provided by =
miners vote. <br/>
> 4. Miners and non-mining nodes could conspire to fork using old =
protocol consensus. It can't be eliminated, just like in the past but =
through most passive non-mining nodes being upgraded, their benefit is =
reduced. <br/>
>=20
>=20
> =3D=3DImplementation=3D=3D
> ___TBD___
>=20
|