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.
TLDR
We’ll email you summaries of the latest discussions from authoritative bitcoin sources, like bitcoin-dev, lightning-dev, and Delving Bitcoin.
We'd love to hear your feedback on this project?
Give Feedback