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.

Lightning-dev mailing list

Reply via email to