Channel refill [combined summary]



Individual post summaries: Click here to read the original discussion on the lightning-dev mailing list

Published on: 2016-05-10T04:48:38+00:00


Summary:

During a meeting in Kyiv, Ukraine, the Lightning team discussed potential improvements for the Lightning Network, including addressing edge cases where receiving a payment exceeds the locked-in channel capacity. One proposed solution was to implement a "re-anchoring" or "channel refill" procedure. This procedure involves creating a new funding transaction that spends the old one, along with additional inputs. Signatures are provided for both the old and new funding transactions until the new one reaches sufficient depth, at which point the old signatures can be dropped. Re-anchoring could also be used to pay non-Lightning bitcoin addresses.Rusty Russell, a member of the Lightning team, expressed support for the idea of re-anchoring and suggested it may be the first extension implemented once the basics of the Lightning Network are sorted out. The advantage of re-anchoring over creating a new channel is that overall channel capacity would grow each time, reducing the need for repeated refills in the future.Kumaigorodskiy Anton proposed that the limitations of the Lightning Network could be addressed by implementing a channel refill procedure. This would allow users to receive payments larger than the locked-in channel amount, issue multiple small invoices, and make payments even when their side of the channel balance reaches zero. Rusty Russell agreed with this idea and referred to it as "re-anchoring." The process involves creating a new funding transaction that spends the old one plus additional inputs, while providing signatures for both transactions until the new one has reached sufficient depth to drop the old signatures. This method could also be used to pay non-Lightning bitcoin addresses.The current limitations of the Lightning Network include the inability to receive a single payment larger than the locked-in channel amount and the inability to make payments when the user's side of the channel balance reaches zero. Currently, the solution is to open another channel or transfer bitcoins directly. However, implementing a "channel refill" procedure could provide an alternative solution. This process involves using the same pair of commit_keys, resulting in a second utxo on the anchor address. A separate "refill commitment tx" is created that does not invalidate the current "main commitment tx." Once the on-chain refill transaction reaches the required depth, a new "main commitment tx" is created, taking into account the new utxo and invalidating both the old "main commitment tx" and the "refill commitment tx." The advantage of the refill method over creating a new channel is that overall channel capacity would grow with each refill, potentially eliminating the need for further refills for an extended period.


Updated on: 2023-07-31T19:00:19.508856+00:00