DRAFT: interactive tx construction protocol

Posted by ZmnSCPxj

Jan 30, 2020/23:31 UTC

In this communication, the author suggests using PoDLE as used in JoinMarket to solve a similar problem. PoDLE commits to a UTXO without being trivially grindable from the UTXO set and includes a proof that the creator of the PoDLE knows the secret key behind it. It can later be opened to reveal which UTXO the opener allocated. If the opener aborts, then the acceptor can gossip the UTXO and the revealed PoDLE to the rest of Lightning, so that the opener cannot reuse the same UTXO to probe other potential acceptors. The issue of allowing a UTXO to be used at most N times is solved by appending a single byte to something that is hashed and ensuring its value is less than N. The author also mentions that JoinMarket implements PayJoin, which is not obvious on-chain and does anti-fee-sniping emulation for PayJoin. JoinMarket also strives to make similar fee rates across users. The use-case is quite similar to a PayJoin, where the opener proposes to make a payment, and the acceptor adds some UTXOs which will contribute to the payment output. The author suggests that later on, they may want to consider nLockTime anti-fee-sniping as well in multi-funded channel opens. Additionally, the author notes that this interactive tx construction mechanism can be used for channel factories. PoDLE techniques would also be useful to multi-funded channel factories. Sharing PoDLE format with JoinMarket is suggested so that they can share PoDLE with them. Finally, the author suggests mandating in some BOLT spec to retain PoDLE for at least a year or a month or two weeks or so, which should be enough to slow down probe attempts.

Link to Raw Post
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