Skip to content

Commit d7df461

Browse files
Gustavojfebitschmidty
authored andcommitted
News316: add notable code section
1 parent 7e88d23 commit d7df461

7 files changed

Lines changed: 112 additions & 28 deletions

File tree

_posts/en/newsletters/2024-08-16-newsletter.md

Lines changed: 94 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -220,38 +220,97 @@ Proposals (BIPs)][bips repo], [Lightning BOLTs][bolts repo],
220220
[Lightning BLIPs][blips repo], [Bitcoin Inquisition][bitcoin inquisition
221221
repo], and [BINANAs][binana repo]._
222222

223-
<!-- FIXME:Gustavojfe -->
224-
225-
- [Bitcoin Core #29519][] p2p: For assumeutxo, download snapshot chain before background chain
226-
227-
- [Bitcoin Core #30598][] assumeutxo: Drop block height from metadata
228-
229-
- [Bitcoin Core #28280][] Don't empty dbcache on prune flushes: >30% faster IBD
230-
231-
- [Bitcoin Core #28052][] blockstorage: XOR blocksdir \*.dat files
232-
233-
- [Core Lightning #7528][] onchaind: Adjust the sweep target deadline for fee estimation
234-
235-
- [Core Lightning #7533][] bkpr: properly account for fees and channel closures if splice
236-
237-
- [Core Lightning #7517][] askrene
238-
239-
- [LND #8955][] yyforyongyu/cr-8516-240729-sendcoins
240-
241-
- [LND #8886][] bitromortac/buildroute-inbound-fees
242-
243-
- [LND #8967][] add wire messages for quiescence
244-
245-
- [LDK #3215][] tx-sync: Protect against Core's Merkle leaf node weakness
246-
247-
- [BIPs #1658][] BIP94: Change timewarp delta to 7200 seconds
248-
249-
- [BLIPs #27][] blip-0004: add experimental HTLC endorsement signaling
223+
- [Bitcoin Core #29519][] resets the `pindexLastCommonBlock` value after an
224+
[assumeUTXO][topic assumeutxo] snapshot is loaded, so that a node prioritizes
225+
downloading blocks after the most recent block in the snapshot. This fixes a
226+
bug where a node would set `pindexLastCommonBlock` from existing peers before
227+
loading the snapshot and start downloading blocks from that much-older block.
228+
Although older blocks still need to be downloaded for assumeUTXO's
229+
background validation, newer blocks should receive priority so that
230+
users can see whether their recent transactions have been confirmed.
231+
232+
- [Bitcoin Core #30598][] removes block height from the [assumeUTXO][topic
233+
assumeutxo] snapshot file metadata as it is not a unique identifier in a
234+
pre-sanitized untrusted file compared to the block hash that is kept. A node
235+
can still obtain block height from many other internal sources.
236+
237+
- [Bitcoin Core #28280][] optimizes Initial Block Download (IBD) performance for
238+
pruned nodes by not emptying the UTXO cache during pruning flushes. It does
239+
this by separately tracking "dirty" cache entries---entries that have changed since they
240+
were last written to the database. This allows a node to avoid
241+
unnecessarily scanning the entire cache during prune flushes and instead focus
242+
on the dirty entries. The optimization results in up to 32% faster IBD for
243+
pruned nodes with high `dbcache` settings, and about 9% improvement with
244+
default settings. See Newsletter [#304][news304 cache].
245+
246+
- [Bitcoin Core #28052][] adds [XOR][] encoding to `blocksdir *.dat` files on
247+
creation as a preventative mechanism against unintentional and accidental data
248+
corruption by anti-virus or similar software. This can be
249+
optionally disabled and doesn't protect against intentional data corruption
250+
attacks. This was implemented for the `chainstate` files in [Bitcoin Core
251+
#6650][] in September 2015 and the mempool in [#28207][bitcoin core
252+
#28207] in November 2023 (see [Newsletter #277][news277 bcc28207]).
253+
254+
- [Core Lightning #7528][] adjusts the [fee rate estimation][topic fee
255+
estimation] for sweeps of non-time-sensitive unilateral channel closures to an
256+
absolute deadline of 2016 blocks (approximately 2 weeks). Previously, the fee
257+
rate was set to target confirmation within 300 blocks, which sometimes caused
258+
transactions to be stuck at the [minimum relay fee limit][topic default
259+
minimum transaction relay feerates], resulting in indefinite delays.
260+
261+
- [Core Lightning #7533][] updates the internal coin movement notifications and
262+
the transaction bookkeeper to properly account for the spending of funding
263+
outputs for [splicing][topic splicing] transactions. Previously, there was no
264+
logging or tracking of this.
265+
266+
- [Core Lightning #7517][] introduces `askrene`, a new experimental plugin and
267+
API infrastructure for minimum-cost pathfinding based on the `renepay` plugin
268+
(See Newsletter [#263][news263 renepay]) for an improved implementation of
269+
Pickhart Payments. The `getroutes` RPC command allows the specification of
270+
persistent channel capacity data and transient information such as [blinded
271+
paths][topic rv routing] or route hints, and returns a set of possible routes
272+
along with their estimated probability of success. Several other RPC commands
273+
are added to manage routing data in layers by adding channels, manipulating
274+
channel data, excluding nodes from routing, inspecting layer data, and
275+
managing ongoing payment attempts.
276+
277+
- [LND #8955][] adds an optional `utxo` field on the `sendcoins` command (and
278+
`Outpoints` for the corresponding `SendCoinsRequest` RPC command) to simplify
279+
the [coin selection][topic coin selection] user experience to a single step.
280+
Previously, a user had to go through a multi-step command process that
281+
included coin selection, fee estimation, [PSBT][topic psbt] funding, PSBT
282+
completion, and transaction broadcasting.
283+
284+
- [LND #8886][] updates the `BuildRoute` function to support [inbound forwarding
285+
fees][topic inbound forwarding fees] by reversing the pathfinding process, now
286+
working from receiver to sender, allowing for more accurate fee calculations
287+
over multiple hops. See Newsletter [#297][news297 inboundfees] for more on
288+
inbound fees.
289+
290+
- [LND #8967][] adds a new wire message type `Stfu` (SomeThing Fundamental is
291+
Underway) designed to lock the channel state before initiating [protocol
292+
upgrades][topic channel commitment upgrades]. The `Stfu` message type includes
293+
fields for the channel id, an initiator flag, and additional data for
294+
potential future extensions. This is part of the Quiescence protocol
295+
implementation (see Newsletter [#309][news309 quiescence]).
296+
297+
- [LDK #3215][] checks that a transaction is at least 65 bytes long to protect
298+
against an [unlikely and costly attack][spv attack] against a light client SPV
299+
wallet where a valid SPV proof can be created for a fake 64-byte transaction
300+
by matching the hash of an inner merkle node. See [merkle tree
301+
vulnerabilities][topic merkle tree vulnerabilities].
302+
303+
- [BLIPs #27][] adds BLIP04 for an experimental [HTLC endorsement][topic htlc
304+
endorsement] signaling protocol proposal to partially mitigate [channel
305+
jamming attacks][topic channel jamming attacks] on the network. It outlines
306+
the experimental endorsement TLV values, the deployment approach, and the
307+
eventual deprecation of the experimental phase when HTLC endorsements are
308+
merged into the BOLTs.
250309

251310
{% assign four_days_after_posting = page.date | date: "%s" | plus: 345600 | date: "%Y-%m-%d 14:30" %}
252311
{% include snippets/recap-ad.md when=four_days_after_posting %}
253312
{% include references.md %}
254-
{% include linkers/issues.md v=2 issues="29519,30598,28280,28052,7528,7533,7517,8955,8886,8967,3215,1658,27,30454,42" %}
313+
{% include linkers/issues.md v=2 issues="29519,30598,28280,28052,7528,7533,7517,8955,8886,8967,3215,1658,27,30454,42,6650,28207" %}
255314
[BDK 1.0.0-beta.1]: https://github.com/bitcoindevkit/bdk/releases/tag/v1.0.0-beta.1
256315
[erhardt se]: https://bitcoin.stackexchange.com/a/123700
257316
[erhardt warp]: https://delvingbitcoin.org/t/zawy-s-alternating-timestamp-attack/1062
@@ -267,3 +326,10 @@ repo], and [BINANAs][binana repo]._
267326
[fields cmake]: https://mailing-list.bitcoindevs.xyz/bitcoindev/6cfd5a56-84b4-4cbc-a211-dd34b8942f77n@googlegroups.com/
268327
[Core Lightning 24.08rc2]: https://github.com/ElementsProject/lightning/releases/tag/v24.08rc2
269328
[LND v0.18.3-beta.rc1]: https://github.com/lightningnetwork/lnd/releases/tag/v0.18.3-beta.rc1
329+
[news304 cache]: /en/newsletters/2024/05/24/#bitcoin-core-28233
330+
[news263 renepay]: /en/newsletters/2023/08/09/#core-lightning-6376
331+
[news309 quiescence]: /en/newsletters/2024/06/28/#bolts-869
332+
[spv attack]: https://web.archive.org/web/20240329003521/https://bitslog.com/2018/06/09/leaf-node-weakness-in-bitcoin-merkle-tree-design/
333+
[news297 inboundfees]: /en/newsletters/2024/04/10/#lnd-6703
334+
[news277 bcc28207]: /en/newsletters/2023/11/15/#bitcoin-core-28207
335+
[xor]: https://en.wikipedia.org/wiki/One-time_pad

_topics/en/assumeutxo.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@ optech_mentions:
6464
- title: "Bitcoin Core #30320 only loads a AssumeUTXO snapshot if it's the ancestor of the most-PoW chain"
6565
url: /en/newsletters/2024/07/26/#bitcoin-core-30320
6666

67+
- title: "Bitcoin Core #30598 removes block height from the assumeUTXO snapshot file metadata"
68+
url: /en/newsletters/2024/08/16/#bitcoin-core-30598
69+
6770
## Optional. Same format as "primary_sources" above
6871
see_also:
6972
- title: "Bitcoin Core issue #15605: AssumeUTXO discussion"

_topics/en/channel-commitment-upgrades.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ optech_mentions:
4444
- title: "LND #8952 refactors code to make it easier to implement dynamic commitments"
4545
url: /en/newsletters/2024/08/09/#lnd-8952
4646

47+
- title: "LND #8967 adds Stfu wire message to lock channel state before initiating protocol upgrades"
48+
url: /en/newsletters/2024/08/16/#lnd-8967
49+
4750
## Optional. Same format as "primary_sources" above
4851
see_also:
4952
- title: Anchor outputs

_topics/en/htlc-endorsement.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ optech_mentions:
5353
- title: "Eclair #2884 implements BLIP4 for HTLC endorsement"
5454
url: /en/newsletters/2024/08/09/#eclair-2884
5555

56+
- title: "BLIPs #27 adds BLIP04 for an experimental HTLC endorsement signaling protocol"
57+
url: /en/newsletters/2024/08/16/#blips-27
58+
5659
## Optional. Same format as "primary_sources" above
5760
see_also:
5861
- title: Channel jamming attacks

_topics/en/inbound-forwarding-fees.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ optech_mentions:
2929
- title: "LND #8627 defaults to rejecting channel settings that require above-zero inbound forwarding fees"
3030
url: /en/newsletters/2024/05/01/#lnd-8627
3131

32+
- title: "LND #8886 updates the BuildRoute function to support inbound forwarding fees"
33+
url: /en/newsletters/2024/08/16/#lnd-8886
34+
3235
## Optional. Same format as "primary_sources" above
3336
# see_also:
3437
# - title:

_topics/en/merkle-tree-vulnerabilities.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ optech_mentions:
5353
- title: "CVE-2017-12842: Bitcoin Core PR Review Club discussion about lowering min relayable tx size"
5454
url: /en/newsletters/2022/11/09/#bitcoin-core-pr-review-club
5555

56+
- title: "LDK #3215 rejects transactions less than 65 bytes to protect against merkle tree vulnerabilites"
57+
url: /en/newsletters/2024/08/16/#ldk-3215
58+
5659
## Optional. Same format as "primary_sources" above
5760
see_also:
5861
- title: CVEs

_topics/en/offers.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,9 @@ optech_mentions:
118118
- title: "LDK #3139 improves the security of BOLT12 offers by authenticating the use of blinded paths"
119119
url: /en/newsletters/2024/08/02/#ldk-3139
120120

121+
- title: "Proposal to allow opt-in identification and authentication of LN payers when using offers"
122+
url: /en/newsletters/2024/08/16/#optional-identification-and-authentication-of-ln-payers
123+
121124
## Optional. Same format as "primary_sources" above
122125
see_also:
123126
- title: Blinded paths

0 commit comments

Comments
 (0)