@@ -27,22 +27,22 @@ summary], [2019][2019 summary], and [2020][2020 summary].
27
27
After years of discussion, January saw the first [ release] [ bcc21 ] of a
28
28
Bitcoin Core version supporting [ signets] [ topic signet ] , following prior
29
29
[ support] [ cl#2816 ] by C-Lightning and followed by [ support] [ lnd#5025 ] in
30
- LND. Signets are test networks that can be used to simulate Bitcoin's
31
- main network (mainnet) either as it exists today or how it might exist
30
+ LND. Signets are test networks anyone can used to simulate Bitcoin's
31
+ main network (mainnet), either as it exists today or how it might exist
32
32
with certain changes (such as the activation of a soft fork consensus
33
33
change). Most software implementing signets also supports a default
34
34
signet that provides a particularly convenient environment for software
35
35
developed by different teams to be tested in a safe environment that
36
- come as close as possible to the environment they'll experience when
36
+ comes as close as possible to the environment they'll experience when
37
37
real money is at stake. Also [ discussed] [ signet reorgs ] this year was
38
- adding deliberate block chain reorganizations to signet to help
38
+ adding deliberate block chain reorganizations to Bitcoin Core's default signet network to help
39
39
developers test their software against that class of problems.
40
40
41
41
A draft BIP for [ bech32m] [ topic bech32 ] was also [ announced] [ bech32 bip ]
42
42
in January. Bech32m addresses are a slight modification of bech32
43
43
addresses that make them safe for use with [ taproot] [ topic taproot ] and
44
- future protocol extensions. Later in the year, [ Bitcoin Wiki
45
- page] [ bech32m page ] was created to track adoption of bech32m addresses
44
+ future protocol extensions. Later in the year, a [ Bitcoin Wiki
45
+ page] [ bech32m page ] was updated to track adoption of bech32m addresses
46
46
by wallets and services.
47
47
48
48
Another [ first release] [ cl 0.9.3 ] of a new protocol was [ onion
@@ -76,7 +76,7 @@ signing devices.
76
76
problem for LN since 2015, received continued discussion throughout the
77
77
year, with a [ variety] [ jam1 ] of [ possible] [ jam2 ] solutions
78
78
[ discussed] [ jam3 ] . Unfortunately no widely accepted solution was found
79
- and the problem remained unmitigated by years end.
79
+ and the problem remained unmitigated by year's end.
80
80
81
81
{:.center}
82
82
![ Illustration of jamming attacks] ( /img/posts/2020-12-ln-jamming-attacks.png )
@@ -88,7 +88,7 @@ and the problem remained unmitigated by years end.
88
88
Significant [ discussion] [ quant ] in March was devoted to analyzing the
89
89
risk of quantum computer attacks on Bitcoin, particularly for the case
90
90
where taproot activated and became widely used. One of Bitcoin's
91
- original features, likely added to make Bitcoin addresses shorter, has
91
+ original features, public key hashing--- likely added to make Bitcoin addresses shorter--- has
92
92
also likely made it harder to steal funds from a limited number of users
93
93
if there's a sudden major advance in quantum computing. [ Taproot] [ topic
94
94
taproot] doesn't provide this feature and at least one developer was
@@ -123,19 +123,19 @@ addresses.
123
123
124
124
- ** March<!-- taproot--> ** began with many discussion participants tentatively agreeing
125
125
to [ try] [ speedy trial ] a particular activation approach named * speedy
126
- trial* , which was design to gather rapid feedback from miners but also
126
+ trial* , which was designed to gather rapid feedback from miners but also
127
127
still give users sufficient time to upgrade their software for taproot
128
- enforcement. Speedy trial would go to become the actual
128
+ enforcement. Speedy trial would go on to become the actual
129
129
[ mechanism] [ topic soft fork activation ] used to activate taproot.
130
130
131
- While activation discussion were underway, there was a final
131
+ While activation discussions were underway, there was a final
132
132
[ discussion] [ quant ] about one of its design decisions, using bare
133
- public keys, which it was argued might put user funds at increased
133
+ public keys, which was argued might put user funds at increased
134
134
risk of being stolen by future quantum computers. Many developers
135
135
argued that the concerns were unwarranted or, at least, overblown.
136
136
137
137
Also in March, Bitcoin Core merged support for [ BIP350] [ ] , allowing
138
- it to pay [ bech32m] [ topic bech32 ] addresses. This slight variation
138
+ it to pay to [ bech32m] [ topic bech32 ] addresses. This slight variation
139
139
on the bech32 addresses that are used for payments to original
140
140
segwit version addresses fixes a bug which could've caused taproot
141
141
users to lose money in some very rare cases. (Original segwit
@@ -155,12 +155,12 @@ addresses.
155
155
of the speedy trial activation mechanism. However, the authors of
156
156
different implementations of the two different versions came to a
157
157
[ compromise] [ bcc#21377 ] that allowed a Bitcoin Core [ version] [ bcctap ]
158
- to be released with activation parameters.
158
+ to be released with an activation mechanism and parameters.
159
159
160
160
<!-- TODO:EXTRA: BIPs drama? -->
161
161
162
- - ** May<!-- taproot--> ** was when miners [ began ] [ signal began ] to be [ able] [ signal
163
- able] to signal their willingness to enforce taproot and a website for
162
+ - ** May<!-- taproot--> ** was when miners were [ able] [ signal
163
+ able] to [ begin ] [ signal began ] signalling their readiness to enforce taproot and a website for
164
164
tracking signaling progress became [ popular] [ taproot.watch ] .
165
165
166
166
- ** June<!-- taproot--> ** saw miners [ lock-in taproot] [ lockin ] , committing to enforcing
@@ -183,7 +183,7 @@ addresses.
183
183
proposals] [ bip118 update ] were updated to use taproot or [ lessons
184
184
learned] [ bip119 update ] from its activation.
185
185
186
- - ** August<!-- taproot--> ** was quiet for development, although some
186
+ - ** August<!-- taproot--> ** was quiet for taproot development, although some
187
187
[ documentation] [ reuse risks ] related to taproot was written.
188
188
189
189
- ** September<!-- taproot--> ** saw Bitcoin's most popular open source merchant software
@@ -203,8 +203,8 @@ addresses.
203
203
subsequent blocks didn't include any taproot-spending transactions.
204
204
However, thanks to the work of several developers and mining pool
205
205
administrators, most blocks mined in subsequent days were ready to
206
- contain taproot-spending transactions. Development and [ testing] [ cbf
207
- verification] of taproot-ready software [ continued] [ rb#691 ] .
206
+ contain taproot-spending transactions. [ Development] [ nov cs ] and [ testing] [ cbf
207
+ verification] of [ taproot-ready] [ dec cs ] software [ continued] [ rb#691 ] .
208
208
209
209
- ** December<!-- taproot--> ** saw Bitcoin Core merge a PR that would
210
210
allow [ descriptor wallets] [ topic descriptors ] to create
@@ -215,7 +215,7 @@ addresses.
215
215
Despite complications choosing an activation mechanism for taproot and
216
216
some minor confusion immediately after its activation, the final steps
217
217
of adding support for the taproot soft fork to Bitcoin overall seemed to
218
- go well. This is hardly the end the of the story for taproot. Optech
218
+ go well. This is hardly the end of the story for taproot. Optech
219
219
expects to continue to spend a significant amount of time writing about
220
220
it in the coming years as wallet and infrastructure developers begin
221
221
making use of its many features.
@@ -225,7 +225,7 @@ making use of its many features.
225
225
## April
226
226
227
227
LND added [ support] [ lnd#5709 ] in April for making Atomic Multipath
228
- Payments (AMP), also called original AMPs due to being described earlier
228
+ Payments ([ AMP] [ topic amp ] ), also called original AMPs due to being described earlier
229
229
than the [ Simplified Multipath Payments] [ topic multipath payments ]
230
230
(SMPs) all major LN implementations currently support. AMPs have a
231
231
privacy advantage over SMPs and also ensure that the receiver has
@@ -241,7 +241,7 @@ A discrepancy between the specification of [BIP125][] transaction
241
241
[ replacement] [ topic rbf ] and the implementation in Bitcoin Core was
242
242
[ disclosed] [ bip125 discrep ] in May. This didn't put any bitcoins at
243
243
risk, as far as we know, but it did spawn several discussions about the
244
- risks to contract protocols such as LN from unexpected transaction relay
244
+ risks to users of contract protocols ( such as LN) from unexpected transaction relay
245
245
behavior.
246
246
247
247
Also in May, the C-Lightning project [ merged] [ cl#4489 ] a plugin for
@@ -250,7 +250,7 @@ both parties can provide some amount of the initial funding. In
250
250
addition to prior dual-funding work [ merged] [ cl#4410 ] this year, this
251
251
allows the party initiating the channel open to not only spend funds
252
252
through the channel but also receive them in the channel's initial
253
- state. Dual -funding is particularly useful for merchants whose primary
253
+ state. That initial ability to receive funds makes dual -funding particularly useful for merchants whose primary
254
254
use of LN is receiving payments instead of sending them.
255
255
256
256
<div markdown =" 1 " class =" callout " id =" releases " >
@@ -297,7 +297,7 @@ use of LN is receiving payments instead of sending them.
297
297
outputs] [ topic anchor outputs ] the default commitment transaction
298
298
format, added support for using a pruned Bitcoin full node, allowed
299
299
receiving and sending payments using Atomic MultiPath ([ AMP] [ topic
300
- multipath payments ] ), and increased LND's [ PSBT] [ topic psbt ]
300
+ amp ] ), and increased LND's [ PSBT] [ topic psbt ]
301
301
capabilities
302
302
303
303
- [ Bitcoin Core 22.0] [ ] included support for [ I2P] [ topic anonymity
@@ -325,13 +325,14 @@ use of LN is receiving payments instead of sending them.
325
325
A new [ analysis] [ csb ] discussed in June described an alternative way for
326
326
miners to select which transactions they want to include in the blocks
327
327
they create. The new method is predicted to slightly increase miner
328
- revenue in the short term. In the long-term, wallets aware of the new
329
- method will be able to collaborate when [ CPFP fee bumping] [ topic cpfp ]
328
+ revenue in the short term. In the long-term, if the technique is
329
+ adopted by miners, wallets aware of it will be able to collaborate when [ CPFP fee bumping] [ topic cpfp ]
330
330
transactions, increasing the effectiveness of that technique.
331
331
332
332
Another attempt to make fee bumping more effective was a [ proposal] [ rbf
333
- default] to make [ transaction replacement by fee] [ topic rbf ] (RBF) the
334
- default behavior in Bitcoin Core. This could help resolve some issues
333
+ default] to allow any unconfirmed transaction to be [ replaced by
334
+ fee] [ topic rbf ] (RBF) in Bitcoin Core---not just those that opt-in to
335
+ allowing replacement using [ BIP125] [ ] . This could help resolve some issues
335
336
with fee bumping in multiparty protocols and also improve privacy by
336
337
allowing more transactions to use uniform settings. Related to privacy,
337
338
a separate [ proposal] [ nseq default ] suggested that wallets creating
@@ -342,12 +343,12 @@ does need to use BIP68 to blend in with more common transactions.
342
343
Neither proposal seemed to make much progress despite few significant
343
344
objections.
344
345
345
- June also saw the merge of [ first PR] [ bcc#20833 ] in a
346
- [ series] [ bcc#22642 ] attempting to implement mempool package acceptance
346
+ June also saw the merge of the [ first PR] [ bcc#20833 ] in a
347
+ series implemeting [ mempool package acceptance] [ mpa ml ]
347
348
in Bitcoin Core, the first step towards package relay. [ Package
348
349
relay] [ topic package relay ] will allow relay nodes and miners to treat
349
350
packages of related transactions as if they were a single transaction
350
- for fee purposes. A package might contain a parent transaction with a
351
+ for feerate purposes. A package might contain a parent transaction with a
351
352
low feerate and a child transaction with a high feerate; the
352
353
profitability of mining the parent transaction would incentivize miners
353
354
to also mine the parent transaction. Although package mining has been
@@ -359,7 +360,7 @@ makes [CPFP fee bumping][topic cpfp] unreliable for contract protocols
359
360
using presigned transactions, such as LN. Package relay hopes to solve
360
361
this key safety issue.
361
362
362
- An idea original proposed in 2019 for LN saw renewed life in June. The
363
+ An idea originally proposed in 2019 for LN saw renewed life in June. The
363
364
original * fast forwards* idea described how an LN wallet could receive
364
365
or relay a payment with fewer network round-trips, reducing network
365
366
bandwidth and payment latency. The idea was [ expanded] [ ff expanded ]
@@ -374,9 +375,9 @@ decentralized liquidity advertisements system was [merged][cl#4639] into
374
375
an LN implementation. The still-draft [ liquidity ads] [ bolts #878 ]
375
376
proposal allows a node to use the LN gossip protocol to advertise its
376
377
willingness to lease out its funds for a period of time, giving other
377
- nodes the ability to buy incoming capacity that allows them to receive
378
+ nodes the ability to buy inbound capacity that allows them to receive
378
379
instant payments. A node that sees the advertisement can simultaneously
379
- pay for and receive the incoming capacity using a [ dual funded] [ topic
380
+ pay for and receive the inbound capacity using a [ dual funded] [ topic
380
381
dual funding] channel open. Although there’s no way to enforce that the
381
382
advertising node actually routes payments, the proposal does incorporate
382
383
an earlier proposal also [ later used] [ lnd#5709 ] in Lightning Pool that
@@ -393,15 +394,15 @@ Core, [draft BIPs][descriptor bips1] were [created][descriptor bips2] for
393
394
that contain all the information necessary to allow a wallet or other
394
395
program to track payments made to or spent from a particular script or
395
396
set of related scripts (i.e. an address or a set of related addresses
396
- such as in an HD wallet). Descriptors combine well with [ miniscript] [ topic miniscript ] in
397
+ such as in an [ HD wallet] [ topic bip32 ] ). Descriptors combine well with [ miniscript] [ topic miniscript ] in
397
398
allowing a wallet to handle tracking and signing for a larger variety of
398
399
scripts. They also combine well with [ PSBTs] [ topic psbt ] in allowing
399
400
the wallet to determine which keys it controls in a multisig script. By
400
401
the end of the year, Bitcoin Core had made descriptor-based wallets its
401
402
[ default] [ descriptor default ] for newly-created wallets.
402
403
403
- A common way of opening LN channels that had never before been official
404
- supported began to be [ specified] [ 0conf channels ] in July. Zero-conf
404
+ A common way of opening LN channels that had never before been
405
+ part of the LN protocol began to be [ specified] [ 0conf channels ] in July. Zero-conf
405
406
channel opens, also called * turbo channels* , are new single-funded
406
407
channels where the funder gives some or all of their initial funds to
407
408
the acceptor. Those funds are not secure until the channel open
@@ -422,10 +423,10 @@ who offer this service.
422
423
Two related proposals for new signature hash (sighash) types were
423
424
[ combined] [ sighash combo ] into [ BIP118] [ ] . ` SIGHASH_NOINPUT ` , proposed
424
425
in 2017 and partly based on previous proposals going back a decade, was
425
- superseded by [ ` SIGHASH_ANYPREVOUT ` ] [ topic sighash_anyprevout ] first
426
+ superseded by [ ` SIGHASH_ANYPREVOUT ` and ` SIGHASH_ANYPREVOUTANYSCRIPT ` ] [ topic sighash_anyprevout ] first
426
427
[ proposed] [ anyprevout proposed ] in 2019. The new sighash types will
427
428
allow offchain protocols such as LN and [ vaults] [ topic vaults ] to reduce
428
- the amount of intermediate states they need to retain, greatly reducing
429
+ the number of intermediate states they need to retain, greatly reducing
429
430
storage requirements and complexity. For multiparty protocols, the
430
431
benefits may be even more significant by eliminating the number of
431
432
different states that need to be generated in the first place.
@@ -439,11 +440,11 @@ TODO:EXTRA LN migration to real databases:
439
440
440
441
## August
441
442
442
- Fidelity bonds is an idea [ proposed ] [ wiki contract ] at least as early as
443
+ Fidelity bonds is an idea [ described ] [ wiki contract ] at least as early as
443
444
2010 for locking up bitcoins for a period of time in order to create a
444
- cost for misbehavior. Because the bitcoins can't be used again until
445
- their time lock expires, anyone banned or otherwise penalized during the
446
- locking period is prevented from using the same bitcoins to create a new
445
+ cost for misbehavior in third-party systems . Because the bitcoins can't be used again until
446
+ their time lock expires, users in the other system who are banned or otherwise penalized during the
447
+ locking period are prevented from using the same bitcoins to create a new
447
448
virtual identity. In August, JoinMarket put into [ production] [ fi bonds ]
448
449
the first large scale and decentralized use of fidelity bonds. Within
449
450
days of release, over 50 BTC had been timelocked (worth over $2 million
@@ -476,14 +477,14 @@ One feature Bitcoin developers have long discussed is the ability to
476
477
send bitcoins to a script which could limit which other scripts could
477
478
later receive those bitcoins, a mechanism called [ covenants] [ topic
478
479
covenants] . For example, Alice receives bitcoins to a script that can
479
- be spent by her hot wallet---but only by sending it to second script
480
+ be spent by her hot wallet---but only by sending it to a second script
480
481
that time delays any further spend by her hot wallet. During the time
481
482
delay, her cold wallet can claim the funds. If it doesn't, and the time
482
483
delay passes, Alice's hot wallet can spend the funds freely. In
483
484
September, a new ` OP_TAPLEAF_UPDATE_VERIFY ` opcode was
484
485
[ proposed] [ op_tluv ] for creating these sort of covenants in a way that
485
486
takes particular advantage of taproot's ability to spend funds either
486
- using just a signature (keypath spending) or a MAST-like tree of scripts
487
+ using just a signature (keypath spending) or a [ MAST-like] [ topic mast ] tree of scripts
487
488
(scriptpath spending). The new opcode would be especially useful for
488
489
creating [ joinpools] [ topic joinpools ] that could significantly increase
489
490
privacy by allowing multiple users to easily and trustlessly share
@@ -617,7 +618,6 @@ FIXME:write conclusion
617
618
[ rbf default ] : /en/newsletters/2021/06/23/#allowing-transaction-replacement-by-default
618
619
[ nseq default ] : /en/newsletters/2021/06/16/#bip-proposed-for-wallets-to-set-nsequence-by-default-on-taproot-transactions
619
620
[ bcc#20833 ] : /en/newsletters/2021/06/02/#bitcoin-core-20833
620
- [ bcc#22642 ] : /en/newsletters/2021/08/18/#bitcoin-core-22642
621
621
[ ff expanded ] : /en/newsletters/2021/06/09/#receiving-ln-payments-with-a-mostly-offline-private-key
622
622
[ cl#4639 ] : /en/newsletters/2021/07/28/#c-lightning-4639
623
623
[ descriptor bips1 ] : /en/newsletters/2021/07/07/#bips-for-output-script-descriptors
@@ -663,3 +663,6 @@ FIXME:write conclusion
663
663
[ wiki contract ] : https://en.bitcoin.it/wiki/Contract#Example_1:_Providing_a_deposit
664
664
[ cl#4771 ] : /en/newsletters/2021/10/27/#c-lightning-4771
665
665
[ fee bump research ] : /en/newsletters/2021/12/08/#fee-bumping-research
666
+ [ nov cs ] : /en/newsletters/2021/11/17/#changes-to-services-and-client-software
667
+ [ dec cs ] : /en/newsletters/2021/12/15/#changes-to-services-and-client-software
668
+ [ mpa ml ] : https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2021-September/019464.html
0 commit comments