@@ -31,37 +31,8 @@ application level that isn’t described within the core BOLT documents. This is
3131But in the spirit of interoperability, documenting features, standards, and protocols
3232in a single location with a standard format will make it easy on future adopters.
3333
34- In particular, there are (at least) three scarce sets of identifiers used in Lightning
35- Network protocol development that benefit from central organization and documentation
36- to avoid potential clashes:
37-
38- * ** Feature Bits** are used to designate that a given node supports a given feature, and
39- are publicly broadcasted on the Lightning Network. bLIPs may introduce new Feature Bit
40- assignments > ` 100 ` , as those are set aside for experimental features, with the caveat
41- that Feature Bit assignments > ` 1000 ` are discouraged from mainnet usage. Feature Bits are
42- assigned and specified in [ Bolt
43- #9 ] ( https://github.com/lightningnetwork/lightning-rfc/blob/master/09-features.md ) .
44- * ** Message Types** are used to indicate how to interpret the ` payload ` feature of a
45- Lightning message. Types ` 32768 ` -` 65535 ` are set aside for experimental and
46- application-specific messages, which are best suited to be documented in a bLIP.
47- Message Types are assigned and specified in [ Bolt
48- #1 ] ( https://github.com/lightningnetwork/lightning-rfc/blob/master/01-messaging.md ) .
49- * ** Type-Length-Values (TLVs)** are used to allow for the backwards-compatible addition
50- of new fields to existing message types (as described in in [ Bolt
51- #1 ] ( https://github.com/lightningnetwork/lightning-rfc/blob/master/01-messaging.md ) ).
52- bLIPs may introduce new TLV fields to existing messages, using ` type ` s greater than ` 65536 ` .
53-
54- Potentially more scarce sets of identifiers exist (e.g. [ BOLT
55- #4 ] ( https://github.com/lightningnetwork/lightning-rfc/blob/master/04-onion-routing.md#failure-messages )
56- onion failure messages, [ BOLT
57- #7 ] ( https://github.com/lightningnetwork/lightning-rfc/blob/master/07-routing-gossip.md#the-channel_update-message ) ` channel_update ` ` channel_flags ` and ` message_flags ` , and [ BOLT
58- #11 ] ( https://github.com/lightningnetwork/lightning-rfc/blob/master/11-payment-encoding.md#tagged-fields )
59- invoice tagged fields) in the Lightning Network protocol. If/when bLIPs are made that
60- require these identifiers, further specification of how and where to assign and allocate
61- them can be accomplished.
62-
6334bLIPs will serve as the primary mechanism for proposing new features for the Lightning
64- Network protocol, documenting their design, and avoiding collisions of these scarce
35+ Network protocol, documenting their design, and avoiding collisions of scarce
6536identifiers (as some proposals may request one or more). Hopefully, they will provide
6637an avenue for developers to quickly get feedback on their ideas outside of the main BOLT
6738process. Because the bLIPs are maintained as text files in a versioned repository,
@@ -102,8 +73,11 @@ draft must be written in bLIP style as described below, and its bLIP number will
10273the PR number automatically assigned by Github (or, if preferred by the author, the
10374Issue # if there was discussion in the Issues section of this repository about this bLIP).
10475
105- When the bLIP draft is complete, the editors will check the requested Feature Bit, Message
106- Type, and/or TLV assignments for collisions. If there are no issues, the bLIPs editors will
76+ If the bLIP needs to reserve values in shared namespaces (such as feature bits, message
77+ types or tlv fields), the author should update [ bLIP 0002] ( ./blip-0002.md ) accordingly.
78+
79+ When the bLIP draft is complete, the editors will check bLIP 0002 for collisions.
80+ If there are no issues, the bLIPs editors will
10781merge the pull request into the [ bLIPs repository] ( https://github.com/lightning/blips ) .
10882The editors will not unreasonably reject a bLIP. Reasons for rejecting bLIPs include
10983duplication of effort, disregard for formatting rules, being too unfocused or too
0 commit comments