This week’s newsletter includes our regular sections announcing new release candidates and summarizing notable changes to popular Bitcoin infrastructure software.

News

No significant news this week was found in any of our sources.

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.19.3-beta.rc1 is a release candidate for a maintenance version for this popular LN node implementation containing “important bug fixes”. Most notably, “an optional migration […] lowers disk and memory requirements for nodes significantly.”

  • Bitcoin Core 29.1rc1 is a release candidate for a maintenance version of the predominant full node software.

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 #33050 removes peer discouragement (see Newsletter #309) for consensus-invalid transactions because its DoS protection was ineffective. An attacker could circumvent the protection by spamming policy-invalid transactions without penalty. This update eliminates the need for double script validation because it is no longer necessary to distinguish between consensus and standardness failures, saving CPU costs.

  • Bitcoin Core #32473 introduces a per-input cache for sighash pre-computation to the script interpreter for legacy (e.g. baremultisig), P2SH, P2WSH (and incidentally P2WPKH) inputs to reduce the impact of quadratic hashing attacks in standard transactions. Core caches an almost finished hash computed just before appending the sighash byte to reduce repeated hashing for standard multisig transactions and similar patterns. Another signature in the same input with the same sighash mode that commits to the same portion of the script can reuse most of the work. It is enabled in both policy (mempool) and consensus (block) validation. Taproot inputs already have that behavior by default, so this update doesn’t need to be applied to them.

  • Bitcoin Core #33077 creates a monolithic static library libbitcoinkernel.a that bundles all the object files of its private dependencies into a single archive, allowing downstream projects to link to just this one file. See Newsletter #360 for related libsecp256k1 groundwork.

  • Core Lightning #8389 makes the channel_type field mandatory when opening a channel, aligning with a recent specification update (see Newsletter #364). The RPC commands fundchannel and fundchannel_start now report a channel type with the zero-conf channel option when a zero minimum_depth implies it.

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 August 19. The discussion is also recorded and will be available from our podcasts page.