[RFC] Simplified (but less optimal) HTLC Negotiation



Summary:

The Lightning Labs team recently identified another area where the spec is insufficient, even though the HTLC state machine is optimal but complex. A new protocol has been introduced that simplifies things significantly, with only one pair of commitment transactions for any given commitment index and fee changes being deterministic. The new protocol is half-duplex, with each side taking turns, a turn_request and turn_reply message pair allows you to request when it is not your turn. If it's not your turn, it adds 1 RTT latency. On reconnect, you send two flags: send-in-progress (if you have sent the initial commitsig but not the final revocation) and receive-in-progress (if you have received the initial commitsig not not received the final revocation).


Updated on: 2023-06-03T02:48:30.166806+00:00