本文档追踪了闪电网络 BOLT 9 中 init
消息、channel_announcement
和 node_announcement
消息里的 features
标志的分配。
本文档跟踪 init
消息 (BOLT #1) 中的 features
标志的分配,以及 channel_announcement
和 node_announcement
消息中的 features
字段 ([BOLT
一些特性被引入并变得如此广泛,以至于所有节点都假定
它们存在,并且可以安全地忽略它们(并且语义仅在规范的先前版本中定义)。
标志从最低有效位开始编号,位于位 0(即 0x1,一个偶数位)。 它们通常成对分配,以便特性可以作为可选(奇数位)引入,然后升级为强制(偶数位),这将不被过时的节点接受:
请参阅 BOLT #1: The init
Message。
某些特性在每个通道或每个节点的基础上没有意义,因此每个特性定义了它在这些上下文中如何呈现。 某些特性可能是打开通道所必需的,但不是使用该通道的要求,因此这些特性的呈现取决于特性本身。
“上下文”列的解码如下:
I
:在 init
消息中呈现。N
:在 node_announcement
消息中呈现C
:在 channel_announcement
消息中呈现。C-
:在 channel_announcement
消息中呈现,但始终为奇数(可选)。C+
:在 channel_announcement
消息中呈现,但始终为偶数(必需)。9
:在BOLT 11 发票中呈现。B
:在盲路径的 allowed_features
字段中呈现。位数 | 名称 | 描述 | 上下文 | 依赖项 | 链接 |
---|---|---|---|---|---|
0/1 | option_data_loss_protect |
假定 | |||
4/5 | option_upfront_shutdown_script |
在打开通道时提交到关闭 scriptpubkey | IN | BOLT #2 | |
6/7 | gossip_queries |
对等方有用的gossip可以分享 | |||
8/9 | var_onion_optin |
假定 | |||
10/11 | gossip_queries_ex |
Gossip查询可以包含其他信息 | IN | BOLT #7 | |
12/13 | option_static_remotekey |
假定 | |||
14/15 | payment_secret |
假定 | IN9 | Routing Onion Specification | |
16/17 | basic_mpp |
节点可以接收基本的多部分支付 | IN9 | payment_secret |
BOLT #4 |
18/19 | option_support_large_channel |
可以创建大型通道 | IN | BOLT #2 | |
22/23 | option_anchors |
具有零费用 HTLC 交易的锚定承诺类型 | IN | BOLT #3, lightning-dev | |
24/25 | option_route_blinding |
节点支持盲路径 | IN9 | BOLT #4 | |
26/27 | option_shutdown_anysegwit |
shutdown 中允许未来的隔离验证版本 |
IN | BOLT #2 | |
28/29 | option_dual_fund |
使用通道打开的 v2 版本,启用双重注资 | IN | BOLT #2 | |
34/35 | option_quiesce |
支持 stfu 消息 |
IN | BOLT #2 | |
38/39 | option_onion_messages |
可以转发 onion 消息 | IN | BOLT #7 | |
42/43 | option_provide_storage |
可以存储其他节点的加密备份数据 | IN | BOLT #1 | |
44/45 | option_channel_type |
节点支持 open/accept 中的 channel_type 字段 |
IN | BOLT #2 | |
46/47 | option_scid_alias |
提供用于路由的通道别名 | IN | BOLT #2 | |
48/49 | option_payment_metadata |
tlv 记录中的支付元数据 | 9 | BOLT #11 | |
50/51 | option_zeroconf |
理解 zeroconf 通道类型 | IN | option_scid_alias |
BOLT #2 |
60/61 | option_simple_close |
简化的关闭协商 | IN | option_shutdown_anysegwit |
BOLT #2 |
原始节点:
var_onion_optin
接收节点:
接收特定位的要求在上面表格中的链接部分中定义。
上面未定义的特性位的要求可以在 BOLT #1: The init
Message 中找到。
请注意,对于在 node_announcement
和 BOLT 11 发票上下文中都可用的特性标志,BOLT 11 发票中设置的特性应覆盖 node_announcement
中设置的特性。 这使得事情与 BOLT 7 中指定的未知特性行为保持一致。
原始节点必须设置所有传递特性依赖项,以便创建格式良好的特性向量。 通过预先验证所有已知的依赖项,这简化了由单个特性位控制的逻辑; 已知该特性的依赖项已设置,并且不需要在每个特性门处进行验证。
<br>
本作品根据 Creative Commons Attribution 4.0 International License 获得许可。
- 原文链接: github.com/lightning/bol...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!