@@ -19,7 +19,44 @@ summary], [2019][2019 summary], and [2020][2020 summary].
19
19
20
20
* January
21
21
* [ Signet in Bitcoin Core] ( #signet )
22
- * FIXME: fill out table of contents
22
+ * [ Bech32m addresses] ( #bech32m )
23
+ * [ Onion messages and offers protocol] ( #offers )
24
+ * February
25
+ * [ Faster signature creation and verification] ( #safegcd )
26
+ * [ Channel jamming attacks] ( #jamming )
27
+ * March
28
+ * [ Quantum computing risks] ( #quantum )
29
+ * April
30
+ * [ LN atomic multipath payments] ( #amp )
31
+ * May
32
+ * [ BIP125 opt-in replace-by-fee discrepancy] ( #bip125 )
33
+ * [ Dual funded channels] ( #dual-funding )
34
+ * June
35
+ * [ Candidate set based block construction] ( #csb )
36
+ * [ Default transaction replacement by fee] ( #default-rbf )
37
+ * [ Mempool package acceptance and package relay] ( #mpa )
38
+ * [ LN fast forwards for speed and offline receiving] ( #ff )
39
+ * July
40
+ * [ LN liquidity advertisements] ( #liq-ads )
41
+ * [ Output script descriptors] ( #descriptors )
42
+ * [ Zero-conf channel opens] ( #zeroconfchan )
43
+ * [ SIGHASH_ANYPREVOUT] ( #anyprevout )
44
+ * August
45
+ * [ Fidelity bonds] ( #fibonds )
46
+ * [ LN pathfinding] ( #pathfinding )
47
+ * September
48
+ * [ OP_TAPLEAF_UPDATE_VERIFY] ( #tluv )
49
+ * October
50
+ * [ Transaction heritage identifiers] ( #txhids )
51
+ * [ PTLCs and LN fast forwards] ( #ptlcsx )
52
+ * November
53
+ * [ LN developer summit] ( #lnsummit )
54
+ * December
55
+ * [ Advanced fee bumping] ( #bumping )
56
+ * Featured summaries
57
+ * [ Taproot] ( #taproot )
58
+ * [ Major releases of popular infrastructure projects] ( #releases )
59
+ * [ Bitcoin Optech] ( #optech )
23
60
24
61
## January
25
62
@@ -38,13 +75,15 @@ real money is at stake. Also [discussed][signet reorgs] this year was
38
75
adding deliberate block chain reorganizations to Bitcoin Core's default signet network to help
39
76
developers test their software against that class of problems.
40
77
78
+ {:#bech32m}
41
79
A draft BIP for [ bech32m] [ topic bech32 ] was also [ announced] [ bech32 bip ]
42
80
in January. Bech32m addresses are a slight modification of bech32
43
81
addresses that make them safe for use with [ taproot] [ topic taproot ] and
44
82
future protocol extensions. Later in the year, a [ Bitcoin Wiki
45
83
page] [ bech32m page ] was updated to track adoption of bech32m addresses
46
84
by wallets and services.
47
85
86
+ {:#offers}
48
87
Another [ first release] [ cl 0.9.3 ] of a new protocol was [ onion
49
88
messages] [ topic onion messages ] and the [ offers protocol] [ topic offers ] .
50
89
Onion messages allow an LN node to send a message to another node in a
@@ -56,10 +95,9 @@ continue as draft specifications for the remainder of the year, but they
56
95
would receive additional development, including a proposal to use them
57
96
to [ reduce the impact of stuck payments] [ offers stuck ] .
58
97
59
- <!-- TODO:EXTRA: /en/newsletters/2021/01/06/#trampoline-routing -->
60
-
61
98
## February
62
99
100
+ {:#safegcd}
63
101
Contributors to Bitcoin [ advanced] [ safegcd blog ] the state of research
64
102
into an improved signature creation and verification algorithm, and then
65
103
used their research to produce a variation with additional improvements.
@@ -72,6 +110,7 @@ sound and safe to use. The change also provides a significant boost to
72
110
the speed of securely creating signatures on low-powered hardware
73
111
signing devices.
74
112
113
+ {:#jamming}
75
114
[ Channel jamming attacks] [ topic channel jamming attacks ] , a known
76
115
problem for LN since 2015, received continued discussion throughout the
77
116
year, with a [ variety] [ jam1 ] of [ possible] [ jam2 ] solutions
@@ -81,10 +120,9 @@ and the problem remained unmitigated by year's end.
81
120
{:.center}
82
121
![ Illustration of jamming attacks] ( /img/posts/2020-12-ln-jamming-attacks.png )
83
122
84
- <!-- TODO:EXTRA /en/newsletters/2021/02/17/#anti-exfiltration -->
85
-
86
123
## March
87
124
125
+ {:#quantum}
88
126
Significant [ discussion] [ quant ] in March was devoted to analyzing the
89
127
risk of quantum computer attacks on Bitcoin, particularly for the case
90
128
where taproot activated and became widely used. One of Bitcoin's
@@ -157,8 +195,6 @@ addresses.
157
195
[ compromise] [ bcc#21377 ] that allowed a Bitcoin Core [ version] [ bcctap ]
158
196
to be released with an activation mechanism and parameters.
159
197
160
- <!-- TODO:EXTRA: BIPs drama? -->
161
-
162
198
- ** May<!-- taproot--> ** was when miners were [ able] [ signal
163
199
able] to [ begin] [ signal began ] signalling their readiness to enforce taproot and a website for
164
200
tracking signaling progress became [ popular] [ taproot.watch ] .
@@ -224,6 +260,7 @@ making use of its many features.
224
260
225
261
## April
226
262
263
+ {:#amp}
227
264
LND added [ support] [ lnd#5709 ] in April for making Atomic Multipath
228
265
Payments ([ AMP] [ topic amp ] ), also called original AMPs due to being described earlier
229
266
than the [ Simplified Multipath Payments] [ topic multipath payments ]
@@ -237,13 +274,15 @@ consideration the one significant downside of AMPs.
237
274
238
275
## May
239
276
277
+ {:#bip125}
240
278
A discrepancy between the specification of [ BIP125] [ ] transaction
241
279
[ replacement] [ topic rbf ] and the implementation in Bitcoin Core was
242
280
[ disclosed] [ bip125 discrep ] in May. This didn't put any bitcoins at
243
281
risk, as far as we know, but it did spawn several discussions about the
244
282
risks to users of contract protocols (such as LN) from unexpected transaction relay
245
283
behavior.
246
284
285
+ {:#dual-funding}
247
286
Also in May, the C-Lightning project [ merged] [ cl#4489 ] a plugin for
248
287
managing [ dual-funded channels] [ topic dual funding ] ---channels where
249
288
both parties can provide some amount of the initial funding. In
@@ -322,13 +361,15 @@ use of LN is receiving payments instead of sending them.
322
361
323
362
## June
324
363
364
+ {:#csb}
325
365
A new [ analysis] [ csb ] discussed in June described an alternative way for
326
366
miners to select which transactions they want to include in the blocks
327
367
they create. The new method is predicted to slightly increase miner
328
368
revenue in the short term. In the long-term, if the technique is
329
369
adopted by miners, wallets aware of it will be able to collaborate when [ CPFP fee bumping] [ topic cpfp ]
330
370
transactions, increasing the effectiveness of that technique.
331
371
372
+ {:#default-rbf}
332
373
Another attempt to make fee bumping more effective was a [ proposal] [ rbf
333
374
default] to allow any unconfirmed transaction to be [ replaced by
334
375
fee] [ topic rbf ] (RBF) in Bitcoin Core---not just those that opt-in to
@@ -343,6 +384,7 @@ does need to use BIP68 to blend in with more common transactions.
343
384
Neither proposal seemed to make much progress despite few significant
344
385
objections.
345
386
387
+ {:#mpa}
346
388
June also saw the merge of the [ first PR] [ bcc#20833 ] in a
347
389
series implemeting [ mempool package acceptance] [ mpa ml ]
348
390
in Bitcoin Core, the first step towards package relay. [ Package
@@ -360,6 +402,7 @@ makes [CPFP fee bumping][topic cpfp] unreliable for contract protocols
360
402
using presigned transactions, such as LN. Package relay hopes to solve
361
403
this key safety issue.
362
404
405
+ {:#ff}
363
406
An idea originally proposed in 2019 for LN saw renewed life in June. The
364
407
original [ fast forwards] [ ff orig ] idea described how an LN wallet could receive
365
408
or relay a payment with fewer network round-trips, reducing network
@@ -370,6 +413,7 @@ easier to keep that signing key secured.
370
413
371
414
## July
372
415
416
+ {:#liq-ads}
373
417
After years of discussion and development, the first implementation of a
374
418
decentralized liquidity advertisements system was [ merged] [ cl#4639 ] into
375
419
an LN implementation. The still-draft [ liquidity ads] [ bolts #878 ]
@@ -386,8 +430,7 @@ the agreed upon lease period has concluded. That means refusing to
386
430
route payments would provide no advantages but would deny the
387
431
advertising node the opportunity to earn routing fees.
388
432
389
- <!-- TODO:EXTRA:table comparing liquidity ads and Pool -->
390
-
433
+ {:#descriptors}
391
434
Three years after [ first being proposed] [ descriptor gist ] for Bitcoin
392
435
Core, [ draft BIPs] [ descriptor bips1 ] were [ created] [ descriptor bips2 ] for
393
436
[ output script descriptors] [ topic descriptors ] . Descriptors are strings
@@ -401,6 +444,7 @@ the wallet to determine which keys it controls in a multisig script. By
401
444
the end of the year, Bitcoin Core had made descriptor-based wallets its
402
445
[ default] [ descriptor default ] for newly-created wallets.
403
446
447
+ {:#zeroconfchan}
404
448
A common way of opening LN channels that had never before been
405
449
part of the LN protocol began to be [ specified] [ 0conf channels ] in July. Zero-conf
406
450
channel opens, also called * turbo channels* , are new single-funded
@@ -420,6 +464,7 @@ who offer this service.
420
464
{:.center}
421
465
![ Zero-conf channel illustration] ( /img/posts/2021-07-zeroconf-channels.png )
422
466
467
+ {:#anyprevout}
423
468
Two related proposals for new signature hash (sighash) types were
424
469
[ combined] [ sighash combo ] into [ BIP118] [ ] . ` SIGHASH_NOINPUT ` , proposed
425
470
in 2017 and partly based on previous proposals going back a decade, was
@@ -431,15 +476,9 @@ storage requirements and complexity. For multiparty protocols, the
431
476
benefits may be even more significant by eliminating the number of
432
477
different states that need to be generated in the first place.
433
478
434
- <!--
435
- TODO:EXTRA LN migration to real databases:
436
- /en/newsletters/2021/07/14/#lnd-5447
437
- /en/newsletters/2021/07/21/#eclair-1871
438
- /en/newsletters/2021/10/06/#lnd-5366
439
- -->
440
-
441
479
## August
442
480
481
+ {:#fibonds}
443
482
Fidelity bonds is an idea [ described] [ wiki contract ] at least as early as
444
483
2010 for locking up bitcoins for a period of time in order to create a
445
484
cost for misbehavior in third-party systems. Because the bitcoins can't be used again until
@@ -450,6 +489,7 @@ the first large scale and decentralized use of fidelity bonds. Within
450
489
days of release, over 50 BTC had been timelocked (worth over $2 million
451
490
USD at the time).
452
491
492
+ {:#pathfinding}
453
493
A new variation of pathfinding for LN was [ discussed] [ 0base ] in August.
454
494
Proponents of the technique thought that it would be most effective if
455
495
routing nodes only charged a percentage of the amount routed without
@@ -473,6 +513,7 @@ _includes/specials/taproot/en/* -->
473
513
474
514
## September
475
515
516
+ {:#tluv}
476
517
One feature Bitcoin developers have long discussed is the ability to
477
518
send bitcoins to a script which could limit which other scripts could
478
519
later receive those bitcoins, a mechanism called [ covenants] [ topic
@@ -492,6 +533,7 @@ ownership of a UTXO.
492
533
493
534
## October
494
535
536
+ {:#txhids}
495
537
In October, Bitcoin developers discussed a new way for a transaction to
496
538
[ identify] [ heritage identifiers ] which set of bitcoins it wanted to
497
539
spend. Currently, bitcoins are identified by their location in the
@@ -504,6 +546,7 @@ advantages for designs such as [eltoo][topic eltoo], [channel
504
546
factories] [ topic channel factories ] , and [ watchtowers] [ topic
505
547
watchtowers] , all of which benefit contract protocols such as LN.
506
548
549
+ {:#ptlcsx}
507
550
Also in October, a combination of existing ideas for improving LN were
508
551
bundled into a [ single proposal] [ ptlcs extreme ] that would bring some of
509
552
the same benefits of eltoo but without requiring the
@@ -519,6 +562,7 @@ needed to be used by online computers.
519
562
520
563
## November
521
564
565
+ {:#lnsummit}
522
566
LN developers held the first general LN summit [ since 2018] [ 2018 ln
523
567
summit] and [ discussed] [ 2021 ln summit ] topics including using
524
568
[ taproot] [ topic taproot ] in LN, including [ PTLCs] [ topic ptlc ] ,
@@ -532,6 +576,7 @@ payments].
532
576
533
577
## December
534
578
579
+ {:#bumping}
535
580
For single-sig onchain transactions, fee bumping a transaction's feerate
536
581
to encourage miners to confirm it sooner is a relatively straightforward
537
582
operation. But for contract protocols such as LN and [ vaults] [ topic
@@ -545,7 +590,31 @@ important long-term problem.
545
590
546
591
## Conclusion
547
592
548
- FIXME: write conclusion
593
+ We tried something new in this year's summary---describing two dozen
594
+ noteworthy developments in 2021 without mentioning even a single
595
+ contributor's name. We're indebted to all of those contributors and
596
+ very much want to see them credited for their incredible work, but we
597
+ also want to recognize all of the contributors who we wouldn't normally
598
+ mention.
599
+
600
+ They're the people spending hours on coding reviews, or who are writing
601
+ tests for established behavior to ensure it doesn't unexpectedly change,
602
+ or who put effort into debugging mysterious issues to fix problems
603
+ before money is put at risk, or who are working on a hundred other tasks
604
+ that would only make the news if they weren't being done.
605
+
606
+ This final newsletter of 2021 is dedicated to them. We don't have an
607
+ easy way to make a list of the names of these underacknowledged
608
+ contributors. Instead we've omitted all names from this newsletter to
609
+ make the point that developing Bitcoin is a team effort where some of
610
+ the most important work is being done by people whose names have never
611
+ appeared in any issue of this newsletter.
612
+
613
+ We thank them and all contributors to Bitcoin in 2021. We can't wait to
614
+ see what exciting new developments they will deliver in 2022.
615
+
616
+ * The Optech newsletter will return to its regular Wednesday publication
617
+ schedule on January 5th.*
549
618
550
619
<!-- FIXME add topic links, there's gonna be a lot!!! -->
551
620
{% include references.md %}
@@ -667,3 +736,4 @@ FIXME:write conclusion
667
736
[ dec cs ] : /en/newsletters/2021/12/15/#changes-to-services-and-client-software
668
737
[ mpa ml ] : https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-September/019464.html
669
738
[ ff orig ] : https://lists.linuxfoundation.org/pipermail/lightning-dev/2019-April/001986.html
739
+ [ 2020 conclusion ] : /en/newsletters/2020/12/23/#conclusion
0 commit comments