[Lightning-dev] Protocol for multiple in-flight updates.

Rusty Russell rusty at rustcorp.com.au
Mon Feb 1 10:08:01 UTC 2016


Hi Joseph and ml,

        Wondering if you can describe your HTLC negotiation protocol?
Laolu said on IRC you're working on it.

I've been trying to adapt my code to do this, and ended up with
something quite different AFAICT from your HTLC ids.

Because you need to supply the revocation hash to get a signature from
the other side, this implies an ordering in commitments.

The c-lightning protocol exchange looks like:

        Send: [add/fulfill/fail/timeout, with new revocation hash]
        Receive: [acceptance, with new revocation hash] or [decline if add]
        Send: [commitment, with signature of new commit tx, and old
                revocation preimage]
        Receive: [commitment reply, with signature of new commit tx, and old
                revocation preimage]

The obvious way to batch this is to have variants of the first two which
don't have a new revocation hash: you could follow your initial proposal
with an arbitrary number of additional changes to build up the new
commit tx, and the commitment is to all the accepted updates.

How similar is this to yours?

Thanks!
Rusty.
PS.  I swear I send this before, but I couldn't find it...


More information about the Lightning-dev mailing list