From dave at dtrt.org Fri Mar 24 03:19:57 2023 From: dave at dtrt.org (David A. Harding) Date: Thu, 23 Mar 2023 17:19:57 -1000 Subject: [Lightning-dev] Resizing Lightning Channels Off-Chain With Hierarchical Channels In-Reply-To: <2oW_dbC4vwhAwe3SZQZG3mmw29IIvXUEaojKWqtLquTyNg9-dXhb0QwO0fjioMdvUn0-vb73BenLdErEM2QvTZuT_PddbohRNSQmC2e8dpU=@protonmail.com> References: <2oW_dbC4vwhAwe3SZQZG3mmw29IIvXUEaojKWqtLquTyNg9-dXhb0QwO0fjioMdvUn0-vb73BenLdErEM2QvTZuT_PddbohRNSQmC2e8dpU=@protonmail.com> Message-ID: <2ba6194719f3c792d11138e027089527@dtrt.org> Hi John, Thank you for another innovative application of your tunable penalties. I see two key benefits being described by your paper[1]: - **Offchain channel resizes:** in state 0, Alice and Bob share control over an offchain UTXO valued at x satoshis; in state 1, the value of the offchain UTXO is y satoshis. - **Liquidity multiplexing:** Alice, Bob, Carol, and Dan each rightfully own some portion of a UTXO. Alice and Bob expect to always be available; Carol and Dan may sometimes be unavailable. The proposal allows Carol and Dan to spend/receive in combination with Alice and Bob, but also ensures Alice and Bob can spend back and forth the entirety their portions of the UTXO even if Carol, Dan, or both of them are unavailable. For the Offchain Channel Resizes, I don't see how your proposal functionally differs from a classic channel factory. In section 3, you show the set {A, B, C, D} with the subset {A,B} where A reduces its balance in {A,B} by transfering it to {C,D} via an HTLC to another of its nodes (A'). Your description uses hierarchical channels (which may have >2 participants per channel). In a classic pair-producing channel factory, each channel only has two participants, e.g. the factory {A, B, C, D} produces the channels, {A,B} {A,C} {A,D} {B,C} {B,D} {C,D} However, the same thing is possible, A as part of {A,B} can pay through {B,C} out of the factory to A'. After the HTLCs are settled, the offchain channel setup transactions inside the factory can be regenerated with the cooperation of all {A, B, C, D}. Am I missing something, or is this first key benefit something that was already possible (in theory) with pair-producing channel factories? For the Liquidity Multiplexing, this does feel like a significant advance. In a pair-producing channel factory, any funds A has in {A, C} or {A, D} can't be spent when C or D are unavailable. In your proposal, {A, B} form one half of {{A,B},C} and {{A,B},D}, allowing {A,B} to redistribute their portion of the funds when C and D are unavailable. That's not an advantage of multiparty channels that I've seen described before, and not something I've been able to think how to functionally reproduce with pair-producing channel factories. Given that it took me a while to understand the Liquidity Multiplexing, I wanted to double check to see if I had missed something about the Offchain Channel Resizes? Thanks again, -Dave [1] https://github.com/JohnLaw2/ln-hierarchical-channels