Splice Lock Race Condition Solution



Summary:

The issue being discussed relates to the `announcement_signatures` and `commit_sig` cases. The solution involves storing the last_short_channel_id to determine which announcement messages can be safely ignored and which are considered errors until sending or receiving `revoke_and_ack`. Although it is not a protocol issue, it is a critical detail that implementations need to handle correctly to avoid breaking or force closing during the splice lock process. The proposal suggests allowing a certain class of 'stale' messages for a period of time until either mutual_splice_locked or successful commitment_signed/revoke_and_ack round trip in either direction. This ideal solution requires more effort but would make the protocol and nodes more robust. The link to the original gist from January is provided, along with a proposed solution that adds a lock on the connection via an extra STFU step.


Updated on: 2023-06-03T12:32:36.528185+00:00