Skip to content

Commit 2faedda

Browse files
hardingbitschmidty
authored andcommitted
Newsletters: add 347 (2025-03-28)
1 parent 26a9fa4 commit 2faedda

File tree

2 files changed

+194
-0
lines changed

2 files changed

+194
-0
lines changed
Lines changed: 194 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,194 @@
1+
---
2+
title: 'Bitcoin Optech Newsletter #347'
3+
permalink: /en/newsletters/2025/03/28/
4+
name: 2025-03-28-newsletter
5+
slug: 2025-03-28-newsletter
6+
type: newsletter
7+
layout: newsletter
8+
lang: en
9+
---
10+
This week's newsletter describes a proposal to allow LN to support
11+
upfront and hold fees based on burnable outputs, summarizes discussion
12+
about testnets 3 and 4 (including a hard fork proposal), and announces a
13+
plan to begin relaying certain transactions containing taproot annexes.
14+
Also included are our regular sections summarizing selected questions
15+
and answers from the Bitcoin Stack Exchange, announcing new releases and
16+
release candidates, and describing notable changes to popular Bitcoin
17+
infrastructure projects.
18+
19+
## News
20+
21+
- **LN upfront and hold fees using burnable outputs:** John Law
22+
[posted][law fees] to Delving Bitcoin the summary of a [paper][law fee
23+
paper] he's written about a protocol nodes can use to charge two
24+
additional types of fees for forwarding payments. An _upfront fee_
25+
would be paid by the ultimate spender to compensate forwarding nodes
26+
for temporarily using an _HTLC slot_ (one of the limited number of
27+
concurrent allocations available in a channel for enforcing
28+
[HTLCs][topic htlc]). A _hold fee_ would be paid by any node that
29+
delays the settlement of an HTLC; the amount of this fee would scale with
30+
the length of the delay up until the maximum amount was reached at the
31+
time the HTLC expired. His post and paper cite several prior
32+
discussions about upfront and hold fees, such as those summarized in
33+
Newsletters [#86][news86 reverse upfront], [#119][news119 trusted
34+
upfront], [#120][news120 upfront], [#122][news122 bi-directional],
35+
[#136][news136 more fee], and [#263][news263 dos philosophy].
36+
37+
The proposed protocol builds on the ideas of Law's _offchain payment
38+
resolution_ (OPR) protocol (see [Newsletter #329][news329 opr]), which
39+
has channel co-owners each allocate 100% of the amount of funds at stake
40+
(so 200% total) to a _burnable output_ that either of them can
41+
unilaterally destroy. The funds at stake in this case are the upfront
42+
fee plus the maximum hold fees. If both parties are later satisfied
43+
that the protocol has been followed correctly, e.g. that all fees were
44+
paid correctly, they remove the burnable output from future versions
45+
of their offchain transactions. If either party is unsatisfied, they
46+
close the channel and destroy the burnable funds. Although the
47+
unsatisfied party loses funds in this case, so does the other party,
48+
preventing either party from benefiting from violating the protocol.
49+
50+
Law describes the protocol as a solution for [channel jamming
51+
attacks][topic channel jamming attacks], a weakness in LN first
52+
described [almost a decade ago][russell loop] that allows an attacker
53+
to almost costlessly prevent other nodes from using some or all of
54+
their funds. In a [reply][harding fee], it was noted that the
55+
addition of hold fees might make [hold invoices][topic hold invoices]
56+
more sustainable for the network.
57+
58+
- **Discussion of testnets 3 and 4:** Sjors Provoost [posted][provoost
59+
testnet3] to the Bitcoin-Dev mailing list to ask whether anyone was
60+
still using testnet3 now that testnet4 has been available for about
61+
six months (see [Newsletter #315][news315 testnet4]). Andres
62+
Schildbach [replied][schildbach testnet3] with an intention to
63+
continue using testnet3 in the testnet version of his popular wallet
64+
for at least a year. Olaoluwa Osuntokun [noted][osuntokun testnet3]
65+
that testnet3 has recently been much more stable than testnet4. He
66+
illustrated his point by including screenshots of the
67+
block trees for both testnets taken from the [Fork.Observer][]
68+
website. Below find our own screenshot showing the state of testnet4
69+
at the time of writing:
70+
71+
![Fork Monitor showing the tree of blocks on testnet4 on 2025-03-25](/img/posts/2025-03-fork-monitor-testnet3.png)
72+
73+
After Osuntokun's post, Antoine Poinsot started a [separate
74+
thread][poinsot testnet4] to focus on the testnet4 issues. He argues
75+
that the testnet4 problems are a consequence of the difficulty reset
76+
rule. This rule, which only applies to testnet, allows a block to be
77+
valid with minimum difficulty if its header time is 20 minutes later
78+
than its parent block. Provoost goes into more [detail][provoost
79+
testnet4] about the problem. Poinsot proposes a testnet4 hard fork
80+
to remove the rule. Mark Erhardt [suggests][erhardt testnet4] a date
81+
for the fork: 2026-01-08.
82+
83+
- **Plan to relay certain taproot annexes:** Peter Todd [announced][todd
84+
annex] to the Bitcoin-Dev mailing list his plan to update his Bitcoin
85+
Core-based node, Libre Relay, to begin relaying transactions
86+
containing taproot [annexes][topic annex] if they follow particular
87+
rules:
88+
89+
- _0x00 prefix:_ "all non-empty annexes start with the byte 0x00, to
90+
distinguish them from [future] consensus-relevant annexes."
91+
92+
- _All-or-nothing:_ "All inputs have an annex. This ensures that use
93+
of the annex is opt-in, preventing [transaction pinning][topic
94+
transaction pinning] attacks in multi-party protocols."
95+
96+
The plan is based on a 2023 [pull request][bitcoin core #27926] by
97+
Joost Jager, which was itself based on a prior discussion started by
98+
Jager (see [Newsletter #255][news255 annex]). In Jager's words, the
99+
previous pull request also "limit[ed] the maximum size of unstructured
100+
annex data to 256 bytes [...] somewhat protect[ing] participants in a
101+
multi-party transaction that uses the annex against annex inflation."
102+
Todd's version does not include this rule; he believes "the
103+
requirement to opt-in to annex usage should be sufficient". If it's
104+
not, he describes an additional relay change that could prevent
105+
counterparty pinning.
106+
107+
As of this writing, nobody in the current mailing list thread has
108+
described how they expect the annex to be used.
109+
110+
## Selected Q&A from Bitcoin Stack Exchange
111+
112+
*[Bitcoin Stack Exchange][bitcoin.se] is one of the first places Optech
113+
contributors look for answers to their questions---or when we have a
114+
few spare moments to help curious or confused users. In
115+
this monthly feature, we highlight some of the top-voted questions and
116+
answers posted since our last update.*
117+
118+
{% comment %}<!-- https://bitcoin.stackexchange.com/search?tab=votes&q=created%3a1m..%20is%3aanswer -->{% endcomment %}
119+
{% assign bse = "https://bitcoin.stackexchange.com/a/" %}
120+
121+
FIXME:bitschmidty
122+
123+
## Releases and release candidates
124+
125+
_New releases and release candidates for popular Bitcoin infrastructure
126+
projects. Please consider upgrading to new releases or helping to test
127+
release candidates._
128+
129+
- [Bitcoin Core 29.0rc2][] is a release candidate for the next major
130+
version of the network's predominate full node. Please see the
131+
[version 29 testing guide][bcc29 testing guide].
132+
133+
- [LND 0.19.0-beta.rc1][] is a release candidate for this popular LN
134+
node. One of the major improvements that could probably use testing
135+
is the new RBF-based fee bumping for cooperative closes described
136+
below in the notable code changes section.
137+
138+
<!-- FIXME:harding to update Thursday -->
139+
140+
## Notable code and documentation changes
141+
142+
_Notable recent changes in [Bitcoin Core][bitcoin core repo], [Core
143+
Lightning][core lightning repo], [Eclair][eclair repo], [LDK][ldk repo],
144+
[LND][lnd repo], [libsecp256k1][libsecp256k1 repo], [Hardware Wallet
145+
Interface (HWI)][hwi repo], [Rust Bitcoin][rust bitcoin repo], [BTCPay
146+
Server][btcpay server repo], [BDK][bdk repo], [Bitcoin Improvement
147+
Proposals (BIPs)][bips repo], [Lightning BOLTs][bolts repo],
148+
[Lightning BLIPs][blips repo], [Bitcoin Inquisition][bitcoin inquisition
149+
repo], and [BINANAs][binana repo]._
150+
151+
- [Bitcoin Core #31603][] descriptor: check whitespace in keys within fragments
152+
153+
- [Eclair #3044][] Remove amount-based confirmation scaling
154+
155+
- [Eclair #3026][] Support p2tr bitcoin wallet
156+
157+
- [LDK #3649][] Add BOLT12 support to bLIP-51 / LSPS1
158+
159+
- [LDK #3665][] lightning-invoice: explicitly enforce a 7089 B max length on BOLT11 invoice deser
160+
161+
- [LND #9610][] multi: integrate rbf changes from staging branch
162+
163+
- [BIPs #1792][] BIP119 language overhaul & cleanup
164+
165+
- [BIPs #1782][] BIP94: reformat specification section for clarity and readability
166+
167+
{% include snippets/recap-ad.md when="2025-04-01 15:30" %}
168+
{% include references.md %}
169+
{% include linkers/issues.md v=2 issues="31603,3044,3026,3649,3665,9610,1792,1782,27926,8453,9559,9575,9568,1205" %}
170+
[bitcoin core 29.0rc2]: https://bitcoincore.org/bin/bitcoin-core-29.0/
171+
[bcc29 testing guide]: https://github.com/bitcoin-core/bitcoin-devwiki/wiki/29.0-Release-Candidate-Testing-Guide
172+
[lnd 0.19.0-beta.rc1]: https://github.com/lightningnetwork/lnd/releases/tag/v0.19.0-beta.rc1
173+
[news255 annex]: /en/newsletters/2023/06/14/#discussion-about-the-taproot-annex
174+
[news315 testnet4]: /en/newsletters/2024/08/09/#bitcoin-core-29775
175+
[fork.observer]: https://fork.observer/
176+
[law fees]: https://delvingbitcoin.org/t/fee-based-spam-prevention-for-lightning/1524/
177+
[law fee paper]: https://github.com/JohnLaw2/ln-spam-prevention
178+
[news329 opr]: /en/newsletters/2024/11/15/#mad-based-offchain-payment-resolution-opr-protocol
179+
[harding fee]: https://delvingbitcoin.org/t/fee-based-spam-prevention-for-lightning/1524/4
180+
[provoost testnet3]: https://mailing-list.bitcoindevs.xyz/bitcoindev/[email protected]/
181+
[schildbach testnet3]: https://mailing-list.bitcoindevs.xyz/bitcoindev/[email protected]/
182+
[osuntokun testnet3]: https://groups.google.com/g/bitcoindev/c/jYBlh24OB-Y/m/vbensqcZAwAJ
183+
[poinsot testnet4]: https://mailing-list.bitcoindevs.xyz/bitcoindev/hU75DurC5XToqizyA-vOKmVtmzd3uZGDKOyXuE_ogE6eQ8tPCrvX__S08fG_nrW5CjH6IUx7EPrq8KwM5KFy9ltbFBJZQCHR2ThoimRbMqU=@protonmail.com/
184+
[provoost testnet4]: https://mailing-list.bitcoindevs.xyz/bitcoindev/[email protected]/
185+
[erhardt testnet4]: https://mailing-list.bitcoindevs.xyz/bitcoindev/[email protected]/
186+
[todd annex]: https://mailing-list.bitcoindevs.xyz/bitcoindev/[email protected]/
187+
[russell loop]: https://diyhpl.us/~bryan/irc/bitcoin/bitcoin-dev/linuxfoundation-pipermail/lightning-dev/2015-August/000135.txt
188+
[news263 dos philosophy]: /en/newsletters/2023/08/09/#denial-of-service-dos-protection-design-philosophy
189+
[news136 more fee]: /en/newsletters/2021/02/17/#renewed-discussion-about-bidirectional-upfront-ln-fees
190+
[news122 bi-directional]: /en/newsletters/2020/11/04/#bi-directional-upfront-fees-for-ln
191+
[news86 reverse upfront]: /en/newsletters/2020/02/26/#reverse-up-front-payments
192+
[news119 trusted upfront]: /en/newsletters/2020/10/14/#trusted-upfront-payment
193+
[news120 upfront]: /en/newsletters/2020/10/21/#more-ln-upfront-fees-discussion
194+
[news342 closev2]: /en/newsletters/2025/02/21/#bolts-1205
45.1 KB
Loading

0 commit comments

Comments
 (0)