summaryrefslogtreecommitdiff
path: root/8e/fb07733438f91df52b1cbba45f108232513ddc
blob: 8f5d8f7284a3ffda1740b2bd4b0e052636097c9d (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
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
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
Return-Path: <morcos@gmail.com>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
	[172.17.192.35])
	by mail.linuxfoundation.org (Postfix) with ESMTPS id B2609B5E
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Mon, 17 Jul 2017 18:49:27 +0000 (UTC)
X-Greylist: whitelisted by SQLgrey-1.7.6
Received: from mail-oi0-f44.google.com (mail-oi0-f44.google.com
	[209.85.218.44])
	by smtp1.linuxfoundation.org (Postfix) with ESMTPS id EAED3350
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Mon, 17 Jul 2017 18:49:23 +0000 (UTC)
Received: by mail-oi0-f44.google.com with SMTP id 191so125758377oii.2
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Mon, 17 Jul 2017 11:49:23 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to; 
	bh=G+k+Eax1yFG6sDiGGUXlT0Iw8zL0Ce9Tl6LESTUu67M=;
	b=cHK+xY7GbKgsiaIfI0cTWeqPT2nVcIB8Z3EfLjgIKTtkqofrUhVsVETAkLOQXsXgv2
	wpiY86SdfzmEMDDN893a2htudUF+qZRZJlJjW4Q6C1B2kAsw1AB4eMxJ7syY5736cV3G
	StC/ggxRO/ThTAz1XS5dk6Q4gzkNLZ4XZlxXl5L+L9Rh1OH+2Q5TPM891OfgxR6ZkgXI
	YQSvsjLLjlW2yvmq2kmEov2W4Yd6rlnIc+NWgoJYSdrUiW8i8FvbwTLWnceWE7MuZVPu
	ix7RR30LAcZmCHKUd65/tgQNQgR5XA3pSHhSku8yGeD/6AoPAI0M8AUtx1HQFWi01fHF
	OlwA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=1e100.net; s=20161025;
	h=x-gm-message-state:mime-version:in-reply-to:references:from:date
	:message-id:subject:to;
	bh=G+k+Eax1yFG6sDiGGUXlT0Iw8zL0Ce9Tl6LESTUu67M=;
	b=Zr6UBtD+0zyIC9WYYBSozjptvc4RudmS+n8hBgb2zKeiL2ihOT4GWn/vENEOJh6mKI
	HG+VJPUi937emsSbjGlQt2MAITrKoCkK6HWJCoVfU+TShpLe6QK8/IGzQpMqWeeL9E5U
	bVPveVzigA9bljKpafwzP45GdGoKEC7tPn/GFOsgAHWQ3OG3AhGFQfrHF35fCC6/K5T0
	PE2mgXAKFHIvMfDY6Fh22EHjdwI93Kvn/BBkQSq4xViThQEVy04RmnVZQ6X1iKebtfZ4
	wEqdf2zVn3zxWlC0iR5qDyPZ+0qrAR6CLLLqPNWTnKM8rpAbCHqPW/IvTVTl3oUg7Pi7
	UJUw==
X-Gm-Message-State: AIVw112cXLpAks1L78WEjuuOsicqaz3w2M8F5LH4f7nCVTTAs75PMAYO
	lB0PrS205IMBP+0JUVqBYZbnkKcJhA==
X-Received: by 10.202.216.4 with SMTP id p4mr5328553oig.91.1500317362948; Mon,
	17 Jul 2017 11:49:22 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.74.63.67 with HTTP; Mon, 17 Jul 2017 11:49:22 -0700 (PDT)
In-Reply-To: <01194110-04f0-82f5-cd5e-0101822fa2b1@gmail.com>
References: <0119661e-a11a-6d4b-c9ec-fd510bd4f144@gmail.com>
	<01194110-04f0-82f5-cd5e-0101822fa2b1@gmail.com>
From: Alex Morcos <morcos@gmail.com>
Date: Mon, 17 Jul 2017 14:49:22 -0400
Message-ID: <CAPWm=eVZQ5FM7AohEMocUobj4jhFvdb-Uc+DhAmSSFZ3_funrw@mail.gmail.com>
To: Paul Sztorc <truthcoin@gmail.com>, 
	Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
Content-Type: multipart/alternative; boundary="001a113d357678139e055487dbe8"
X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,
	DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, HTML_MESSAGE,
	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: Mon, 17 Jul 2017 19:03:15 +0000
Subject: Re: [bitcoin-dev] Updating the Scaling Roadmap [Update]
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: Mon, 17 Jul 2017 18:49:27 -0000

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

"it was ACKed by everyone else that I heard from"  - I don't think you
should read into that much.

I felt like this whole conversation was putting the cart before the horse.
You might very well have some good ideas in your roadmap update, to tell
you the truth, I didn't even read it.
But I don't think we should be taking relatively new/untested ideas such as
Drivechain and sticking them on a roadmap.  There is a tendency in this
community to hear about the latest and greatest idea and immediately fixate
on it as our salvation. I'm very happy that you are doing this work and
that others are researching a wide variety of ideas.  But please, lets be
conservative and flexible with how we evolve Bitcoin.  We don't even know
if or when we'll get segwit yet.


On Mon, Jul 17, 2017 at 1:13 PM, Paul Sztorc via bitcoin-dev <
bitcoin-dev@lists.linuxfoundation.org> wrote:

> Hello,
>
> Last week I posted about updating the Core Scalability Roadmap.
>
> I'm not sure what the future of it is, given that it was concept NACK'ed
> by Greg Maxwell the author of the original roadmap, who said that he
> regretted writing the first one.
>
> Nonetheless, it was ACKed by everyone else that I heard from, except for
> Tom Zander (who objected that it should be a specific project document,
> not a "Bitcoin" document -- I sortof agree and decided to label it a
> "Core" document -- whether or not anything happens with that label is up
> to the community).
>
> I therefore decided to:
> 1. Put the draft on GitHub [1]
> 2. Update it based on all of the week 1 feedback [2]
> 3. Add some spaces at the bottom for comments / expressions of interest [2]
>
> However, without interest from the maintainers of bitcoincore.org
> (specifically these [3, 4] pages and similar) the document will probably
> be unable to gain traction.
>
> Cheers,
> Paul
>
> [1] https://github.com/psztorc/btc-core-capacity-2/blob/master/draft.txt
> [2]
> https://github.com/psztorc/btc-core-capacity-2/commit/
> 2b4f0ecc9015ee398ce0486ca5c3613e3b929c00
> [3] https://bitcoincore.org/en/2015/12/21/capacity-increase/
> [4] https://bitcoincore.org/en/2015/12/23/capacity-increases-faq/
>
>
> On 7/10/2017 12:50 PM, Paul Sztorc wrote:
> > Summary
> > =========
> >
> > In my opinion, Greg Maxwell's scaling roadmap [1] succeeded in a few
> > crucial ways. One success was that it synchronized the entire Bitcoin
> > community, helping to bring finality to the (endless) conversations of
> > that time, and get everyone back to work. However, I feel that the Dec
> > 7, 2015 roadmap is simply too old to serve this function any longer. We
> > should revise it: remove what has been accomplished, introduce new
> > innovations and approaches, and update deadlines and projections.
> >
> >
> > Why We Should Update the Roadmap
> > =================================
> >
> > In a P2P system like Bitcoin, we lack authoritative info-sources (for
> > example, a "textbook" or academic journal), and as a result
> > conversations tend to have a problematic lack of progress. They do not
> > "accumulate", as everyone must start over. Ironically, the scaling
> > conversation _itself_ has a fatal O(n^2) scaling problem.
> >
> > The roadmap helped solve these problems by being constant in size, and
> > subjecting itself to publication, endorsement, criticism, and so forth.
> > Despite the (unavoidable) nuance and complexity of each individual
> > opinion, it was at least globally known that X participants endorsed Y
> > set of claims.
> >
> > Unfortunately, the Dec 2015 roadmap is now 19 months old -- it is quite
> > obsolete and replacing it is long overdue. For example, it highlights
> > older items (CSV, compact blocks, versionbits) as being _future_
> > improvements, and makes no mention of new high-likelihood improvements
> > (Schnorr) or mis-emphasizes them (LN). It even contains mistakes (SegWit
> > fraud proofs). To read the old roadmap properly, one must already be a
> > technical expert. For me, this defeats the entire point of having one in
> > the first place.
> >
> > A new roadmap would be worth your attention, even if you didn't sign it,
> > because a refusal to sign would still be informative (and, therefore,
> > helpful)!
> >
> > So, with that in mind, let me present a first draft. Obviously, I am
> > strongly open to edits and feedback, because I have no way of knowing
> > everyone's opinions. I admit that I am partially campaigning for my
> > Drivechain project, and also for this "scalability"/"capacity"
> > distinction...that's because I believe in both and think they are
> > helpful. But please feel free to suggest edits.
> >
> > I emphasized concrete numbers, and concrete dates.
> >
> > And I did NOT necessarily write it from my own point of view, I tried
> > earnestly to capture a (useful) community view. So, let me know how I
> did.
> >
> >  ==== Beginning of New ("July 2017") Roadmap Draft ====
> >
> > This document updates the previous roadmap [1] of Dec 2015. The older
> > statement endorsed a belief that "the community is ready to deliver on
> > its shared vision that addresses the needs of the system while upholding
> > its values".
> >
> > That belief has not changed, but the shared vision has certainly grown
> > sharper over the last 18 months. Below is a list of technologies which
> > either increase Bitcoin's maximum tps rate ("capacity"), or which make
> > it easier to process a higher volume of transactions ("scalability").
> >
> > First, over the past 18 months, the technical community has completed a
> > number of items [2] on the Dec 2015 roadmap. VersonBits (BIP 9) enables
> > Bitcoin to handle multiple soft fork upgrades at once. Compact Blocks
> > (BIP 152) allows for much faster block propagation, as does the FIBRE
> > Network [3]. Check Sequence Verify (BIP 112) allows trading partners to
> > mutually update an active transaction without writing it to the
> > blockchain (this helps to enable the Lightning Network).
> >
> > Second, Segregated Witness (BIP 141), which reorganizes data in blocks
> > to handle signatures separately, has been completed and awaits
> > activation (multiple BIPS). It is estimated to increase capacity by a
> > factor of 2.2. It also improves scalability in many ways. First, SW
> > includes a fee-policy which encourages users to minimize their impact on
> > the UTXO set. Second, SW achieves linear scaling of sighash operations,
> > which prevents the network from crashing when large transactions are
> > broadcast. Third, SW provides an efficiency gain for everyone who is not
> > verifying signatures, as these no longer need to be downloaded or
> > stored. SegWit is an enabling technology for the Lightning Network,
> > script versioning (specifically Schnorr signatures), and has a number of
> > benefits which
> > are unrelated to capacity [4].
> >
> > Third, the Lightning Network, which allows users to transact without
> > broadcasting to the network, is complete [5, 6] and awaits the
> > activation of SegWit. For those users who are able to make a single
> > on-chain transaction, it is estimated to increase both capacity and
> > scalability by a factor of ~1000 (although these capacity increases will
> > vary with usage patterns). LN also greatly improves transaction speed
> > and transaction privacy.
> >
> > Fourth, Transaction Compression [7], observes that Bitcoin transaction
> > serialization is not optimized for storage or network communication. If
> > transactions were optimally compressed (as is possible today), this
> > would improve scalability, but not capacity, by roughly 20%, and in some
> > cases over 30%.
> >
> > Fifth, Schnorr Signature Aggregation, which shrinks transactions by
> > allowing many transactions to have a single shared signature, has been
> > implemented [8] in draft form in libsecp256k1, and will likely be ready
> > by Q4 of 2016. One analysis [9] suggests that signature aggregation
> > would result in storage and bandwidth savings of at least 25%, which
> > would therefore increase scalability and capacity by a factor of 1.33.
> > The relative savings are even greater for multisignature transactions.
> >
> > Sixth, drivechain [10], which allows bitcoins to be temporarily
> > offloaded to 'alternative' blockchain networks ("sidechains"), is
> > currently under peer review and may be usable by end of 2017. Although
> > it has no impact on scalability, it does allow users to opt-in to
> > greater capacity, by moving their BTC to a new network (although, they
> > will achieve less decentralization as a result). Individual drivechains
> > may have different security tradeoffs (for example, a greater reliance
> > on UTXO commitments, or MimbleWimble's shrinking block history) which
> > may give them individually greater scalability than mainchain Bitcoin.
> >
> > Finally, the capacity improvements outlined above may not be sufficient.
> > If so, it may be necessary to use a hard fork to increase the blocksize
> > (and blockweight, sigops, etc) by a moderate amount. Such an increase
> > should take advantage of the existing research on hard forks, which is
> > substantial [11]. Specifically, there is some consensus that Spoonnet
> > [12] is the most attractive option for such a hardfork. There is
> > currently no consensus on a hard fork date, but there is a rough
> > consensus that one would require at least 6 months to coordinate
> > effectively, which would place it in the year 2018 at earliest.
> >
> > The above are only a small sample of current scaling technologies. And
> > even an exhaustive list of scaling technologies, would itself only be a
> > small sample of total Bitcoin innovation (which is proceeding at
> > breakneck speed).
> >
> > Signed,
> > <Names Here>
> >
> > [1]
> > https://lists.linuxfoundation.org/pipermail/bitcoin-dev/
> 2015-December/011865.html
> > [2] https://bitcoincore.org/en/2017/03/13/performance-optimizations-1/
> > [3] http://bluematt.bitcoin.ninja/2016/07/07/relay-networks/
> > [4] https://bitcoincore.org/en/2016/01/26/segwit-benefits/
> > [5]
> > http://lightning.community/release/software/lnd/
> lightning/2017/05/03/litening/
> > [6] https://github.com/ACINQ/eclair
> > [7] https://people.xiph.org/~greg/compacted_txn.txt
> > [8]
> > https://github.com/ElementsProject/secp256k1-zkp/blob/
> d78f12b04ec3d9f5744cd4c51f20951106b9c41a/src/secp256k1.c#L592-L594
> > [9] https://bitcoincore.org/en/2017/03/23/schnorr-signature-aggregation/
> > [10] http://www.drivechain.info/
> > [11] https://bitcoinhardforkresearch.github.io/
> > [12]
> > https://lists.linuxfoundation.org/pipermail/bitcoin-dev/
> 2017-February/013542.html
> >
> >  ==== End of Roadmap Draft ====
> >
> > In short, please let me know:
> >
> > 1. If you agree that it would be helpful if the roadmap were updated.
> > 2. To what extent, if any, you like this draft.
> > 3. Edits you would make (specifically, I wonder about Drivechain
> > thoughts and Hard Fork thoughts, particularly how to phrase the Hard
> > Fork date).
> >
> > Google Doc (if you're into that kind of thing):
> > https://docs.google.com/document/d/1gxcUnmYl7yM0oKR9NY9zCPbBbPNoc
> mCq-jjBOQSVH-A/edit?usp=sharing
> >
> > Cheers,
> > Paul
> >
>
>
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>

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

<div dir=3D"ltr">&quot;it was ACKed by everyone else that I heard from&quot=
; =C2=A0- I don&#39;t think you should read into that much.<div><br></div><=
div>I felt like this whole conversation was putting the cart before the hor=
se.</div><div>You might very well have some good ideas in your roadmap upda=
te, to tell you the truth, I didn&#39;t even read it.</div><div>But I don&#=
39;t think we should be taking relatively new/untested ideas such as Drivec=
hain and sticking them on a roadmap.=C2=A0 There is a tendency in this comm=
unity to hear about the latest and greatest idea and immediately fixate on =
it as our salvation. I&#39;m very happy that you are doing this work and th=
at others are researching a wide variety of ideas.=C2=A0 But please, lets b=
e conservative and flexible with how we evolve Bitcoin.=C2=A0 We don&#39;t =
even know if or when we&#39;ll get segwit yet.=C2=A0</div><div><br><div cla=
ss=3D"gmail_extra"><br><div class=3D"gmail_quote">On Mon, Jul 17, 2017 at 1=
:13 PM, Paul Sztorc via bitcoin-dev <span dir=3D"ltr">&lt;<a href=3D"mailto=
:bitcoin-dev@lists.linuxfoundation.org" target=3D"_blank">bitcoin-dev@lists=
.linuxfoundation.org</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_qu=
ote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,20=
4);padding-left:1ex">Hello,<br>
<br>
Last week I posted about updating the Core Scalability Roadmap.<br>
<br>
I&#39;m not sure what the future of it is, given that it was concept NACK&#=
39;ed<br>
by Greg Maxwell the author of the original roadmap, who said that he<br>
regretted writing the first one.<br>
<br>
Nonetheless, it was ACKed by everyone else that I heard from, except for<br=
>
Tom Zander (who objected that it should be a specific project document,<br>
not a &quot;Bitcoin&quot; document -- I sortof agree and decided to label i=
t a<br>
&quot;Core&quot; document -- whether or not anything happens with that labe=
l is up<br>
to the community).<br>
<br>
I therefore decided to:<br>
1. Put the draft on GitHub [1]<br>
2. Update it based on all of the week 1 feedback [2]<br>
3. Add some spaces at the bottom for comments / expressions of interest [2]=
<br>
<br>
However, without interest from the maintainers of <a href=3D"http://bitcoin=
core.org" rel=3D"noreferrer" target=3D"_blank">bitcoincore.org</a><br>
(specifically these [3, 4] pages and similar) the document will probably<br=
>
be unable to gain traction.<br>
<br>
Cheers,<br>
Paul<br>
<br>
[1] <a href=3D"https://github.com/psztorc/btc-core-capacity-2/blob/master/d=
raft.txt" rel=3D"noreferrer" target=3D"_blank">https://github.com/psztorc/<=
wbr>btc-core-capacity-2/blob/<wbr>master/draft.txt</a><br>
[2]<br>
<a href=3D"https://github.com/psztorc/btc-core-capacity-2/commit/2b4f0ecc90=
15ee398ce0486ca5c3613e3b929c00" rel=3D"noreferrer" target=3D"_blank">https:=
//github.com/psztorc/<wbr>btc-core-capacity-2/commit/<wbr>2b4f0ecc9015ee398=
ce0486ca5c361<wbr>3e3b929c00</a><br>
[3] <a href=3D"https://bitcoincore.org/en/2015/12/21/capacity-increase/" re=
l=3D"noreferrer" target=3D"_blank">https://bitcoincore.org/en/<wbr>2015/12/=
21/capacity-increase/</a><br>
[4] <a href=3D"https://bitcoincore.org/en/2015/12/23/capacity-increases-faq=
/" rel=3D"noreferrer" target=3D"_blank">https://bitcoincore.org/en/<wbr>201=
5/12/23/capacity-increases-<wbr>faq/</a><br>
<br>
<br>
On 7/10/2017 12:50 PM, Paul Sztorc wrote:<br>
&gt; Summary<br>
&gt; =3D=3D=3D=3D=3D=3D=3D=3D=3D<br>
&gt;<br>
&gt; In my opinion, Greg Maxwell&#39;s scaling roadmap [1] succeeded in a f=
ew<br>
&gt; crucial ways. One success was that it synchronized the entire Bitcoin<=
br>
&gt; community, helping to bring finality to the (endless) conversations of=
<br>
&gt; that time, and get everyone back to work. However, I feel that the Dec=
<br>
&gt; 7, 2015 roadmap is simply too old to serve this function any longer. W=
e<br>
&gt; should revise it: remove what has been accomplished, introduce new<br>
&gt; innovations and approaches, and update deadlines and projections.<br>
&gt;<br>
&gt;<br>
&gt; Why We Should Update the Roadmap<br>
&gt; =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D<wbr>=3D=3D=3D<br>
&gt;<br>
&gt; In a P2P system like Bitcoin, we lack authoritative info-sources (for<=
br>
&gt; example, a &quot;textbook&quot; or academic journal), and as a result<=
br>
&gt; conversations tend to have a problematic lack of progress. They do not=
<br>
&gt; &quot;accumulate&quot;, as everyone must start over. Ironically, the s=
caling<br>
&gt; conversation _itself_ has a fatal O(n^2) scaling problem.<br>
&gt;<br>
&gt; The roadmap helped solve these problems by being constant in size, and=
<br>
&gt; subjecting itself to publication, endorsement, criticism, and so forth=
.<br>
&gt; Despite the (unavoidable) nuance and complexity of each individual<br>
&gt; opinion, it was at least globally known that X participants endorsed Y=
<br>
&gt; set of claims.<br>
&gt;<br>
&gt; Unfortunately, the Dec 2015 roadmap is now 19 months old -- it is quit=
e<br>
&gt; obsolete and replacing it is long overdue. For example, it highlights<=
br>
&gt; older items (CSV, compact blocks, versionbits) as being _future_<br>
&gt; improvements, and makes no mention of new high-likelihood improvements=
<br>
&gt; (Schnorr) or mis-emphasizes them (LN). It even contains mistakes (SegW=
it<br>
&gt; fraud proofs). To read the old roadmap properly, one must already be a=
<br>
&gt; technical expert. For me, this defeats the entire point of having one =
in<br>
&gt; the first place.<br>
&gt;<br>
&gt; A new roadmap would be worth your attention, even if you didn&#39;t si=
gn it,<br>
&gt; because a refusal to sign would still be informative (and, therefore,<=
br>
&gt; helpful)!<br>
&gt;<br>
&gt; So, with that in mind, let me present a first draft. Obviously, I am<b=
r>
&gt; strongly open to edits and feedback, because I have no way of knowing<=
br>
&gt; everyone&#39;s opinions. I admit that I am partially campaigning for m=
y<br>
&gt; Drivechain project, and also for this &quot;scalability&quot;/&quot;ca=
pacity&quot;<br>
&gt; distinction...that&#39;s because I believe in both and think they are<=
br>
&gt; helpful. But please feel free to suggest edits.<br>
&gt;<br>
&gt; I emphasized concrete numbers, and concrete dates.<br>
&gt;<br>
&gt; And I did NOT necessarily write it from my own point of view, I tried<=
br>
&gt; earnestly to capture a (useful) community view. So, let me know how I =
did.<br>
&gt;<br>
&gt;=C2=A0 =3D=3D=3D=3D Beginning of New (&quot;July 2017&quot;) Roadmap Dr=
aft =3D=3D=3D=3D<br>
&gt;<br>
&gt; This document updates the previous roadmap [1] of Dec 2015. The older<=
br>
&gt; statement endorsed a belief that &quot;the community is ready to deliv=
er on<br>
&gt; its shared vision that addresses the needs of the system while upholdi=
ng<br>
&gt; its values&quot;.<br>
&gt;<br>
&gt; That belief has not changed, but the shared vision has certainly grown=
<br>
&gt; sharper over the last 18 months. Below is a list of technologies which=
<br>
&gt; either increase Bitcoin&#39;s maximum tps rate (&quot;capacity&quot;),=
 or which make<br>
&gt; it easier to process a higher volume of transactions (&quot;scalabilit=
y&quot;).<br>
&gt;<br>
&gt; First, over the past 18 months, the technical community has completed =
a<br>
&gt; number of items [2] on the Dec 2015 roadmap. VersonBits (BIP 9) enable=
s<br>
&gt; Bitcoin to handle multiple soft fork upgrades at once. Compact Blocks<=
br>
&gt; (BIP 152) allows for much faster block propagation, as does the FIBRE<=
br>
&gt; Network [3]. Check Sequence Verify (BIP 112) allows trading partners t=
o<br>
&gt; mutually update an active transaction without writing it to the<br>
&gt; blockchain (this helps to enable the Lightning Network).<br>
&gt;<br>
&gt; Second, Segregated Witness (BIP 141), which reorganizes data in blocks=
<br>
&gt; to handle signatures separately, has been completed and awaits<br>
&gt; activation (multiple BIPS). It is estimated to increase capacity by a<=
br>
&gt; factor of 2.2. It also improves scalability in many ways. First, SW<br=
>
&gt; includes a fee-policy which encourages users to minimize their impact =
on<br>
&gt; the UTXO set. Second, SW achieves linear scaling of sighash operations=
,<br>
&gt; which prevents the network from crashing when large transactions are<b=
r>
&gt; broadcast. Third, SW provides an efficiency gain for everyone who is n=
ot<br>
&gt; verifying signatures, as these no longer need to be downloaded or<br>
&gt; stored. SegWit is an enabling technology for the Lightning Network,<br=
>
&gt; script versioning (specifically Schnorr signatures), and has a number =
of<br>
&gt; benefits which<br>
&gt; are unrelated to capacity [4].<br>
&gt;<br>
&gt; Third, the Lightning Network, which allows users to transact without<b=
r>
&gt; broadcasting to the network, is complete [5, 6] and awaits the<br>
&gt; activation of SegWit. For those users who are able to make a single<br=
>
&gt; on-chain transaction, it is estimated to increase both capacity and<br=
>
&gt; scalability by a factor of ~1000 (although these capacity increases wi=
ll<br>
&gt; vary with usage patterns). LN also greatly improves transaction speed<=
br>
&gt; and transaction privacy.<br>
&gt;<br>
&gt; Fourth, Transaction Compression [7], observes that Bitcoin transaction=
<br>
&gt; serialization is not optimized for storage or network communication. I=
f<br>
&gt; transactions were optimally compressed (as is possible today), this<br=
>
&gt; would improve scalability, but not capacity, by roughly 20%, and in so=
me<br>
&gt; cases over 30%.<br>
&gt;<br>
&gt; Fifth, Schnorr Signature Aggregation, which shrinks transactions by<br=
>
&gt; allowing many transactions to have a single shared signature, has been=
<br>
&gt; implemented [8] in draft form in libsecp256k1, and will likely be read=
y<br>
&gt; by Q4 of 2016. One analysis [9] suggests that signature aggregation<br=
>
&gt; would result in storage and bandwidth savings of at least 25%, which<b=
r>
&gt; would therefore increase scalability and capacity by a factor of 1.33.=
<br>
&gt; The relative savings are even greater for multisignature transactions.=
<br>
&gt;<br>
&gt; Sixth, drivechain [10], which allows bitcoins to be temporarily<br>
&gt; offloaded to &#39;alternative&#39; blockchain networks (&quot;sidechai=
ns&quot;), is<br>
&gt; currently under peer review and may be usable by end of 2017. Although=
<br>
&gt; it has no impact on scalability, it does allow users to opt-in to<br>
&gt; greater capacity, by moving their BTC to a new network (although, they=
<br>
&gt; will achieve less decentralization as a result). Individual drivechain=
s<br>
&gt; may have different security tradeoffs (for example, a greater reliance=
<br>
&gt; on UTXO commitments, or MimbleWimble&#39;s shrinking block history) wh=
ich<br>
&gt; may give them individually greater scalability than mainchain Bitcoin.=
<br>
&gt;<br>
&gt; Finally, the capacity improvements outlined above may not be sufficien=
t.<br>
&gt; If so, it may be necessary to use a hard fork to increase the blocksiz=
e<br>
&gt; (and blockweight, sigops, etc) by a moderate amount. Such an increase<=
br>
&gt; should take advantage of the existing research on hard forks, which is=
<br>
&gt; substantial [11]. Specifically, there is some consensus that Spoonnet<=
br>
&gt; [12] is the most attractive option for such a hardfork. There is<br>
&gt; currently no consensus on a hard fork date, but there is a rough<br>
&gt; consensus that one would require at least 6 months to coordinate<br>
&gt; effectively, which would place it in the year 2018 at earliest.<br>
&gt;<br>
&gt; The above are only a small sample of current scaling technologies. And=
<br>
&gt; even an exhaustive list of scaling technologies, would itself only be =
a<br>
&gt; small sample of total Bitcoin innovation (which is proceeding at<br>
&gt; breakneck speed).<br>
&gt;<br>
&gt; Signed,<br>
&gt; &lt;Names Here&gt;<br>
&gt;<br>
&gt; [1]<br>
&gt; <a href=3D"https://lists.linuxfoundation.org/pipermail/bitcoin-dev/201=
5-December/011865.html" rel=3D"noreferrer" target=3D"_blank">https://lists.=
linuxfoundation.<wbr>org/pipermail/bitcoin-dev/<wbr>2015-December/011865.ht=
ml</a><br>
&gt; [2] <a href=3D"https://bitcoincore.org/en/2017/03/13/performance-optim=
izations-1/" rel=3D"noreferrer" target=3D"_blank">https://bitcoincore.org/e=
n/<wbr>2017/03/13/performance-<wbr>optimizations-1/</a><br>
&gt; [3] <a href=3D"http://bluematt.bitcoin.ninja/2016/07/07/relay-networks=
/" rel=3D"noreferrer" target=3D"_blank">http://bluematt.bitcoin.ninja/<wbr>=
2016/07/07/relay-networks/</a><br>
&gt; [4] <a href=3D"https://bitcoincore.org/en/2016/01/26/segwit-benefits/"=
 rel=3D"noreferrer" target=3D"_blank">https://bitcoincore.org/en/<wbr>2016/=
01/26/segwit-benefits/</a><br>
&gt; [5]<br>
&gt; <a href=3D"http://lightning.community/release/software/lnd/lightning/2=
017/05/03/litening/" rel=3D"noreferrer" target=3D"_blank">http://lightning.=
community/<wbr>release/software/lnd/<wbr>lightning/2017/05/03/litening/</a>=
<br>
&gt; [6] <a href=3D"https://github.com/ACINQ/eclair" rel=3D"noreferrer" tar=
get=3D"_blank">https://github.com/ACINQ/<wbr>eclair</a><br>
&gt; [7] <a href=3D"https://people.xiph.org/~greg/compacted_txn.txt" rel=3D=
"noreferrer" target=3D"_blank">https://people.xiph.org/~greg/<wbr>compacted=
_txn.txt</a><br>
&gt; [8]<br>
&gt; <a href=3D"https://github.com/ElementsProject/secp256k1-zkp/blob/d78f1=
2b04ec3d9f5744cd4c51f20951106b9c41a/src/secp256k1.c#L592-L594" rel=3D"noref=
errer" target=3D"_blank">https://github.com/<wbr>ElementsProject/secp256k1-=
zkp/<wbr>blob/<wbr>d78f12b04ec3d9f5744cd4c51f2095<wbr>1106b9c41a/src/secp25=
6k1.c#<wbr>L592-L594</a><br>
&gt; [9] <a href=3D"https://bitcoincore.org/en/2017/03/23/schnorr-signature=
-aggregation/" rel=3D"noreferrer" target=3D"_blank">https://bitcoincore.org=
/en/<wbr>2017/03/23/schnorr-signature-<wbr>aggregation/</a><br>
&gt; [10] <a href=3D"http://www.drivechain.info/" rel=3D"noreferrer" target=
=3D"_blank">http://www.drivechain.info/</a><br>
&gt; [11] <a href=3D"https://bitcoinhardforkresearch.github.io/" rel=3D"nor=
eferrer" target=3D"_blank">https://<wbr>bitcoinhardforkresearch.<wbr>github=
.io/</a><br>
&gt; [12]<br>
&gt; <a href=3D"https://lists.linuxfoundation.org/pipermail/bitcoin-dev/201=
7-February/013542.html" rel=3D"noreferrer" target=3D"_blank">https://lists.=
linuxfoundation.<wbr>org/pipermail/bitcoin-dev/<wbr>2017-February/013542.ht=
ml</a><br>
&gt;<br>
&gt;=C2=A0 =3D=3D=3D=3D End of Roadmap Draft =3D=3D=3D=3D<br>
&gt;<br>
&gt; In short, please let me know:<br>
&gt;<br>
&gt; 1. If you agree that it would be helpful if the roadmap were updated.<=
br>
&gt; 2. To what extent, if any, you like this draft.<br>
&gt; 3. Edits you would make (specifically, I wonder about Drivechain<br>
&gt; thoughts and Hard Fork thoughts, particularly how to phrase the Hard<b=
r>
&gt; Fork date).<br>
&gt;<br>
&gt; Google Doc (if you&#39;re into that kind of thing):<br>
&gt; <a href=3D"https://docs.google.com/document/d/1gxcUnmYl7yM0oKR9NY9zCPb=
BbPNocmCq-jjBOQSVH-A/edit?usp=3Dsharing" rel=3D"noreferrer" target=3D"_blan=
k">https://docs.google.com/<wbr>document/d/<wbr>1gxcUnmYl7yM0oKR9NY9zCPbBbP=
Noc<wbr>mCq-jjBOQSVH-A/edit?usp=3D<wbr>sharing</a><br>
&gt;<br>
&gt; Cheers,<br>
&gt; Paul<br>
&gt;<br>
<br>
<br>
______________________________<wbr>_________________<br>
bitcoin-dev mailing list<br>
<a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-dev@lists.=
<wbr>linuxfoundation.org</a><br>
<a href=3D"https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev" =
rel=3D"noreferrer" target=3D"_blank">https://lists.linuxfoundation.<wbr>org=
/mailman/listinfo/bitcoin-<wbr>dev</a><br>
</blockquote></div><br></div></div></div>

--001a113d357678139e055487dbe8--