Re: [bitcoin-dev] [Lightning-dev] Batch exchange withdrawal to lightning requires covenants

2023-10-19 Thread Antoine Riard via bitcoin-dev
Hi Bastien, Thanks for your additional comments. > Yes, they can, and any user could also double-spend the batch using a > commit tx spending from the previous funding output. Participants must > expect that this may happen, that's what I mentioned previously that > you cannot use 0-conf on that

Re: [bitcoin-dev] [Lightning-dev] Batch exchange withdrawal to lightning requires covenants

2023-10-19 Thread Bastien TEINTURIER via bitcoin-dev
Hi Antoine, > If I'm correct, two users can cooperate maliciously against the batch > withdrawal transactions by re-signing a CPFP from 2-of-2 and > broadcasting the batch withdrawal as a higher-feerate package / high > fee package and then evicting out the CPFP. Yes, they can, and any user

Re: [bitcoin-dev] [Lightning-dev] Batch exchange withdrawal to lightning requires covenants

2023-10-18 Thread Antoine Riard via bitcoin-dev
Hi Bastien, Thanks for the answer. If I understand correctly the protocol you're describing you're aiming to enable batched withdrawals where a list of users are being sent funds from an exchange directly in a list of channel funding outputs ("splice-out"). Those channels funding outputs are

Re: [bitcoin-dev] [Lightning-dev] Batch exchange withdrawal to lightning requires covenants

2023-10-18 Thread Bastien TEINTURIER via bitcoin-dev
Hey Z-man, Antoine, Thank you for your feedback, responses inline. z-man: > Then if I participate in a batched splice, I can disrupt the batched > splice by broadcasting the old state and somehow convincing miners to > confirm it before the batched splice. Correct, I didn't mention it in my

Re: [bitcoin-dev] [Lightning-dev] Batch exchange withdrawal to lightning requires covenants

2023-10-17 Thread Antoine Riard via bitcoin-dev
Hi Bastien, > The naive way of enabling lightning withdrawals is to make the user > provide a lightning invoice that the exchange pays over lightning. The > issue is that in most cases, this simply shifts the burden of making an > on-chain transaction to the user's wallet provider: if the user