1
0
mirror of https://github.com/lightning/bolts.git synced 2024-11-19 01:50:03 +01:00
lightning-bolts/09-features.md
Christian Decker b95b304ead
fixup! bolt07: Add feature bits for multi-frame support
Signed-off-by: Christian Decker <decker.christian@gmail.com>
2019-05-14 14:53:25 +02:00

3.5 KiB

BOLT #9: Assigned Feature Flags

This document tracks the assignment of localfeatures and globalfeatures flags in the init message (BOLT #1) along with the features flag fields in the channel_announcement and node_announcement messages (BOLT #7). The flags are tracked separately, since new flags will likely be added over time.

The features flags in the routing messages are a subset of the globalfeatures flags, as localfeatures, by definition, are only of interest to direct peers.

Flags are numbered from the least-significant bit, at bit 0 (i.e. 0x1, an even bit). They are generally assigned in pairs so that features can be introduced as optional (odd bits) and later upgraded to be compulsory (even bits), which will be refused by outdated nodes: see BOLT #1: The init Message.

Assigned localfeatures flags

These flags may only be used in the init message:

Bits Name Description Link
0/1 option_data_loss_protect Requires or supports extra channel_reestablish fields BOLT #2
3 initial_routing_sync Indicates that the sending node needs a complete routing information dump BOLT #7
4/5 option_upfront_shutdown_script Commits to a shutdown scriptpubkey when opening channel BOLT #2
6/7 gossip_queries More sophisticated gossip control BOLT #7

Assigned globalfeatures flags

There are currently no globalfeatures flags.

Assigned node_announcement feature flags

The following feature bits are currently assigned by this specification:

|------|---------------------|--------------------------------------------------------|------------------------------------------------------------------------------------------------------------------|

Bits Name Description Link
0/1 multi_frame_optin This node requires/supports multi-frame routing onions routing onion specification

Requirements

The requirements for receiving specific bits are defined in the linked sections in the table above. The requirements for feature bits that are not defined above can be found in BOLT #1: The init Message.

Rationale

There is no even bit for initial_routing_sync, as there would be little point: a local node can't determine if a remote node complies, and it must interpret the flag, as defined in the initial spec.

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.