[Lightning-dev] Decker-Wattenhofer channels (was: An Idea to Improve Connectivity of the Graph)
ZmnSCPxj at protonmail.com
Fri Apr 13 13:41:32 UTC 2018
Good morning Christian,
I wonder suddenly, about how HTLCs are offered under Decker-Wattenhofer Duplex Micropayment Channels.
Under the Decker-Wattenhofer construction, I believe the transaction sequence is the below:
funding -> trigger -> (relative-timelock) invalidation tree -> ... (relative-timelock) invalidation tree
The outputs of the final invalidation tree transaction splits up the contents of the funds between the payer and payee in the individual simplex channels that compose the duplex channels.
However, HTLCs have an absolute timelock, so I am uncertain how those are forced into compatibility with the relative timelock the invalidation tree uses.
Under Poon-Dryja channels, the relative-timelock exists only on the claim transaction after a unilateral commitment transaction. HTLCs are offered as outputs of the unilateral commitment transaction, so that the relative-timelock on the main output does not interfere with their normal operation (apparently the HTLCs offered can also be revoked, incidentally, though I have not studied them in detail: apparently unrevoked HTLC paths that go to ourself have an extra CSV in the HTLC-timeout and HTLC-success paths: but in any case the HTLC-timeout case, the relative timelock is relative to the absolute one that comes first).
This is of concern as this seems likely to affect Burchert-Decker-Wattenhofer channel factories, which use invalidation trees internally also, which come before the HTLCs they eventually pay out to.
More information about the Lightning-dev