From dave at dtrt.org Tue Jan 3 18:36:01 2023 From: dave at dtrt.org (David A. Harding) Date: Tue, 03 Jan 2023 08:36:01 -1000 Subject: [Lightning-dev] Swap-in-Potentiam: Moving Onchain Funds "Instantly" To Lightning In-Reply-To: References: Message-ID: <5d66106a2188f84c58f720600d69e89d@dtrt.org> On 2023-01-03 03:57, ZmnSCPxj via Lightning-dev wrote: > The contract has two participants: Alice the funds owner, and > Bob its potential swap partner. > [...] > The contract has only 2 branches: > > * Onchain/channel branch: Alice and Bob. > * Timelock branch: Alice plus a relative timelock (`OP_CSV`) > measurable in weeks. Good morning Jesse and ZmnSCPxj, Is the following an accurate summary of the proposal's benefits and costs? At some point x blocks before Alice expects she might want to spend her funds on LN (but also wants the option to quickly spend her funds onchain), she enters into a contract protocol with Bob. At any time, with Bob's cooperation, she can send an onchain transaction. Or, after the contract protocol deposit transaction gets x confirmations, Alice can instantly fund a fully initialized LN channel with Bob's cooperation, from which she can immediately send LN payments. If the above is accurate, how does that compare to splice outs? For example: at some point x blocks before Alice expects she might want to spend her funds on LN (but also wants the option to quickly spend her funds onchain), she enters into a contract protocol with Bob by opening an LN channel. At any time, with Bob's cooperation, she can send an onchain transaction using a splice out. Or, after the contract protocol (LN) deposit transaction gets x confirmations, Alice now has a funded fully initialized LN channel with Bob's participation as counterparty, from which she can immediately send LN payments. If the value for x blocks is the same in both cases, those two scenarios look very similar to me. The only advantages I see of your proposal are: 1. It allows Alice's LN wallet to remain offline indefinitely---but only if Alice doesn't have any other funds in open channels. 2. It's easier to implement than splice-outs (I would guess)---but it also only provides the benefits of sending onchain payments at the time before the first LN transaction is made, whereas actual splice out can be used any time in a channel's lifetime to immediately send onchain payments. Am I missing something? -Dave