[RFC] Simplified (but less optimal) HTLC Negotiation



Summary:

Rusty Russell has uploaded a draft for updating bitcoin's lightning network protocol to Github. This is significant as the state machine of the protocol has historically had many bugs associated with it. Russell, therefore, proposes to make a subset of the existing state machine mandatory for use in order to reduce complexity and catch more bugs. Matt Corallo responds, suggesting that simplifying the state machine where possible is nice but replacing it with fresh code is probably not the most obvious decrease in complexity. He also suggests using a fuzzer which aggressively tests message-non-delivery-and-resending production desync bugs. Russell adds that he prefers to avoid having bugs rather than trying to catch them all. Later in the thread, Russell outlines requirements from the draft which relate to splice negotiation, such as that the sender must not send another splice message while a splice is being negotiated and the receiver must respond with a splice message of its own if it has not already.


Updated on: 2023-06-03T02:49:58.887194+00:00