delvingbitcoin

LN-Symmetry Project Recap

LN-Symmetry Project Recap

Original Postby instagibbs

Posted on: January 5, 2024 18:03 UTC

The LN-Symmetry Project took the eltoo proposal and developed it into research-quality software, focusing on proving the concept's viability without waiting for community consensus or softforks.

The project successfully implemented basic functional tests for channel openings, payments, payments with hops, unilateral closes, and reconnection logic. However, certain aspects like cooperative closes, proper persistence of new keytypes/fields, anchor spending support, and gossip for these channels were left unimplemented. Cooperative closes were omitted due to ongoing improvements in current specifications, while the other elements faced technical challenges or dependencies on ongoing work by others, such as Rusty's option_anchors support.

The project had several key focuses, including simplifying the BOLT specifications significantly, and addressing eltoo's technical challenges to determine if any potential issues could prove fatal to its implementation. It also aimed to provide more flexible fee management where all outputs in settlement transactions could be spent freely, except for HTLC-Success paths, which reduces the need for a utxo pool for fees to only pay maximum once per unilateral close during the "challenge" period. Moreover, the use of CTV (emulation) proved beneficial by eliminating the need for round-trips in the payment protocol and potentially reducing payment times.

Key takeaways from the project reveal that avoiding pinning is challenging, requiring a significant portion of the work to be dedicated to designing a robust system against it. The project identified that eltoo-style channels need longer htlc expiry deltas to remain secure, a detail not previously worked through in state machines. Additionally, the project's experience has led to skepticism regarding the effectiveness of penalties in future implementations, advocating for systems that function correctly as the best deterrent against competent adversaries.

The LN-Symmetry Project produced various key work artifacts, including extensive anti-pinning research contributing to the Package Relay Project, the creation of Ephemeral Anchors, and the development of a CLN implementation available at https://github.com/instagibbs/lightning/tree/eltoo_support. Additionally, changes to Bitcoin Core necessary for CLN blackbox tests are located at https://github.com/instagibbs/bitcoin/tree/202207-anyprevout, while an alternative repository is provided at https://github.com/bitcoin-inquisition/bitcoin/releases/tag/v25.1-inq. Drafts for the BOLT specification incorporating segwit ephemeral anchors can be found at https://github.com/instagibbs/bolts/tree/eltoo_draft, and libwally updates to support taproot changes are available at https://github.com/instagibbs/libwally-core/tree/taproot. Further insights into PTLCs and their compatibility with eltoo-style channels are documented at https://gist.github.com/instagibbs/1d02d0251640c250ceea1c66665ec163single-sig-adaptor-ln-symmetry. Finally, backporting anti-pin technology to current BOLTs with proposed Bitcoin Core policy changes is discussed at https://github.com/instagibbs/bolts/commits/zero_fee_commitment.

Currently, the project is on hold as the focus shifts towards mempool-related work. The outcomes of the LN-Symmetry Project aim to contribute to de-risking discussions about future softforks and channel design advancements.