Skip to content

Commit 15c3564

Browse files
hardingbitschmidty
authored andcommitted
Newsletters: add 357 (2025-06-06)
1 parent 9410f22 commit 15c3564

File tree

1 file changed

+169
-0
lines changed

1 file changed

+169
-0
lines changed
Lines changed: 169 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,169 @@
1+
---
2+
title: 'Bitcoin Optech Newsletter #357'
3+
permalink: /en/newsletters/2025/06/06/
4+
name: 2025-06-06-newsletter
5+
slug: 2025-06-06-newsletter
6+
type: newsletter
7+
layout: newsletter
8+
lang: en
9+
---
10+
This week's newsletter shares an analysis about syncing full nodes
11+
without old witnesses. Also included are our regular sections with
12+
descriptions of discussions about changing consensus, announcements of
13+
new releases and release candidates, and summaries of notable changes to
14+
popular Bitcoin infrastructure software.
15+
16+
## News
17+
18+
- **Syncing full nodes without witnesses:** Jose SK [posted][sk nowit]
19+
to Delving Bitcoin a summary of an [analysis][sk nowit gist] he
20+
performed about the security tradeoffs of allowing newly started full
21+
nodes with a particular configuration to avoid downloading some
22+
historic blockchain data. By default, Bitcoin Core nodes use the
23+
`assumevalid` configuration setting that skips validation of scripts
24+
in blocks created more than a month or two before the release of the
25+
version of Bitcoin Core being run. Although disabled by default, many
26+
users of Bitcoin Core also set a `prune` configuration setting that
27+
deletes blocks some time after validating them (how long blocks are
28+
kept depends on the size of the blocks and the specific setting selected
29+
by the user).
30+
31+
SK argues that witness data, which is only used for validating
32+
scripts, should not be downloaded by pruned nodes for assumevalid
33+
blocks because they won't use it for validating scripts and will
34+
eventually delete it. Skipping witness download "can cut
35+
bandwidth usage by over 40%," he writes.
36+
37+
Ruben Somsen [argues][somsen nowit] that this changes the security
38+
model to some degree. Although scripts aren't validated, the
39+
downloaded data is validated against the commitment from the block
40+
header merkle root to the coinbase transaction to the witness data.
41+
This ensures the data was available and uncorrupted at the time the
42+
node was initially synced. If nobody routinely validates the
43+
existence of the data, it could conceivably be lost, as [has
44+
happened][ripple loss] to at least one altcoin.
45+
46+
The discussion was ongoing at the time of writing.
47+
48+
## Changing consensus
49+
50+
_A monthly section summarizing proposals and discussion about changing
51+
Bitcoin's consensus rules._
52+
53+
- **Quantum computing report:** Clara Shikhelman [posted][shikelman
54+
quantum] to Delving Bitcoin the summary of a [report][sm report] she
55+
co-authored with Anthony Milton about the risks to Bitcoin users of
56+
fast quantum computers, an overview of several pathways to [quantum
57+
resistance][topic quantum resistance], and an analysis of tradeoffs
58+
involved in upgrading the Bitcoin protocol. The authors find 4 to 10
59+
million BTC are potentially vulnerable to quantum theft, some
60+
mitigation now is possible, Bitcoin mining is unlikely to be
61+
threatened by quantum computing in the short or medium term, and
62+
upgrading requires widespread agreement.
63+
64+
- **Transaction weight limit with exception to prevent confiscation:**
65+
Vojtěch Strnad [posted][strnad limit] to Delving Bitcoin to propose
66+
the idea for a consensus change to limit the maximum weight of most
67+
transactions in a block. The simple rule would only allow a transaction
68+
larger than 400,000 weight units (100,000 vbytes) in a block if it was
69+
the only transaction in that block besides the coinbase transaction.
70+
Strnad and others described the motivation for limiting the maximum
71+
transaction weight:
72+
73+
- _Easier block template optimization:_ it's easier to find a
74+
near-optimal solution to the [knapsack problem][] the smaller the
75+
items are compared to the overall limit. This is partly
76+
due to minimizing the amount of space left over at the end, with
77+
smaller items leaving less unused space.
78+
79+
- _Easier relay policy:_ the policy for relaying unconfirmed
80+
transactions between nodes predicts what transactions will be
81+
mined in order to avoid wasting bandwidth. Giant transactions make
82+
accurate predictions harder as even a small change in the top feerate can cause
83+
them to be delayed or evicted.
84+
85+
- _Avoiding mining centralization:_ ensuring relaying full nodes are
86+
able to handle almost all transactions prevents users of special
87+
transactions from needing to pay [out-of-band fees][topic
88+
out-of-band fees], which can lead to mining centralization.
89+
90+
Gregory Sanders [noted][sanders limit] it might be reasonable to
91+
simply soft fork a maximum weight limit without any exceptions based
92+
on Bitcoin Core's 12 years of consistent relay policy. Gregory
93+
Maxwell [added][maxwell limit] that transactions spending only UTXOs
94+
created before the soft fork could be allowed an exception to prevent
95+
confiscation, and that a [transitory soft fork][topic transitory soft
96+
forks] would allow the restriction to expire if the
97+
community decided not to renew it.
98+
99+
Additional discussion examined the needs of parties wanting
100+
large transactions, mainly [BitVM][topic acc] users in the near term,
101+
and whether alternative approaches were available to them.
102+
103+
- **Removing outputs from the UTXO set based on value and time:** Robin
104+
Linus [posted][linus dust] to Delving Bitcoin to propose a soft fork
105+
for removing low-value outputs from the UTXO set after some
106+
time. Several variations on the idea were discussed, with the two
107+
main alternatives being:
108+
109+
- _Destroy old uneconomic funds:_ small value outputs that had not
110+
been spent for a long time would become unspendable.
111+
112+
- _Require old uneconomic funds to be spent with a proof of existence:_
113+
[utreexo][topic utreexo] or a similar system could be used to allow
114+
a transaction to prove that the outputs it spends are part of the
115+
UTXO set. Old and [uneconomical outputs][topic uneconomical outputs] would
116+
need to include this proof, but newer and higher-value outputs would
117+
still be stored in the UTXO set.
118+
119+
Either solution would effectively limit the maximum size of the UTXO
120+
set (assuming a minimum value and the 21 million bitcoin limit).
121+
Several interesting technical aspects of a design were discussed,
122+
including alternatives to utreexo proofs for this application that
123+
could be more practical.
124+
125+
## Releases and release candidates
126+
127+
_New releases and release candidates for popular Bitcoin infrastructure
128+
projects. Please consider upgrading to new releases or helping to test
129+
release candidates._
130+
131+
- [Core Lightning 25.05rc1][] is a release candidate for the next major
132+
version of this popular LN node implementation.
133+
134+
- [LND 0.19.1-beta.rc1][] is a release candidate for a maintenance
135+
version of this popular LN node implementation.
136+
137+
## Notable code and documentation changes
138+
139+
_Notable recent changes in [Bitcoin Core][bitcoin core repo], [Core
140+
Lightning][core lightning repo], [Eclair][eclair repo], [LDK][ldk repo],
141+
[LND][lnd repo], [libsecp256k1][libsecp256k1 repo], [Hardware Wallet
142+
Interface (HWI)][hwi repo], [Rust Bitcoin][rust bitcoin repo], [BTCPay
143+
Server][btcpay server repo], [BDK][bdk repo], [Bitcoin Improvement
144+
Proposals (BIPs)][bips repo], [Lightning BOLTs][bolts repo],
145+
[Lightning BLIPs][blips repo], [Bitcoin Inquisition][bitcoin inquisition
146+
repo], and [BINANAs][binana repo]._
147+
148+
- [Bitcoin Core #32582][] log: Additional compact block logging
149+
150+
- [Bitcoin Core #31375][] multiprocess: Add bitcoin wrapper executable
151+
152+
- [BIPs #1483][] BIP 77: Async Payjoin
153+
154+
{% include snippets/recap-ad.md when="2025-06-10 16:30" %}
155+
{% include references.md %}
156+
{% include linkers/issues.md v=2 issues="32582,31375,1483" %}
157+
[Core Lightning 25.05rc1]: https://github.com/ElementsProject/lightning/releases/tag/v25.05rc1
158+
[ripple loss]: https://x.com/JoelKatz/status/1919233214750892305
159+
[sk nowit]: https://delvingbitcoin.org/t/witnessless-sync-for-pruned-nodes/1742/
160+
[sk nowit gist]: https://gist.github.com/JoseSK999/df0a2a014c7d9b626df1e2b19ccc7fb1
161+
[somsen nowit]: https://gist.github.com/JoseSK999/df0a2a014c7d9b626df1e2b19ccc7fb1?permalink_comment_id=5597316#gistcomment-5597316
162+
[shikelman quantum]: https://delvingbitcoin.org/t/bitcoin-and-quantum-computing/1730/
163+
[sm report]: https://chaincode.com/bitcoin-post-quantum.pdf
164+
[strnad limit]: https://delvingbitcoin.org/t/non-confiscatory-transaction-weight-limit/1732/
165+
[knapsack problem]: https://en.wikipedia.org/wiki/Knapsack_problem
166+
[sanders limit]: https://delvingbitcoin.org/t/non-confiscatory-transaction-weight-limit/1732/2
167+
[maxwell limit]: https://delvingbitcoin.org/t/non-confiscatory-transaction-weight-limit/1732/4
168+
[linus dust]: https://delvingbitcoin.org/t/dust-expiry-clean-the-utxo-set-from-spam/1707/
169+
[lnd 0.19.1-beta.rc1]: https://github.com/lightningnetwork/lnd/releases/tag/v0.19.1-beta.rc1

0 commit comments

Comments
 (0)