1
0
mirror of https://github.com/lightning/bolts.git synced 2024-11-19 01:50:03 +01:00

require quiescence sessions to be single-use

This commit is contained in:
Keagan McClelland 2024-05-20 12:43:54 -07:00 committed by Rusty Russell
parent 5dd9d9cd5f
commit 99d67c6c73

View File

@ -1468,6 +1468,11 @@ The receiver of `stfu`:
Upon disconnection: Upon disconnection:
- the channel is no longer considered quiescent. - the channel is no longer considered quiescent.
Dependent Protocols:
- MUST specify all states that terminate quiescence.
- NOTE: this prevents batching executions of protocols that depend on
quiescence.
### Rationale ### Rationale
The normal use would be to cease sending updates, then wait for all The normal use would be to cease sending updates, then wait for all
@ -1481,6 +1486,14 @@ considered to be the channel funder (the sender of `open_channel`).
The quiescence effect is exactly the same as if one had replied to the The quiescence effect is exactly the same as if one had replied to the
other. other.
Dependent protocols have to specify termination conditions to prevent the need
for disconnection to resume channel traffic. An explicit resume message was
[considered but rejected](https://github.com/rustyrussell/lightning-rfc/pull/14)
since it introduces a number of edge cases that make bilateral consensus of
channel state significantly more complex to maintain. This introduces the
derivative property that it is impossible to batch multiple downstream protocols
in the same quiescence session.
## Channel Close ## Channel Close
Nodes can negotiate a mutual close of the connection, which unlike a Nodes can negotiate a mutual close of the connection, which unlike a