Skip to content

Commit f5b9567

Browse files
committed
News180: edits for feedback (thanks all!)
1 parent 3d3449d commit f5b9567

File tree

1 file changed

+49
-46
lines changed

1 file changed

+49
-46
lines changed

_posts/en/newsletters/2021-12-22-newsletter.md

Lines changed: 49 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -27,22 +27,22 @@ summary], [2019][2019 summary], and [2020][2020 summary].
2727
After years of discussion, January saw the first [release][bcc21] of a
2828
Bitcoin Core version supporting [signets][topic signet], following prior
2929
[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
3232
with certain changes (such as the activation of a soft fork consensus
3333
change). Most software implementing signets also supports a default
3434
signet that provides a particularly convenient environment for software
3535
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
3737
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
3939
developers test their software against that class of problems.
4040

4141
A draft BIP for [bech32m][topic bech32] was also [announced][bech32 bip]
4242
in January. Bech32m addresses are a slight modification of bech32
4343
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
4646
by wallets and services.
4747

4848
Another [first release][cl 0.9.3] of a new protocol was [onion
@@ -76,7 +76,7 @@ signing devices.
7676
problem for LN since 2015, received continued discussion throughout the
7777
year, with a [variety][jam1] of [possible][jam2] solutions
7878
[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.
8080

8181
{:.center}
8282
![Illustration of jamming attacks](/img/posts/2020-12-ln-jamming-attacks.png)
@@ -88,7 +88,7 @@ and the problem remained unmitigated by years end.
8888
Significant [discussion][quant] in March was devoted to analyzing the
8989
risk of quantum computer attacks on Bitcoin, particularly for the case
9090
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
9292
also likely made it harder to steal funds from a limited number of users
9393
if there's a sudden major advance in quantum computing. [Taproot][topic
9494
taproot] doesn't provide this feature and at least one developer was
@@ -123,19 +123,19 @@ addresses.
123123

124124
- **March<!--taproot-->** began with many discussion participants tentatively agreeing
125125
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
127127
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
129129
[mechanism][topic soft fork activation] used to activate taproot.
130130

131-
While activation discussion were underway, there was a final
131+
While activation discussions were underway, there was a final
132132
[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
134134
risk of being stolen by future quantum computers. Many developers
135135
argued that the concerns were unwarranted or, at least, overblown.
136136

137137
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
139139
on the bech32 addresses that are used for payments to original
140140
segwit version addresses fixes a bug which could've caused taproot
141141
users to lose money in some very rare cases. (Original segwit
@@ -155,12 +155,12 @@ addresses.
155155
of the speedy trial activation mechanism. However, the authors of
156156
different implementations of the two different versions came to a
157157
[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.
159159

160160
<!-- TODO:EXTRA: BIPs drama? -->
161161

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
164164
tracking signaling progress became [popular][taproot.watch].
165165

166166
- **June<!--taproot-->** saw miners [lock-in taproot][lockin], committing to enforcing
@@ -183,7 +183,7 @@ addresses.
183183
proposals][bip118 update] were updated to use taproot or [lessons
184184
learned][bip119 update] from its activation.
185185

186-
- **August<!--taproot-->** was quiet for development, although some
186+
- **August<!--taproot-->** was quiet for taproot development, although some
187187
[documentation][reuse risks] related to taproot was written.
188188

189189
- **September<!--taproot-->** saw Bitcoin's most popular open source merchant software
@@ -203,8 +203,8 @@ addresses.
203203
subsequent blocks didn't include any taproot-spending transactions.
204204
However, thanks to the work of several developers and mining pool
205205
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].
208208

209209
- **December<!--taproot-->** saw Bitcoin Core merge a PR that would
210210
allow [descriptor wallets][topic descriptors] to create
@@ -215,7 +215,7 @@ addresses.
215215
Despite complications choosing an activation mechanism for taproot and
216216
some minor confusion immediately after its activation, the final steps
217217
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
219219
expects to continue to spend a significant amount of time writing about
220220
it in the coming years as wallet and infrastructure developers begin
221221
making use of its many features.
@@ -225,7 +225,7 @@ making use of its many features.
225225
## April
226226

227227
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
229229
than the [Simplified Multipath Payments][topic multipath payments]
230230
(SMPs) all major LN implementations currently support. AMPs have a
231231
privacy advantage over SMPs and also ensure that the receiver has
@@ -241,7 +241,7 @@ A discrepancy between the specification of [BIP125][] transaction
241241
[replacement][topic rbf] and the implementation in Bitcoin Core was
242242
[disclosed][bip125 discrep] in May. This didn't put any bitcoins at
243243
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
245245
behavior.
246246

247247
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
250250
addition to prior dual-funding work [merged][cl#4410] this year, this
251251
allows the party initiating the channel open to not only spend funds
252252
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
254254
use of LN is receiving payments instead of sending them.
255255

256256
<div markdown="1" class="callout" id="releases">
@@ -297,7 +297,7 @@ use of LN is receiving payments instead of sending them.
297297
outputs][topic anchor outputs] the default commitment transaction
298298
format, added support for using a pruned Bitcoin full node, allowed
299299
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]
301301
capabilities
302302

303303
- [Bitcoin Core 22.0][] included support for [I2P][topic anonymity
@@ -325,13 +325,14 @@ use of LN is receiving payments instead of sending them.
325325
A new [analysis][csb] discussed in June described an alternative way for
326326
miners to select which transactions they want to include in the blocks
327327
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]
330330
transactions, increasing the effectiveness of that technique.
331331

332332
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
335336
with fee bumping in multiparty protocols and also improve privacy by
336337
allowing more transactions to use uniform settings. Related to privacy,
337338
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.
342343
Neither proposal seemed to make much progress despite few significant
343344
objections.
344345

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]
347348
in Bitcoin Core, the first step towards package relay. [Package
348349
relay][topic package relay] will allow relay nodes and miners to treat
349350
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
351352
low feerate and a child transaction with a high feerate; the
352353
profitability of mining the parent transaction would incentivize miners
353354
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
359360
using presigned transactions, such as LN. Package relay hopes to solve
360361
this key safety issue.
361362

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
363364
original *fast forwards* idea described how an LN wallet could receive
364365
or relay a payment with fewer network round-trips, reducing network
365366
bandwidth and payment latency. The idea was [expanded][ff expanded]
@@ -374,9 +375,9 @@ decentralized liquidity advertisements system was [merged][cl#4639] into
374375
an LN implementation. The still-draft [liquidity ads][bolts #878]
375376
proposal allows a node to use the LN gossip protocol to advertise its
376377
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
378379
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
380381
dual funding] channel open. Although there’s no way to enforce that the
381382
advertising node actually routes payments, the proposal does incorporate
382383
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
393394
that contain all the information necessary to allow a wallet or other
394395
program to track payments made to or spent from a particular script or
395396
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
397398
allowing a wallet to handle tracking and signing for a larger variety of
398399
scripts. They also combine well with [PSBTs][topic psbt] in allowing
399400
the wallet to determine which keys it controls in a multisig script. By
400401
the end of the year, Bitcoin Core had made descriptor-based wallets its
401402
[default][descriptor default] for newly-created wallets.
402403

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
405406
channel opens, also called *turbo channels*, are new single-funded
406407
channels where the funder gives some or all of their initial funds to
407408
the acceptor. Those funds are not secure until the channel open
@@ -422,10 +423,10 @@ who offer this service.
422423
Two related proposals for new signature hash (sighash) types were
423424
[combined][sighash combo] into [BIP118][]. `SIGHASH_NOINPUT`, proposed
424425
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
426427
[proposed][anyprevout proposed] in 2019. The new sighash types will
427428
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
429430
storage requirements and complexity. For multiparty protocols, the
430431
benefits may be even more significant by eliminating the number of
431432
different states that need to be generated in the first place.
@@ -439,11 +440,11 @@ TODO:EXTRA LN migration to real databases:
439440

440441
## August
441442

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
443444
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
447448
virtual identity. In August, JoinMarket put into [production][fi bonds]
448449
the first large scale and decentralized use of fidelity bonds. Within
449450
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
476477
send bitcoins to a script which could limit which other scripts could
477478
later receive those bitcoins, a mechanism called [covenants][topic
478479
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
480481
that time delays any further spend by her hot wallet. During the time
481482
delay, her cold wallet can claim the funds. If it doesn't, and the time
482483
delay passes, Alice's hot wallet can spend the funds freely. In
483484
September, a new `OP_TAPLEAF_UPDATE_VERIFY` opcode was
484485
[proposed][op_tluv] for creating these sort of covenants in a way that
485486
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
487488
(scriptpath spending). The new opcode would be especially useful for
488489
creating [joinpools][topic joinpools] that could significantly increase
489490
privacy by allowing multiple users to easily and trustlessly share
@@ -617,7 +618,6 @@ FIXME:write conclusion
617618
[rbf default]: /en/newsletters/2021/06/23/#allowing-transaction-replacement-by-default
618619
[nseq default]: /en/newsletters/2021/06/16/#bip-proposed-for-wallets-to-set-nsequence-by-default-on-taproot-transactions
619620
[bcc#20833]: /en/newsletters/2021/06/02/#bitcoin-core-20833
620-
[bcc#22642]: /en/newsletters/2021/08/18/#bitcoin-core-22642
621621
[ff expanded]: /en/newsletters/2021/06/09/#receiving-ln-payments-with-a-mostly-offline-private-key
622622
[cl#4639]: /en/newsletters/2021/07/28/#c-lightning-4639
623623
[descriptor bips1]: /en/newsletters/2021/07/07/#bips-for-output-script-descriptors
@@ -663,3 +663,6 @@ FIXME:write conclusion
663663
[wiki contract]: https://en.bitcoin.it/wiki/Contract#Example_1:_Providing_a_deposit
664664
[cl#4771]: /en/newsletters/2021/10/27/#c-lightning-4771
665665
[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

Comments
 (0)