Skip to content

Commit

Permalink
require quiescence sessions to be single-use
Browse files Browse the repository at this point in the history
  • Loading branch information
ProofOfKeags authored and rustyrussell committed Jun 17, 2024
1 parent 5dd9d9c commit 99d67c6
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions 02-peer-protocol.md
Original file line number Diff line number Diff line change
Expand Up @@ -1468,6 +1468,11 @@ The receiver of `stfu`:
Upon disconnection:
- 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

The normal use would be to cease sending updates, then wait for all
Expand 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
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

Nodes can negotiate a mutual close of the connection, which unlike a
Expand Down

0 comments on commit 99d67c6

Please sign in to comment.