/ home / newsletters /
Bitcoin Optech Newsletter #325
This week’s newsletter looks at summaries of some of the topics discussed at a recent LN developer meeting. Also include are our regular sections with descriptions of changes to popular clients and services, announcements of new releases and release candidates, and summaries of notable changes to popular Bitcoin infrastructure software.
News
-
● LN Summit 2024 notes: Olaoluwa Osuntokun posted to Delving Bitcoin a summary of his notes (with additional commentary) from a recent LN developer conference. Some of the topics discussed included:
-
● Version 3 commitment transactions: developers discussed how to use new P2P features, including TRUC transactions and P2A outputs, to improve the security of LN commitment transactions that can be used to unilaterally close a channel. Discussion focused on various design tradeoffs.
-
● PTLCs: although long proposed as a privacy upgrade to LN, as well as possibly useful for other purposes such as stuckless transactions, recent research into the tradeoffs of various possible PTLC implementations was discussed (see Newsletter #268). A particular focus was the construction of the signature adaptor (e.g. using scripted multisig versus scriptless MuSig2) and its effect on the commitment protocol (see next item).
-
● State update protocol: a proposal was discussed to convert LN’s current state update protocol from allowing either side to propose an update at any time to only allowing one party at a time to propose updates (see Newsletters #120 and #261). Allowing either side to propose updates can result in both sides proposing updates simultaneously, which is difficult to reason about and can lead to accidental channel force closures. The alternative is for only one party to be in charge at a time, e.g. Alice is initially the only one allowed to propose state updates; if she has none to propose, she can tell Bob that he’s in charge. When Bob’s finished proposing updates, he can transfer control back to Alice. This simplifies reasoning about the protocol, eliminates problems with simultaneous proposals, and further makes it easy for the non-controlling party to reject any unwanted proposals. The new round-based protocol would also work well with MuSig2-based signature adaptors.
-
● SuperScalar: the developer of a proposed channel factory construction for end-users gave a presentation on the proposal and solicited feedback. Optech will publish a more detailed description of SuperScalar in a future newsletter.
-
● Gossip upgrade: developers discussed upgrades to the LN gossip protocol. These are most urgently needed for supporting new types of funding transactions, such as for simple taproot channels, but may also add support for other features. One new feature discussed was having channel announcement messages include an SPV proof (or a commitment to an SPV proof) to allow lightweight clients to verify that a funding transaction (or sponsoring transaction) was included in a block at some point.
-
● Research on fundamental delivery limits: research was presented on payment flows that cannot result in success given limitations of the network (e.g., channels with insufficient capacity); see Newsletter #309. If an LN payment is infeasible, the spender and receiver can always use an onchain payment. However, the rate of onchain payments is limited by the maximum block weight, so it’s possible to calculate the maximum throughput (payments per second) of the combined Bitcoin and LN system by dividing the maximum onchain rate by the rate of infeasible LN payments. Using this rough metric, to achieve a maximum of about 47,000 payments per second, the infeasible rate must be below 0.29%. Two techniques were discussed for reducing the infeasible rate: (1) virtual or real channels that involve more than two parties, as more parties implies more funds for forwarding and more forwarding funds increases the rate of feasibility; and (2) credit channels where parties who trust each other can forward payments between themselves without the ability to enforce those payments onchain—with all other users still receiving trustless payments.
Osuntokun encouraged other participants to post corrections or expansions to the thread.
-
Changes to services and client software
In this monthly feature, we highlight interesting updates to Bitcoin wallets and services.
-
● Coinbase adds taproot send support: Coinbase exchange now supports user withdrawals (send) to taproot bech32m addresses.
-
● Dana wallet released: Dana wallet is a silent payment wallet focused on the donation use case. The developers recommend using signet and also run a signet faucet.
-
● Kyoto BIP157/158 light client released: Kyoto is a Rust light client using compact block filters for use by wallet developers.
-
● DLC Markets launches on mainnet: The DLC-based platform announced mainnet availability for its non-custodial trading service.
-
● Ashigaru wallet announced: Ashigaru is a fork of the Samourai Wallet project and the announcement listed improvements to batching, RBF support, and fee estimation.
-
● DATUM protocol announced: The DATUM mining protocol allows miners to build candidate blocks as part of a pooled mining setup, similar to the Stratum v2 protocol.
-
● Bark Ark implementation announced: The Second team announced the Bark implementation of the Ark protocol and demonstrated live Ark transactions on mainnet.
-
● Phoenix v2.4.0 and phoenixd v0.4.0 released: The Phoenix v2.4.0 and phoenixd v0.4.0 releases add support for the BLIP36 on-the-fly funding proposal and other liquidity features (see Podcast #323).
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.
- ● BDK 1.0.0-beta.5 is a release candidate (RC) of this library for
building wallets and other Bitcoin-enabled applications. This latest
RC “enables RBF by default and updates the bdk_esplora client to retry
server requests that fail due to rate limiting. The
bdk_electrum
crate now also offers a use-openssl feature.”
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 #30955 introduces two new methods to the
Mining
interface (see Newsletter #310), in line with the requirements for Stratum V2. ThesubmitSolution()
method allows miners to submit a block solution more efficiently by only requiring the nonce, timestamp, version fields, and coinbase transaction, instead of the entire block. Additionally,getCoinbaseMerklePath()
is introduced to construct the merkle path field required in theNewTemplate
message. This PR also reinstatesBlockMerkleBranch
, which was previously removed in Bitcoin Core #13191. -
● Eclair #2927 adds enforcement of recommended feerates (see Newsletter #323) for on-the-fly funding (see Newsletter #323), by rejecting
open_channel2
andsplice_init
messages that use a feerate lower than the recommended value. -
● Eclair #2922 removes support for splicing without channel quiescence (see Newsletter #309), to conform to the latest splicing protocol as proposed in BOLTs #1160, which requires nodes to use the quiescence protocol during splicing. Previously, splicing was allowed under a less formal mechanism, where splice messages were permitted if the commitments were already quiescent, acting as a “poor man’s” version of channel quiescence.
-
● LDK #3235 adds a
last_local_balance_msats
field to theChannelForceClosed
event, which gives the local balance of a node in millisatoshis (msats) just before the channel was force-closed, allowing users to know how many msats they lost due to rounding. -
● LND #8183 adds the optional
CloseTxInputs
field to thechanbackup.Single
structure in the static channel backup (SCB) file, to store the inputs required to generate force-close transactions. This allows users to manually retrieve funds when a peer is offline using thechantools scbforceclose
command as a last-resort recovery option. However, users should exercise extreme caution as this feature could result in the loss of funds if the channel has been updated since the backup was created. In addition, the PR introduces theManualUpdate
method, which will update channel backups whenever LND shuts down. -
● Rust Bitcoin #3450 adds v3 as a new variant of the transaction version, following Bitcoin Core’s acceptance of Topologically Restricted Until Confirmation (TRUC) transactions as standard (see Newsletter #307).