Good morning Christian,
I wonder suddenly, about how HTLCs are offered under Decker-Wattenhofer Duplex
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
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.
Lightning-dev mailing list