lightning-dev

Combined summary - SegWit and LN

Combined summary - SegWit and LN

The email conversation revolves around the implementation of full SegWit in funding transactions for the Lightning Network (LN).

It is suggested that while full SegWit may not be necessary when only one side funds the transaction, it becomes crucial when both sides contribute. Full SegWit provides a feature where an unsigned transaction has the same txid as a signed transaction, which is essential for multi-funded funding transactions not yet present in Lightning BOLT 1.0.The author recommends lnd as the most mature Lightning implementation, but advises caution when experimenting with it on mainnet, suggesting to use testnet unless willing to lose some dust. The Lightning BOLT specs are also discussed, including ASCII graphics of sequence diagrams. The limitations and known-gaps in the Lightning network protocol are acknowledged, such as the use of the same hash for the entire route, which can be correlated by spies if the route passes through multiple nodes they control. It is mentioned that this issue will be addressed in a future BOLT version.Furthermore, two-sided channel funding is not currently implemented and is expected to be rejected by default by node software. Burchert-Decker-Wattenhofer channel factories are not yet part of the BOLT spec, but they will reduce blockchain use at the cost of a more involved process for closing channels. Additionally, the development of WatchTower, which allows users to delegate blockchain watching to a third party, is mentioned and will be added in a future BOLT version.In response to the email thread, Johan Torås Halseth explains the necessity of SegWit for safely broadcasting the funding transaction in a channel. Without SegWit, the funding transaction can be malleated, rendering the commitment transaction invalid and locking up funds if one party stops cooperating. Praveen Baratam questions the need for SegWit and proposes relying on confirmed funding transactions for creating and updating unconfirmed commitment transactions. Hafeez Bana responds, stating that SegWit is required to fix transaction malleability.The overall consensus is that the activation of all BIPs, including SegWit, is crucial for the successful implementation of the Lightning Network. SegWit helps prevent transaction malleability, allowing for the safe creation and updating of unconfirmed commitment transactions. It also plays a significant role in increasing the block size limit, reducing transaction fees, and ensuring the proper functioning of LN.

Discussion History

0
Praveen BaratamOriginal Post
January 2, 2018 13:53 UTC
1
January 2, 2018 14:11 UTC
2
January 2, 2018 14:31 UTC
3
January 2, 2018 14:43 UTC
4
January 2, 2018 15:35 UTC
5
January 2, 2018 23:25 UTC