delvingbitcoin

Combined summary - 0conf LN channels and v3 anchors

Combined summary - 0conf LN channels and v3 anchors

In recent technical discussions, programmers have been evaluating methods for optimizing transaction handling processes in anticipation of the deployment of version 3 (v3) protocols.

The conversation revolves around the challenges associated with Child Pays For Parent (CPFP) mechanisms and the potential integration of a cluster mempool, which could provide significant improvements to v3's capabilities. Presently, in emergency situations, CPFP can be utilized to confirm funding transactions through commitment and anchor spend packages. However, these methods are susceptible to being undermined by a practice known as 'pinning,' where the initial transaction is prevented from confirming.

Looking ahead, developers are considering a future where a combination of cluster mempool, package relay, and a transition to a "priority opt-in" policy would enable the mitigation of pinning risks. Under this scenario, funding transactions could adopt the v3 standard and be safeguarded against pinning due to the requirement for descendants of the funding transaction to use a priority fee rate. Despite these advancements, it is acknowledged that during the v3 transitional phase, maintaining the status quo might be the best approach. This involves adding a shared anchor to non-v3 funding transactions, allowing flexibility for CPFP in urgent cases while avoiding worsening the current situation regarding pinning vulnerabilities.

Discussions further delve into strategizing the role of v3 in handling zero-confirmation (0-conf) transactions. It is suggested that initially deploying a simplified version of v3 that addresses immediate concerns, followed by incremental enhancements, could be beneficial. Considering the limitations of Replace-By-Fee (RBF) in zero-confirmation scenarios, the community leans towards CPFP as the safer alternative. A notable proposal includes adjusting zero-confirmation funding transactions to support v3 by incorporating a shared anchor, thus offering parties the ability to initiate CPFP transactions when necessary.

Additionally, the dialogue touches on the importance of analyzing transaction chains, particularly when dealing with unconfirmed splices. There's an inclination towards using RBF for splice bumps; however, reliance on CPFP continues due to its effectiveness in counteracting transaction pinning. To avoid any potential need for a subsequent version upgrade beyond v3, participants advocate reevaluating mempool policies to align closely with the envisioned framework.

Concerns are also raised over the impact of the proposed v3 topology on chaining unconfirmed splices, which is a critical functionality for some users. The current consideration focuses on limiting the funding transaction to confirmed inputs only, simplifying the structure but potentially restricting unconfirmed splice chains. Despite this, the change output workaround on participant B's side for enabling CPFP remains a practical, though non-ideal, solution under v3.

Finally, the recent LN spec call brought attention to issues with v3 transactions and their compatibility with 0conf channels. In a scenario where one party is offline, the dependency of v3 transactions on not having unconfirmed ancestors poses complications. The remedy may involve structuring the transaction chain as A -> B -> {C, D, CPFP bump}, ensuring the funding transaction has only confirmed inputs so that subsequent CPFP-enabled transactions for fee bumps remain permissible.

Discussion History

0
MattCorallo Original Post
January 29, 2024 22:29 UTC
1
January 30, 2024 10:24 UTC
2
January 30, 2024 20:10 UTC
3
January 30, 2024 20:48 UTC
4
January 30, 2024 21:13 UTC
5
January 31, 2024 07:30 UTC
6
February 1, 2024 22:58 UTC