lightning-dev
Protocol for multiple in-flight updates.
Posted on: February 1, 2016 10:08 UTC
Rusty is asking Joseph and ml to describe their HTLC negotiation protocol since he wants to adapt his code to do the same.
The c-lightning protocol exchange involves sending [add/fulfill/fail/timeout, with a new revocation hash] followed by receiving [acceptance, with a new revocation hash] or [decline if add], then sending [commitment, with signature of new commit tx, and old revocation preimage], and finally receiving [commitment reply, with signature of new commit tx, and old revocation preimage]. As the revocation hash needs to be provided to get a signature from the other party, this suggests an ordering in commitments. Rusty proposes variants of the first two steps without a new revocation hash, allowing for the addition of multiple changes before the commitment to all accepted updates. Rusty asks how similar Joseph and ml's protocol is to his.