lightning-dev
Protocol for multiple in-flight updates.
Posted on: February 3, 2016 04:35 UTC
In a recent email conversation, Joseph Poon explains the process of HTLC modification requests and how they are staged into the next Commitment signature.
The inclusion of modifications is enumerated by including both parties' highest HTLC ID (two of them) in each Commitment signature message. When the modification is acknowledged by the other party, it is included in the next Commitment signature. Any modification that is accepted by the other party is included. Two IDs, one for each party, is included. Two are necessary to allow for timing issues with HTLC Add responses in-flight not being fully synced up.There were also queries regarding the asynchronous nature of the process, which was clarified as being in-order. Rusty, who was part of the conversation, expressed his gratitude towards Joseph for explaining the process, which helped him understand it better.