Bitcoin Optech Newsletter #175

This week’s newsletter provides information about the activation of taproot and includes our regular sections with summaries of changes to services and client software, new releases and release candidates, and notable changes to popular Bitcoin infrastructure software.

News

  • Taproot activated: as expected, the taproot soft fork activated at block height 709,632. As of this writing, several large mining pools are not mining blocks containing taproot spends. This may indicate that they were falsely signaling readiness to enforce taproot’s rules, a risk we previously warned about. Alternatively, they may be risklessly using a taproot-enforcing node to choose which block chain to use while also using an older node or custom software to choose which transactions to include in their blocks.

    The safest course of action for users and businesses is to run their own taproot-enforcing node (such as Bitcoin Core 22.0) and only accept transactions confirmed by it.

Changes to services and client software

In this monthly feature, we highlight interesting updates to Bitcoin wallets and services.

  • bitcoinj adds bech32m, P2TR support: Andreas Schildbach added a commit for bech32m and another for P2TR support to the bitcoinj repository.

  • libwally-core adds bech32m support: The 0.8.4 release of this wallet primative library includes bech32m support.

  • Spark Lightning Wallet adds BOLT12 offers: Spark v0.3.0 adds offer features including offer creation, sending offer payments, and pull payments. Recurring offer features are planned for a future release.

  • BitGo wallets support taproot: BitGo announced support for both sending from and receiving to taproot outputs using their API. Taproot support in the UI is planned for a future update.

  • NthKey adds bech32m send capabilities: iOS signing service NthKey added support for taproot sends in the v1.0.4 release.

  • Ledger Live supports taproot: Ledger’s client software, Ledger Live, announced taproot support in their v2.35.0 release as an experimental feature.

  • Muun wallet supports taproot: Muun wallet enabled taproot address support after activation occurred, including the ability for users to default to taproot receive addresses.

  • Kollider launches alpha LN-based trading platform: Kollider’s latest announcement details the derivative platform’s features including LN deposits and withdrawals plus LNAUTH and LNURL support.

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.

Notable code and documentation changes

Notable changes this week in Bitcoin Core, C-Lightning, Eclair, LND, Rust-Lightning, libsecp256k1, Hardware Wallet Interface (HWI), Rust Bitcoin, BTCPay Server, BDK, Bitcoin Improvement Proposals (BIPs), and Lightning BOLTs.

  • Bitcoin Core #22934 adds a verification step after both ECDSA signatures and schnorr signatures are created. This may prevent the software from disclosing an incorrectly-generated signature that may leak information about the private key or nonce used to generate it. This follows advice given in a previous update to BIP340 (see Newsletter #87) previously discussed in Newsletter #83.

  • Bitcoin Core #23077 enables address relay via CJDNS, making CJDNS a fully supported network like IPv4, IPv6, Tor, and I2P. Once CJDNS is set up outside of Bitcoin Core, node operators can toggle the new configuration option -cjdnsreachable to have Bitcoin Core interpret fc00::/8 addresses as belonging to CJDNS rather than being interpreted as private IPv6 addresses.

  • Eclair #1957 adds basic support for onion messages per BOLTs #759, allowing relaying of onion messages, but not supporting initiating or receiving onion messages.

  • Rust Bitcoin #691 adds an API to create bech32m addresses for a P2TR scriptPubKey from a pubkey and optional tapscript merkle root.

  • BDK #460 adds a new function for adding an OP_RETURN output to a transaction.

  • BIPs #1225 updates BIP341 with the taproot test vectors described in Newsletter #173.