You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using dual funding, we cannot simply forget unconfirmed channels after 2016 blocks if we contributed to the funding amount. There are multiple funding transaction candidates, and any of them may (eventually) confirm. The only case where we can forget such an unconfirmed channel is when we have proof that all funding transaction candidates have been double-spent by a transaction that doesn't belong to the funding candidates set.
However, this is very tedious to implement on top of the electrum protocol: we would likely need to subscribe to every input of every funding transaction candidate, aggregate their status and then run non-trivial logic to verify that funding transactions were all correctly double-spent.
This isn't done right now, which means that a double-spent dual funded channel will not be detected and will stay stuck in the WaitForFundingConfirmed state.
The text was updated successfully, but these errors were encountered:
t-bast
changed the title
Detect double-spent dual funding channels
Detect double-spent dual funded channels
Sep 21, 2022
When using dual funding, we cannot simply forget unconfirmed channels after 2016 blocks if we contributed to the funding amount. There are multiple funding transaction candidates, and any of them may (eventually) confirm. The only case where we can forget such an unconfirmed channel is when we have proof that all funding transaction candidates have been double-spent by a transaction that doesn't belong to the funding candidates set.
However, this is very tedious to implement on top of the electrum protocol: we would likely need to subscribe to every input of every funding transaction candidate, aggregate their status and then run non-trivial logic to verify that funding transactions were all correctly double-spent.
This isn't done right now, which means that a double-spent dual funded channel will not be detected and will stay stuck in the
WaitForFundingConfirmed
state.The text was updated successfully, but these errors were encountered: