Batch exchange withdrawal to lightning requires covenants

Oct 17 - Oct 24, 2023

  • The email discusses the challenges involved in designing a protocol for lightning withdrawals from exchanges.

The current method of enabling withdrawals shifts the burden of on-chain transactions to the user's wallet provider, resulting in multiple splice transactions if multiple users withdraw funds. To address this, the suggestion is to batch these transactions into a single transaction without introducing any intermediate transactions. However, a challenge arises as signatures are required from each wallet user for each channel, and if one user fails to complete the protocol, the whole batch must be discarded. One potential workaround is for each wallet user to provide a signature using SIGHASH_SINGLE | SIGHASH_ANYONECANPAY to create a new funding output with the expected amount. However, this approach has a flaw as the wallet user cannot spend the new funding output since it is also controlled by the wallet provider, opening the possibility of blackmail. The SIGHASH_ANYPREVOUT covenant resolves this issue by allowing anyprevout signatures for the commitment transaction, making them valid to spend from the batch transaction. Other forms of covenants may also address this problem.

Bitcoin Logo

TLDR

Join Our Newsletter

We’ll email you summaries of the latest discussions from authoritative bitcoin sources, like bitcoin-dev, lightning-dev, and Delving Bitcoin.

Explore all Products

ChatBTC imageBitcoin searchBitcoin TranscriptsSaving SatoshiBitcoin Transcripts Review
Built with 🧡 by the Bitcoin Dev Project
View our public visitor count

We'd love to hear your feedback on this project?

Give Feedback