Skip to content

Commit 7eb8d3e

Browse files
authored
Merge pull request #1270 from t-bast/increase-channel-delete-delay
Increase channel close delay to 72 blocks
2 parents 7c6e77c + 5dc8db0 commit 7eb8d3e

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

07-routing-gossip.md

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -227,7 +227,8 @@ The receiving node:
227227
- otherwise:
228228
- SHOULD store this `channel_announcement`.
229229
- once its funding output has been spent OR reorganized out:
230-
- SHOULD forget a channel after a 12-block delay.
230+
- SHOULD forget a channel after a 72-block delay.
231+
- SHOULD NOT rebroadcast this `channel_announcement` to its peers.
231232

232233
### Rationale
233234

@@ -252,7 +253,7 @@ optional) features will have _odd_ feature bits, while incompatible features
252253
will have _even_ feature bits
253254
(["It's OK to be odd!"](00-introduction.md#glossary-and-terminology-guide)).
254255

255-
A delay of 12 blocks is used when forgetting a channel on funding output spend
256+
A delay of 72 blocks is used when forgetting a channel on funding output spend
256257
as to permit a new `channel_announcement` to propagate which indicates this
257258
channel was spliced.
258259

@@ -485,7 +486,7 @@ The origin node:
485486
signal a channel's temporary unavailability (e.g. due to a loss of
486487
connectivity) OR permanent unavailability (e.g. prior to an on-chain
487488
settlement).
488-
- MAY sent a subsequent `channel_update` with the `disable` bit set to 0 to
489+
- MAY send a subsequent `channel_update` with the `disable` bit set to 0 to
489490
re-enable the channel.
490491
- MUST set `timestamp` to greater than 0, AND to greater than any
491492
previously-sent `channel_update` for this `short_channel_id`.
@@ -504,10 +505,13 @@ The origin node:
504505
- SHOULD keep accepting the previous channel parameters for 10 minutes
505506

506507
The receiving node:
507-
- if the `short_channel_id` does NOT match a previous `channel_announcement`,
508-
OR if the channel has been closed in the meantime:
508+
- if the `short_channel_id` does NOT match a previous `channel_announcement`:
509509
- MUST ignore `channel_update`s that do NOT correspond to one of its own
510510
channels.
511+
- if the channel output has been spent:
512+
- MUST ignore `channel_update`s, unless they have the `disable` bit set to 1.
513+
- SHOULD NOT rebroadcast `channel_update`s to its peers, unless they have the
514+
`disable` bit set to 1.
511515
- SHOULD accept `channel_update`s for its own channels (even if non-public),
512516
in order to learn the associated origin nodes' forwarding parameters.
513517
- if `signature` is not a valid signature, using `node_id` of the
@@ -870,6 +874,8 @@ The receiver:
870874
`first_timestamp` plus `timestamp_range`.
871875
- If a `channel_announcement` has no corresponding `channel_update`s:
872876
- MUST NOT send the `channel_announcement`.
877+
- If the funding output of the `channel_announcement` has been spent:
878+
- SHOULD NOT send the `channel_announcement`.
873879
- Otherwise:
874880
- MUST consider the `timestamp` of the `channel_announcement` to be the `timestamp` of a corresponding `channel_update`.
875881
- MUST consider whether to send the `channel_announcement` after receiving the first corresponding `channel_update`.
@@ -958,7 +964,7 @@ The origin node:
958964
A node:
959965
- SHOULD monitor the funding transactions in the blockchain, to identify
960966
channels that are being closed.
961-
- if the funding output of a channel is spent and received 12 block confirmations:
967+
- if the funding output of a channel is spent and received 72 block confirmations:
962968
- SHOULD be removed from the local network view AND be considered closed.
963969
- if the announced node no longer has any associated open channels:
964970
- MAY prune nodes added through `node_announcement` messages from their

0 commit comments

Comments
 (0)