/ home / newsletters /
Bitcoin Optech Newsletter #398
This week’s newsletter includes our regular sections with selected questions and answers from the Bitcoin Stack Exchange, announcements of new releases and release candidates, and descriptions of notable changes to popular Bitcoin infrastructure software.
News
No significant news this week was found in any of our sources.
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.
-
● What is meant by “Bitcoin doesn’t use encryption”? Pieter Wuille distinguishes encryption for purposes concealing data from unauthorized parties (which Bitcoin’s ECDSA cannot be used for) from the digital signatures Bitcoin uses for verification and authentication.
-
● When and why did Bitcoin Script shift to a commit–reveal structure? User bca-0353f40e explains the evolution from Bitcoin’s original approach of users paying directly to public keys toward P2PKH and then to P2SH, segwit and taproot approaches, where spending conditions are committed to in the output and only revealed when spent.
-
● Does P2TR-MS (Taproot M-of-N multisig) leak public keys? Murch confirms that a single-leaf taproot scriptpath multisig exposes all eligible public keys on spend since OP_CHECKSIG and OP_CHECKSIGADD both require that the public key corresponding to the signature is present.
-
● Does OP_CHECKSIGFROMSTACK intentionally allow cross-UTXO signature reuse? User bca-0353f40e explains that OP_CHECKSIGFROMSTACK (BIP348) deliberately does not bind signatures to specific inputs which allows CSFS to be combined with other convenant opcodes to enable re-bindable signatures, the mechanism underlying LN-Symmetry.
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.
-
● Bitcoin Core 28.4 is a maintenance release for a previous major release series of the predominant full node implementation. It primarily contains wallet migration fixes and removal of an unreliable DNS seed. See the release notes for details.
-
● Core Lightning 26.04rc1 is a release candidate for the next major version of this popular LN node which includes many splicing updates and bug fixes.
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 #33259 adds a
backgroundvalidationfield to thegetblockchaininfoRPC response for nodes using assumeUTXO snapshots. The new field reports the snapshot height, the current block height and hash for background validation, median time, chainwork, and verification progress. Previously,getblockchaininfo’s response would simply indicate that verification and IBD were complete with no information on the background validation. -
● Bitcoin Core #33414 enables Tor proof of work defenses for automatically created onion services when supported by the connected Tor daemon. When a Tor daemon has an accessible control port and Bitcoin Core’s
listenonionsetting is on (default), it will automatically create a hidden service. This doesn’t apply to manually created onion services, but it’s suggested that users addHiddenServicePoWDefensesEnabled 1to enable proof of work defenses. -
● Bitcoin Core #34846 adds the functions
btck_transaction_get_locktimeandbtck_transaction_input_get_sequenceto thelibbitcoinkernelC API (see Newsletter #380) for accessing timelock fields: a transaction’snLockTimeand an input’snSequence. This allows checking BIP54 (consensus cleanup) rules such as coinbasenLockTimeconstraints without manually deserializing the transaction (other BIP54 rules, such as sigops limits, still require separate handling). -
● Core Lightning #8450 extends CLN’s splice scripting engine to handle cross-channel splices, multi-channel splices (more than three), and dynamic fee calculation. A key problem this solves is the circular dependency in fee estimation: adding wallet inputs increases transaction weight and therefore the required fee, which may in turn require additional inputs. This infrastructure underlies the new
spliceinandspliceoutRPCs. -
● Core Lightning #8856 and #8857 add
spliceinandspliceoutRPC commands for adding funds from the internal wallet into a channel and for removing funds from a channel to the internal wallet, a Bitcoin address, or another channel (effectively a cross-splice). The new commands avoid operators having to construct splicing transactions manually with the experimentaldev-spliceRPC. -
● Eclair #3247 adds an optional peer-scoring system that tracks per-peer forwarding revenue and payment volume over time. When enabled, it periodically ranks peers by profitability and can optionally auto-fund channels to top-earning peers, auto-close unproductive channels to reclaim liquidity, and auto-adjust relay fees based on volume, all within configurable bounds. Operators can start with visibility only before opting into automation.
-
● LDK #4472 fixes a potential funds-loss scenario during channel funding and splicing where
tx_signaturescould be sent before the counterparty’s commitment signature was durably persisted. If the transaction confirms and the node then crashes, it would lose the ability to enforce its channel state. The fix defers releasingtx_signaturesuntil the corresponding monitor update completes. -
● LND #10602 adds a
DeleteAttemptsRPC to the experimentalswitchrpcsubsystem (see Newsletter #386) to allow external controllers to explicitly delete completed (succeeded or failed, not pending) HTLC attempt records from LND’s attempt store. -
● LND #10481 adds a
bitcoindminer backend to LND’s integration test framework. Previously,lntestassumed abtcd-based miner even when usingbitcoindas the chain backend. This change allows tests to exercise behavior that depends on Bitcoin Core’s mempool and mining policy, including v3 transaction relay and package relay. -
● BOLTs #1160 merges the splicing protocol into the Lightning specification, replacing the draft in BOLTs #863 with updated flows and test vectors for edge cases that motivated the rewrite (see Newsletter #246 for discussion when that draft was under active development). Splicing lets peers add or remove funds without closing the channel; negotiation begins from a quiescent state (BOLTs #869, Newsletter #309). The merged BOLT2 text covers interactive construction of the splice transaction, continuing to operate the channel while a splice is unconfirmed, RBF of pending splices, reconnect behavior,
splice_lockedafter sufficient depth, and updated channel announcements.
Want more?
For more discussion about the topics mentioned in this newsletter, join us for the weekly Bitcoin Optech Recap on Riverside.fm at 16:30 UTC on March 31. The discussion is also recorded and will be available from our podcasts page.