From bb250b4d52173cce5c7b778c4f2afc5bcb1bdf54 Mon Sep 17 00:00:00 2001 From: Mike Schmidt Date: Mon, 17 Nov 2025 12:42:34 -0600 Subject: [PATCH 1/8] News380: fixup notable code --- _posts/en/newsletters/2025-11-14-newsletter.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_posts/en/newsletters/2025-11-14-newsletter.md b/_posts/en/newsletters/2025-11-14-newsletter.md index c54003500..332356e81 100644 --- a/_posts/en/newsletters/2025-11-14-newsletter.md +++ b/_posts/en/newsletters/2025-11-14-newsletter.md @@ -44,7 +44,7 @@ repo], and [BINANAs][binana repo]._ Core’s block validation and chainstate logic via a reusable C library. Currently, it is limited to operations on blocks and has feature parity with the now-defunct `libbitcoin-consensus` (see [Newsletter #288][news288 lib]). - Use cases `libbitcoinkernel` include alternative node implementations, an Electrum server index + Use cases for `libbitcoinkernel` include alternative node implementations, an Electrum server index builder, a [silent payment][topic silent payments] scanner, a block analysis tool, and a script validation accelerator, among others. From 901a612bca10488e14f310e750d81f70b5489ee6 Mon Sep 17 00:00:00 2001 From: Mike Schmidt Date: Mon, 17 Nov 2025 12:46:15 -0600 Subject: [PATCH 2/8] Newsletters: add 381 (2025-11-21) --- .../en/newsletters/2025-11-21-newsletter.md | 46 +++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 _posts/en/newsletters/2025-11-21-newsletter.md diff --git a/_posts/en/newsletters/2025-11-21-newsletter.md b/_posts/en/newsletters/2025-11-21-newsletter.md new file mode 100644 index 000000000..c4c6bc375 --- /dev/null +++ b/_posts/en/newsletters/2025-11-21-newsletter.md @@ -0,0 +1,46 @@ +--- +title: 'Bitcoin Optech Newsletter #381' +permalink: /en/newsletters/2025/11/21/ +name: 2025-11-21-newsletter +slug: 2025-11-21-newsletter +type: newsletter +layout: newsletter +lang: en +--- +FIXME:bitschmidty + +## News + +FIXME:bitschmidty + +## Changes to services and client software + +*In this monthly feature, we highlight interesting updates to Bitcoin +wallets and services.* + +FIXME:bitschmidty + +## Releases and release candidates + +_New releases and release candidates for popular Bitcoin infrastructure +projects. Please consider upgrading to new releases or helping to test +release candidates._ + +FIXME:Gustavojfe + +## Notable code and documentation changes + +_Notable recent changes in [Bitcoin Core][bitcoin core repo], [Core +Lightning][core lightning repo], [Eclair][eclair repo], [LDK][ldk repo], +[LND][lnd repo], [libsecp256k1][libsecp256k1 repo], [Hardware Wallet +Interface (HWI)][hwi repo], [Rust Bitcoin][rust bitcoin repo], [BTCPay +Server][btcpay server repo], [BDK][bdk repo], [Bitcoin Improvement +Proposals (BIPs)][bips repo], [Lightning BOLTs][bolts repo], +[Lightning BLIPs][blips repo], [Bitcoin Inquisition][bitcoin inquisition +repo], and [BINANAs][binana repo]._ + +FIXME:Gustavojfe + +{% include snippets/recap-ad.md when="2025-11-25 16:30" %} +{% include references.md %} +{% include linkers/issues.md v=2 issues="" %} From 94b01aac6c932e77458008bd99214fd4fcf0cfa2 Mon Sep 17 00:00:00 2001 From: kevkevinpal Date: Tue, 18 Nov 2025 17:06:58 -0500 Subject: [PATCH 3/8] News381: news modeling stale rates by propagation --- .../en/newsletters/2025-11-21-newsletter.md | 56 +++++++++++- img/posts/2025-11-stale-rates1.png | Bin 0 -> 3721 bytes img/posts/2025-11-stale-rates1.svg | 64 ++++++++++++++ img/posts/2025-11-stale-rates2.png | Bin 0 -> 3845 bytes img/posts/2025-11-stale-rates2.svg | 81 ++++++++++++++++++ 5 files changed, 199 insertions(+), 2 deletions(-) create mode 100644 img/posts/2025-11-stale-rates1.png create mode 100644 img/posts/2025-11-stale-rates1.svg create mode 100644 img/posts/2025-11-stale-rates2.png create mode 100644 img/posts/2025-11-stale-rates2.svg diff --git a/_posts/en/newsletters/2025-11-21-newsletter.md b/_posts/en/newsletters/2025-11-21-newsletter.md index c4c6bc375..bb5a09006 100644 --- a/_posts/en/newsletters/2025-11-21-newsletter.md +++ b/_posts/en/newsletters/2025-11-21-newsletter.md @@ -11,7 +11,58 @@ FIXME:bitschmidty ## News -FIXME:bitschmidty +- **Modeling stale rates by propagation delay and mining centralization:** + Antoine Poinsot [posted to Delving Bitcoin][antoine delving] about modeling + stale block rates and how block propagation time affects a miner's revenue as + a function of its hashrate given propagation time is zero. He set up a + base-case scenario in which all miners act realistically (with a default + Bitcoin Core node): if they receive a new block, they would immediately start + mining on top of it and publish it. This would lead to revenue proportional to + their share of the hashrate. + + In his model with uniform block propagation, he outlined two situations in which a + block goes stale. + + 1. Another miner found a block **before** this miner did. All other miners received + the competing miner's block first and started mining on top of it. Any of + these miners can then find a second block based on the received block. + + 2. Another miner finds a block **after** this miner did. It immediately starts mining + on top of it. The following block is also found by the same miner. + + Poinsot points out that, between these situations, it is more likely for a + block to become stale in the first situation. This suggests that miners may + care more about hearing others' blocks faster than they care about publishing + their own. He also suggests that the probability of situation 2 increases + significantly with miner centralization. While in both situations the + probability increases as miner hashrate increases, Poinsot wanted to compute + by how much. + + To do this, he created the following two models. + + Where **h** is the share of network hashrate, **s** is the number of seconds + the rest of the network found a competing block before it did, **H** is the + set of hashrates on the network representing its distribution. + + Model for situation 1: + ![Illustration of P(another miner found a block before)](/img/posts/2025-11-stale-rates1.png) + + Model for situation 2: + ![Illustration of P(another miner found a block after)](/img/posts/2025-11-stale-rates2.png) + + He went on to show graphs of probabilities that a miner's block goes stale as + a function of propagation times, given the set distribution of hashrate. The + graphs show how larger miners gain significantly more the longer the + propagation time is. + + For example a mining operation with 5EH/s can expect a revenue of $91M and if + blocks took 10 seconds to propogate the revenue would be increased by $100k. + Keep in mind that the $91M is revenue and not profit so the increased revenue + of $100k would contribute to a larger factor in terms of miner's net profit. + + Below the charts, he provides the methodology for generating the charts and a + link to his [simulation][block prop simulation] which corroborates the + results of the model used to generate the graphs. ## Changes to services and client software @@ -43,4 +94,5 @@ FIXME:Gustavojfe {% include snippets/recap-ad.md when="2025-11-25 16:30" %} {% include references.md %} -{% include linkers/issues.md v=2 issues="" %} +[antoine delving]: https://delvingbitcoin.org/t/propagation-delay-and-mining-centralization-modeling-stale-rates/2110 +[block prop simulation]: https://github.com/darosior/miningsimulation diff --git a/img/posts/2025-11-stale-rates1.png b/img/posts/2025-11-stale-rates1.png new file mode 100644 index 0000000000000000000000000000000000000000..71c201db267ddf07598d1ed3301767b7292f2b2f GIT binary patch literal 3721 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 EKPJbHQ2+n{ literal 0 HcmV?d00001 diff --git a/img/posts/2025-11-stale-rates1.svg b/img/posts/2025-11-stale-rates1.svg new file mode 100644 index 000000000..24fbffa3e --- /dev/null +++ b/img/posts/2025-11-stale-rates1.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/img/posts/2025-11-stale-rates2.png b/img/posts/2025-11-stale-rates2.png new file mode 100644 index 0000000000000000000000000000000000000000..94a4db5f1551457afdcccdf92a7c89bacf98aaab GIT binary patch literal 3845 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 Hu0mjfxVC^9 literal 0 HcmV?d00001 diff --git a/img/posts/2025-11-stale-rates2.svg b/img/posts/2025-11-stale-rates2.svg new file mode 100644 index 000000000..1b1fa31df --- /dev/null +++ b/img/posts/2025-11-stale-rates2.svg @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From f59fbde8dfc32c971b565434a47f148cab1ae7dc Mon Sep 17 00:00:00 2001 From: TumaBitcoiner Date: Wed, 19 Nov 2025 13:05:12 +0100 Subject: [PATCH 4/8] News381: news private key handover --- .../en/newsletters/2025-11-21-newsletter.md | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/_posts/en/newsletters/2025-11-21-newsletter.md b/_posts/en/newsletters/2025-11-21-newsletter.md index bb5a09006..1c8e9bc6a 100644 --- a/_posts/en/newsletters/2025-11-21-newsletter.md +++ b/_posts/en/newsletters/2025-11-21-newsletter.md @@ -64,6 +64,45 @@ FIXME:bitschmidty link to his [simulation][block prop simulation] which corroborates the results of the model used to generate the graphs. +- **Private key handover for collaborative closure**: ZmnSCPxj [posted][privkeyhand post] to Delving + Bitcoin about private key handover, an optimization that protocols can + implement when funds, previously owned by two parties, need to be refunded to + a single entity. This enhancement requires [taproot][topic taproot] and + [MuSig2][topic musig] support to work in the most efficient way. + + An example of such a protocol would be an [HTLC][topic htlc], where one party + pays the other if the preimage is revealed, creating a refunding transaction + that needs to be signed by both parties. Private key handover would allow an + entity to simply handover an ephemeral private key to the other after the + preimage has been revealed, thus giving the receiver complete and unilateral + access to the funds. + + The steps to achieve a private key handover are: + + - When setting up an HTLC, Alice and Bob each exchange an ephemeral and a + permanent public key. + + - The keypath spend branch of the HTLC taproot output is computed as the + MuSig2 of Alice and Bob's ephemeral public keys. + + - At the end of the protocol operations, Bob provides the preimage to Alice, + who in turn hands him over the ephemeral private key. + + - Bob can now derive the combined private key for the MuSig2 sum, gaining full + control over the funds. + + This optimization brings some particular benefits. First of all, in case of a + sudden spike in onchain fees, Bob would be able to [RBF][topic rbf] the + transaction without the other party's collaboration. This feature is + particularly useful for protocol developers, since they would not need to + implement RBF in a simple proof of concept. Second, the receiver would be + able to batch the transaction claiming the funds with any other operation. + + Private key handover is limited to protocols that require the remaining funds + to be transferred entirely to a single beneficiary. Thus, [splicing][topic + splicing] or cooperative closure of Lightning channels would not benefit from + this. + ## Changes to services and client software *In this monthly feature, we highlight interesting updates to Bitcoin @@ -96,3 +135,4 @@ FIXME:Gustavojfe {% include references.md %} [antoine delving]: https://delvingbitcoin.org/t/propagation-delay-and-mining-centralization-modeling-stale-rates/2110 [block prop simulation]: https://github.com/darosior/miningsimulation +[privkeyhand post]: https://delvingbitcoin.org/t/private-key-handover/2098 From d5ac9370de20d466505ca2b1d3ff4eb643e61e4b Mon Sep 17 00:00:00 2001 From: Gustavojfe <106698848+Gustavojfe@users.noreply.github.com> Date: Thu, 20 Nov 2025 08:07:25 +0000 Subject: [PATCH 5/8] News381: add merge summaries --- .../en/newsletters/2025-11-21-newsletter.md | 90 ++++++++++++++++++- 1 file changed, 89 insertions(+), 1 deletion(-) diff --git a/_posts/en/newsletters/2025-11-21-newsletter.md b/_posts/en/newsletters/2025-11-21-newsletter.md index 1c8e9bc6a..cf0fb255d 100644 --- a/_posts/en/newsletters/2025-11-21-newsletter.md +++ b/_posts/en/newsletters/2025-11-21-newsletter.md @@ -129,10 +129,98 @@ Proposals (BIPs)][bips repo], [Lightning BOLTs][bolts repo], [Lightning BLIPs][blips repo], [Bitcoin Inquisition][bitcoin inquisition repo], and [BINANAs][binana repo]._ -FIXME:Gustavojfe +- [Bitcoin Core #33745][] ensures that blocks submitted by an external + [StratumV2][topic pooled mining] client via the new mining inter-process + communication (IPC) `submitSolution()` interface (see [Newsletter + #325][news325 ipc]) have their witness commitment revalidated. Previously, + Bitcoin Core only checked for this during the original template construction, + which allowed a block with an invalid or missing witness commitment to be + accepted as the best chain tip. + +- [Core Lightning #8537][] sets the `maxparts` limit (see [Newsletter + #379][news379 parts]) on `xpay` to six when first trying to pay a non-publicly + reachable node using [MPP][topic multipath payments]. This conforms to the + reception limit of six [HTLCs][topic htlc] on Phoenix-based nodes for + on-the-fly funding (see [Newsletter #323][news323 fly]), a type of [JIT + channel][topic jit channels]. If routing fails under that cap, `xpay` removes + the limit and retries. + +- [Core Lightning #8608][] introduces node-level biases to `askrene` (see + [Newsletter #316][news316 askrene]), alongside existing channel biases. A new + `askrene-bias-node` RPC command is added to favor or disfavor all outgoing or + incoming channels of a specified node. A `timestamp` field is added to biases + so that they expire after a certain period. + +- [Core Lightning #8646][] updates the reconnection logic for [spliced][topic + splicing] channels, aligning it with the proposed specification changes in + [BOLTs #1160][] and [BOLTs #1289][]. Specifically, it enhances the + `channel_reestablish` TLVs so that peers can reliably synchronize splice state + and communicate what needs to be retransmitted. This update is a breaking + change for spliced channels, so both sides must upgrade simultaneously to + avoid disruptions. See [Newsletter #374][news374 ldk] for a similar change in + LDK. + +- [Core Lightning #8569][] adds experimental support for [JIT channels][topic + jit channels], as specified by [BLIP52][] (LSPS2), in the `lsp-trusts-client` mode and + without [MPP][topic multipath payments] support. This feature is gated behind + the `experimental-lsps-client` and `experimental-lsps2-service` options and it + represents the first step toward providing full support for JIT channels. + +- [Core Lightning #8558][] adds a `listnetworkevents` RPC command, which + displays the history of peer connections, disconnections, failures, and ping + latencies. It also introduces an `autoclean-networkevents-age` config option + (default 30 days) to control how long network event logs are kept. + +- [LDK #4126][] introduces `ReceiveAuthKey`-based authentication verification on + [blinded payment paths][topic rv routing], replacing the older per-hop + HMAC/nonce scheme (see [Newsletter #335][news335 hmac]). This builds on [LDK + #3917][], which added `ReceiveAuthKey` for blinded message paths. Reducing the + per-hop data shrinks the payload and paves the way for dummy payment hops in a + future PR, similar to the dummy message hops (see [Newsletter #370][news370 + dummy]). + +- [LDK #4208][] updates its weight estimation to consistently assume 72-byte + DER-encoded signatures, instead of using 72 in some places and 73 in others. + 73-byte signatures are non-standard and LDK never produces them. See + [Newsletter #379][news379 sign] for a related change in Eclair. + +- [LND #9432][] adds a new global `upfront-shutdown-address` configuration + option, which specifies a default Bitcoin address for cooperative channel + closures, unless overridden when opening or accepting a specific channel. This + builds on the upfront shutdown feature specified in [BOLT2][]. See [Newsletter + #76][news76 upfront] for previous coverage on LND’s implementation. + +- [BOLTs #1284][] updates BOLT11 to clarify that when an `n` field is present in + an invoice, the signature must be in normalized lower-S form, and when it is + absent, public key recovery may accept either high-S and low-S signatures. See + Newsletters [#371][news371 eclair] and [#373][news373 ldk] for recent LDK and + Eclair changes that implement this behavior. + +- [BOLTs #1044][] specifies the optional [attributable failures][topic + attributable failures] feature, which adds attribution data to failure + messages so that hops commit to the messages they send. If a node corrupts a + failure message, the sender can identify and penalize the node later. For more + details on the mechanism and the LDK and Eclair implementations, see + Newsletters [#224][news224 fail], [#349][news349 fail] and [#356][news356 + fail]. {% include snippets/recap-ad.md when="2025-11-25 16:30" %} {% include references.md %} +{% include linkers/issues.md v=2 issues="33745,8537,8608,8646,1160,1289,8569,8558,4126,3917,4208,9432,1284,1044" %} [antoine delving]: https://delvingbitcoin.org/t/propagation-delay-and-mining-centralization-modeling-stale-rates/2110 [block prop simulation]: https://github.com/darosior/miningsimulation [privkeyhand post]: https://delvingbitcoin.org/t/private-key-handover/2098 +[news325 ipc]: /en/newsletters/2024/10/18/#bitcoin-core-30955 +[news379 parts]: /en/newsletters/2025/11/07/#core-lightning-8636 +[news323 fly]: /en/newsletters/2024/10/04/#eclair-2861 +[news316 askrene]: /en/newsletters/2024/08/16/#core-lightning-7517 +[news374 ldk]: /en/newsletters/2025/10/03/#ldk-4098 +[news335 hmac]: /en/newsletters/2025/01/03/#ldk-3435 +[news370 dummy]: /en/newsletters/2025/09/05/#ldk-3726 +[news379 sign]: /en/newsletters/2025/11/07/#eclair-3210 +[news76 upfront]: /en/newsletters/2019/12/11/#lnd-3655 +[news371 eclair]: /en/newsletters/2025/09/12/#eclair-3163 +[news373 ldk]: /en/newsletters/2025/09/26/#ldk-4064 +[news224 fail]: /en/newsletters/2022/11/02/#ln-routing-failure-attribution +[news349 fail]: /en/newsletters/2025/04/11/#ldk-2256 +[news356 fail]: /en/newsletters/2025/05/30/#eclair-3065 From fd087287c4d309ef6f0e1a5b07b6b4c9ab521bfe Mon Sep 17 00:00:00 2001 From: Mike Schmidt Date: Thu, 20 Nov 2025 09:21:28 -0600 Subject: [PATCH 6/8] News381: add lede --- _posts/en/newsletters/2025-11-21-newsletter.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/_posts/en/newsletters/2025-11-21-newsletter.md b/_posts/en/newsletters/2025-11-21-newsletter.md index cf0fb255d..35d48dc95 100644 --- a/_posts/en/newsletters/2025-11-21-newsletter.md +++ b/_posts/en/newsletters/2025-11-21-newsletter.md @@ -7,7 +7,11 @@ type: newsletter layout: newsletter lang: en --- -FIXME:bitschmidty +This week's newsletter looks at an analysis of how block propagation times may +affect miner revenue and describes a new approach for resolving protocols where +multiple parties share funds. Also included are our regular sections describing +recent changes to services and client software and summarizing recent merges to +popular Bitcoin infrastructure software. ## News From 832a81550f8b4db539ca0632b238f037046addd5 Mon Sep 17 00:00:00 2001 From: Mike Schmidt Date: Thu, 20 Nov 2025 10:27:58 -0600 Subject: [PATCH 7/8] News381: add client services --- .../en/newsletters/2025-11-21-newsletter.md | 49 +++++++++++++++---- 1 file changed, 40 insertions(+), 9 deletions(-) diff --git a/_posts/en/newsletters/2025-11-21-newsletter.md b/_posts/en/newsletters/2025-11-21-newsletter.md index 35d48dc95..e77ab6528 100644 --- a/_posts/en/newsletters/2025-11-21-newsletter.md +++ b/_posts/en/newsletters/2025-11-21-newsletter.md @@ -112,15 +112,37 @@ popular Bitcoin infrastructure software. *In this monthly feature, we highlight interesting updates to Bitcoin wallets and services.* -FIXME:bitschmidty - -## Releases and release candidates - -_New releases and release candidates for popular Bitcoin infrastructure -projects. Please consider upgrading to new releases or helping to test -release candidates._ - -FIXME:Gustavojfe +- **Arkade launches:** + [Arkade][ark labs blog] is an [Ark protocol][topic ark] implementation which + also includes multiple programming language SDKs, a wallet, a BTCPayServer + plugin, and other features. + +- **Mempool monitoring mobile application:** + The [Mempal][mempal gh] Android application provides various metrics and + alerts about the Bitcoin network, sourcing data from a self-hosted mempool server. + +- **Web-based policy and miniscript IDE:** + [Miniscript Studio][miniscript studio site] provides an interface for + interacting with [miniscript][topic miniscript] and the policy language. A + [blog post][miniscript studio blog] describes the features and the + [source][miniscript studio gh] is available. + +- **Phoenix Wallet adds taproot channels:** + Phoenix Wallet [added][phoenix post] support for [taproot][topic taproot] + channels, a migration workflow for existing channels, and multi-wallet + features. + +- **Nunchuk 2.0 launches:** + [Nunchuk 2.0][nunchuk blog] supports wallet configurations using multisig, + [timelocks][topic timelocks], and miniscript. It also includes degrading + multisig features. + +- **LN gossip traffic analysis tool announced:** + [Gossip Observer][gossip observer gh] collects Lightning Network gossip + messages from multiple nodes and provides summary metrics. The results may + inform a [minisketch][topic minisketch]-like set reconciliation protocol for + Lightning. A [Delving Bitcoin topic][gossip observer delving] includes + discussion about the approach. ## Notable code and documentation changes @@ -228,3 +250,12 @@ repo], and [BINANAs][binana repo]._ [news224 fail]: /en/newsletters/2022/11/02/#ln-routing-failure-attribution [news349 fail]: /en/newsletters/2025/04/11/#ldk-2256 [news356 fail]: /en/newsletters/2025/05/30/#eclair-3065 +[ark labs blog]: https://blog.arklabs.xyz/press-start-arkade-goes-live/ +[mempal gh]: https://github.com/aeonBTC/Mempal +[miniscript studio gh]: https://github.com/adyshimony/miniscript-studio +[miniscript studio blog]: https://adys.dev/blog/miniscript-studio-intro +[miniscript studio site]: https://adys.dev/miniscript +[phoenix post]: https://x.com/PhoenixWallet/status/1983524047712391445 +[nunchuk blog]: https://nunchuk.io/blog/autonomous-inheritance +[gossip observer gh]: https://github.com/jharveyb/gossip_observer +[gossip observer delving]: https://delvingbitcoin.org/t/gossip-observer-new-project-to-monitor-the-lightning-p2p-network/2105 From 9856da885986211095d8cf30eb4bd2926d4a60b4 Mon Sep 17 00:00:00 2001 From: Mike Schmidt Date: Fri, 21 Nov 2025 06:47:44 -0600 Subject: [PATCH 8/8] News381: add topics --- _topics/en/ark.md | 3 +++ _topics/en/minisketch.md | 3 +++ 2 files changed, 6 insertions(+) diff --git a/_topics/en/ark.md b/_topics/en/ark.md index f312e13cf..0ec7b5643 100644 --- a/_topics/en/ark.md +++ b/_topics/en/ark.md @@ -52,6 +52,9 @@ optech_mentions: - title: "Summary and criticism of CTV + CSFS benefits for Ark" url: /en/newsletters/2025/04/04/#ark + - title: "Ark Labs launches Arkade" + url: /en/newsletters/2025/11/21/#arkade-launches + ## Optional. Same format as "primary_sources" above see_also: - title: Joinpools diff --git a/_topics/en/minisketch.md b/_topics/en/minisketch.md index 7d9be096f..5e43da4c0 100644 --- a/_topics/en/minisketch.md +++ b/_topics/en/minisketch.md @@ -44,6 +44,9 @@ optech_mentions: - title: Discussion about using minisketch to improve efficiency of block template sharing url: /en/newsletters/2025/08/22/#draft-bip-for-block-template-sharing + - title: Gossip analysis to inform minisketch-like set reconciliation protocol for LN + url: /en/newsletters/2025/11/21/#ln-gossip-traffic-analysis-tool-announced + ## Optional. Same format as "primary_sources" above see_also: - title: Erlay