In this week's IRC workshop on L2 onchain support t-bast and ariard agreed that transaction pinning is more of a concern at the commitment level (e.g. delaying the parent of a child CLTV transaction) rather than the HTLC level.

It wasn't immediately obvious to me why or how this works. I was under the impression that the confirmation of commitment transactions aren't time sensitive. There are two time sensitive concerns; not receiving the preimage of a HTLC in a timely fashion and getting your justice transaction confirmed in the case of your counterparty broadcasting an expired state. What am I missing?


As explained in my June 2020 Lightning dev mailing list post "Pinning: The Good, The Bad, The Ugly", pinning at the commitment level is concerning in the case of a Lightning routing hub, not being able to confirm a HTLC-Success on the upstream link. This is a third case of a time sensitive issue, beyond receiving the preimage and getting your justice confirmed.

The attack scenario works like this. Malicia and Mallory open two channels to Bob, a honest routing hub. Malicia draws a payment path for a 1 BTC HTLC through Bob to Mallory. This payment path enforces Bob's cltv_delta policy of 40 blocks. Assuming N the chain tip during the setup phase, the HTLC timelock expires at N + 60 on the first hop, N + 40 on the second hop. Once the payment path is locked down, Mallory broadcasts her commitment transaction and a HTLC-Success transaction, and Bob will discover onchain the HTLC preimage.

Simultaneously, Malicia broadcasts a low feerate commitment transaction among the network mempools bottom feerate groups and a low feerate, high absolute fee CPFP transaction. This malicious CPFP transaction's absolute fee must be higher than Bob's honest commitment transaction on the latest valid state of the Malicia-Bob link. This higher fee CPFP will block the replacement of Malicia low feerate commitment transaction by Bob's honest one under BIP125 rule 3. As Bob doesn't know which of Malicia's commitment transaction is propagated on the network, he won't be able to CPFP on his own anchor slot (Remember per protocol rules a LN counterparty might own two valid commitment transactions between receiving a commitment_signed and replying back with a revoke_and_ack).

This pinning attack is successful if Malicia's commitment transaction doesn't confirm until N + 60. At which height, she can replace her CPFP with a higher fee rate proposal to confirm the commitment and spend the offered HTLC with her HTLC-timeout transaction. Bob has paid forward a HTLC to Mallory without being able to fetch backward this same HTLC from Malicia.

Pinnings at the commitment-level are more worrying than ones at the HTLC-level, which are solved by the upgrade to the anchor channel type. Indeed, a LN node isn't able today to unilaterally fee bump a commitment transaction such as increasing its feerate during mempool acceptance evaluation to evict any malicious remote commitment.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.