š
Original date posted:2023-03-24
š Original message:
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