Skip to content

Instantly share code, notes, and snippets.

@ddustin
Last active June 26, 2023 14:12
Show Gist options
  • Save ddustin/017aeadfbf34d2fcd950f1238614afe2 to your computer and use it in GitHub Desktop.
Save ddustin/017aeadfbf34d2fcd950f1238614afe2 to your computer and use it in GitHub Desktop.
splice_locked ->
<- splice_locked
(Whichever side has lower funding pubkey starts STFU)
STFU ->
<- STFU (ack)
splice_locked_ack ->
<- splice_locked_ack
Receiving splice_locked_ack ends STFU mode and
means we can atomically move to the new channel
confirmed state.
@t-bast
Copy link

t-bast commented Jan 30, 2023

I think I'm starting to see what you mean. Doesn't that mean we just need to quiesce again to notify of a splice_locked? If we defer splice_locked until we're quiescent again, does that race disappear?

@ddustin
Copy link
Author

ddustin commented Jan 30, 2023

Yup that works but has a downside. If there is a delay between when each node sees the on-chain confirmation, we'll be quiescent for the length of that delay.

@t-bast
Copy link

t-bast commented Jan 30, 2023

Agreed, that's not ideal. We'll need to thoroughly test potential races in the protocol to see whether we can make it right without quiescing again or not...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment