/ home / newsletters /
Bitcoin Optech Newsletter #382
This week’s newsletter provides an update on compact block reconstruction discussions and relays a call to activate BIP3. Also included are our regular sections summarizing top questions and answers from the Bitcoin Stack Exchange, announcing new releases and release candidates, and describing notable changes to popular Bitcoin infrastructure projects.
News
-
● Stats on compact block reconstructions updates: 0xB10C posted an update to Delving Bitcoin about his statistics around compact block reconstruction (see Newsletters #315 and #339). 0xB10C provided three updates around his compact block reconstruction analysis:
-
He began tracking the average size of requested transactions in kB in response to previous feedback by David Gumberg.
-
He updated one of his nodes to include the lower
minrelayfeesettings from Bitcoin Core #33106. After updating, he found block reconstruction rates improved significantly for that node. He also saw an improvement in the average size of requested transactions in kB. -
He then switched his other nodes to run with the lowered
minrelayfeewhich caused most of the nodes to have a higher reconstruction rate and to request less data from peers. He also mentions that, in hindsight, it would have been better not to have updated all the nodes and to have kept some on v29 which would have made it easier to compare between node versions and settings.
Overall, lowering the
minrelayfeehas improved his nodes’ block reconstruction rates and lowered the amount of data requested from his peers. -
-
● Motion to activate BIP3: Murch posted to the Bitcoin-Dev mailing list a formal motion to activate BIP3 (see Newsletter #341). The goal of this improvement proposal is to provide new guidelines for preparing new BIPs, thereby replacing the current BIP2 process.
According to the author, the proposal, which has been in “Proposed” status for more than 7 months, has no unaddressed objections and a growing list of contributors left an ACK on BIPs #1820. Thus, following the procedure expressed by BIP2 for activating Process BIPs, he granted 4 weeks, until 2025-12-02, to evaluate the proposal, ACK the PR, or state concerns and raise objections. After that date, BIP3 will replace BIP2 as the BIP process.
Some minor objections have been raised in the thread, mainly regarding the use of AI/LLM tools in the BIPs submission process (see Newsletter #378), which the author is currently addressing. We invite Optech readers to familiarize themselves with the proposal and provide feedback.
Selected Q&A from Bitcoin Stack Exchange
Bitcoin Stack Exchange is one of the first places Optech contributors look for answers to their questions—or when we have a few spare moments to help curious or confused users. In this monthly feature, we highlight some of the top-voted questions and answers posted since our last update.
-
● Do pruned nodes store witness inscriptions? Murch explains that pruned nodes retain all block data, including witness data, until older blocks are eventually discarded. He goes on to outline tradeoffs of using OP_RETURN over the inscription scheme.
-
● Increasing probability of block hash collisions when difficulty is too high Vojtěch Strnad notes the extreme unlikelihood of a blockhash collision (unless SHA256 is broken) and goes on to explain why the hash of a block header serves as block identifiers.
-
● What is the purpose of the initial 0x04 byte in all extended public and private keys? Pieter Wuille points out that these 0x04 prefixes are simply a coincidence based on their respective target Base58 encodings.
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.
-
● LND v0.20.0-beta is a major release of this popular LN node implementation that introduces multiple bug fixes, a new noopAdd HTLC type, support for P2TR fallback addresses on BOLT11 invoices, and many RPC and
lncliadditions and improvements. See the release notes for more details. -
● Core Lightning v25.12rc1 is a release candidate of a new version of this major LN node implementation that adds BIP39 mnemonic seed phrases as the new backup method, improvements to
xpay, theaskrene-bias-nodeRPC command to favor or disfavor all channels of a peer, thenetworkeventssubsystem to access information about peers, andexperimental-lsps-clientandexperimental-lsps2-serviceoptions for experimental JIT channels support.
Notable code and documentation changes
Notable recent changes in Bitcoin Core, Core Lightning, Eclair, LDK, LND, libsecp256k1, Hardware Wallet Interface (HWI), Rust Bitcoin, BTCPay Server, BDK, Bitcoin Improvement Proposals (BIPs), Lightning BOLTs, Lightning BLIPs, Bitcoin Inquisition, and BINANAs.
-
● Bitcoin Core #33872 removes the previously deprecated
-maxorphantxstartup option (see Newsletter #364). Using it results in a startup failure. -
● Bitcoin Core #33629 completes the cluster mempool implementation by partitioning the mempool into clusters that are limited to 101 kvB and 64 transactions each by default. Each cluster is linearized into fee-ordered chunks (sub-cluster feerate-sorted groupings), so that higher-feerate chunks are selected first for inclusion in a block template, and the lowest-feerate chunks are evicted first when the mempool is full. This PR removes the CPFP carve out rule and the ancestor/descendant limits, and updates transaction relay to prioritize higher-feerate chunks. Finally, it updates the RBF rules by removing the restriction that replacements can’t introduce new unconfirmed inputs, changes the feerate rule to require that the overall cluster feerate diagram improves, and replaces the direct conflicts limit with a directly conflicting clusters limit.
-
● Core Lightning #8677 improves the performance of large nodes considerably by limiting the number of RPC and plugin commands processed at once, reducing unnecessary database transactions for read-only commands, and restructuring database queries to handle millions of
chainmoves/channelmovesevents more efficiently. The PR also introduces afiltersoption torpc_commandorcustommsghooks, enabling plugins likexpay,commando, andchanbackupto register for specific invocations only. -
● Core Lightning #8546 adds a
withholdoption (default false) tofundchannel_completethat delays the broadcast of a channel funding transaction untilsendpsbtis called or the channel is closed. This allows LSPs to postpone opening a channel until a user provides sufficient funds to cover the network fees. This is necessary to enable theclient-trusts-lspmode in JIT channels. -
● Core Lightning #8682 updates the way blinded paths are built by requiring peers to have the
option_onion_messagesfeature enabled, in addition to theoption_route_blinding, even if the specification doesn’t require the former. This resolves an issue in which an LND node without the feature enabled would fail to forward a BOLT12 payment. -
● LDK #4197 caches the two most recently revoked commitment points in
ChannelManagerto respond to a peer’schannel_reestablishmessage after a reconnection. This avoids fetching the points from a potentially-remote signer and pausing the state machine when the counterparty is at most one commitment height prior. If a peer presents a different state, the signer validates the commitment point, and LDK either crashes if the state is valid or force-closes the channel if it’s invalid. For previous LDK updates tochannel_reestablish, see Newsletters #335, #371, and #374. -
● LDK #4234 adds the funding redeem script to
ChannelDetailsand theChannelPendingevent, enabling LDK’s on-chain wallet to reconstruct theTxOutof a channel and accurately estimate the feerate when building a splice-in transaction. -
● LDK #4148 adds support for testnet4 by updating the
rust-bitcoindependency to version 0.32.4 (See Newsletter #324) and requiring that as the minimum supported version for thelightningandlightning-invoicecrates. -
● BDK #2027 adds a
list_ordered_canonical_txsmethod toTxGraph, which returns canonical transactions in topological order, where parent transactions always appear before their children. The existinglist_canonical_txsandtry_list_canonical_txsmethods are deprecated in favor of the new ordered variant. See Newsletters #335, #346 and #374 for previous canonicalization work on BDK.
Want more?
For more discussion about the topics mentioned in this newsletter, join us for the weekly Bitcoin Optech Recap on Riverside.fm at 17:30 UTC on December 2. The discussion is also recorded and will be available from our podcasts page.