● LN simplified commitments: in two separate threads, developers of LND discussed their work on implementing simplified commitments, which are LN settlement transactions that only pay a minimal onchain transaction fee and which contain two additional outputs (one for each party). The idea is to allow either party to choose what transaction fee they want to pay at the time the transaction is broadcast, which they can do using Child-Pays-For-Parent (CPFP) fee bumping from their individual output. Although this has been discussed in the past, it was vulnerable to an attack that is expected to be resolved by the inclusion of CPFP carve-out in the upcoming Bitcoin Core version 0.19.0 (see Newsletter #56).

In the first thread, Johan Halseth posted an email about loosening mempool policy in order to make simplified commitments even simpler. This received several objections on the basis that a slight change wouldn’t be effective and too much change would put the network at risk of bandwidth-wasting attacks. However, this discussion (and a separate discussion started on the #bitcoin-core-dev IRC channel by Jeremy Rubin) revealed that many developers wanted to gain a better understanding of the current rules and how they might be improved. A good outline of the subject was sourced from a presentation given by Suhas Daftuar that has now been converted into a wiki page.

In the second thread, Joost Jager resumed an old thread started by Rusty Russell with a proposed specification for simplified commitments (see Newsletter #23). Based on the upcoming carve-out feature and other developments in LN, Jager makes several suggestions, including: using the name “anchor output” for the outputs meant to be spent with CPFP; using an additional set of pubkeys for the anchors to ease splitting responsibilities between cold and hot wallets; and using static keys to simplify backup recovery. He subsequently opened a PR to the BOLTs repository to add simplified commitments to the LN protocol specification.