跳转到正文
buybitcoinsmart

术语表 /闪电网络与 Layer 2

CLTV 到期增量

CLTV 到期增量是什么?
CLTV 到期增量是闪电网络节点在转发传入支付前,从该支付的时间锁中减去的区块数,节点会在 gossip 中按通道的每个方向分别公布该数值。

闪电网络路由上的每个转发节点都会收取两项价格:以毫聪计的手续费和以区块计的延迟,CLTV 到期增量就是这项延迟。BOLT 7将其作为16位字段放在 channel_update 消息中,与 fee_base_msat 并列,通道的每一方各自独立公布自己的数值。如果支付卡住,这一叠区块就是您的资金被冻结的时间。

运作方式

CLTV 到期增量由负责转发的节点选定,且只约束该节点的出站方向。

规范的措辞很明确:节点必须把该字段设为它将从传入 HTLC 的 cltv_expiry 中减去的区块数。因此,增量不是截止时间,而是一段差值。节点接受一笔锁定至某个绝对区块高度的支付,自己留下这段增量,再向下一跳提供一笔锁定至该高度减去增量的支付。这段差值就是节点的安全余量:如果下游一跳在最后一刻才结算,节点仍有同样数量的区块可用来向上游索取付款。

每个公开通道带有两个这样的数值,每个方向一个,各自由设定它的节点签名。它们随 channel_update(消息类型258)一起传播,与 htlc_minimum_msat 和两个手续费字段并列。只有将要转发的节点所公布的更新才有意义:在 A 到 B 到 C 到 D 的路由上,付款方使用 B 的更新处理 B 到 C 的一跳,使用 C 的更新处理 C 到 D 的一跳,自己的更新一概不用。

因此,路由是倒推构建的。付款方从目的地出发,以发票要求的最小最终到期值为起点,向回逐跳累加各跳公布的增量,累计总数就成为它交给第一个对等节点的 HTLC 的时间锁。当节点调整价格时,BOLT 7要求它在10分钟内继续接受之前的参数,因为 gossip 不会同时传到每个付款方。

在哪里会遇到它

CLTV 到期增量决定了一笔卡住的闪电网络支付会占用您的余额多久,而 BOLT 7自带的路由示例为两条其他条件相同的路由给出了具体数字。

四个节点构成菱形:A、B、C 和 D,分别公布10、20、30和40个区块,C 要求的最终到期增量为18,规范称之为默认值。A 向 C 发送4,999,999毫聪。经由 B 路由时,A 交给其对等节点5,010,198毫聪,其中10,199是 B 的手续费,第一个 HTLC 在当前区块高度加80时到期:B 这一跳20个区块,C 为18,另有42个区块的填充。经由 D 路由时,同一笔支付的成本为5,020,398毫聪,在当前高度加100时到期。发送方相同,接收方相同,金额相同,风险敞口却多出20个区块。

这42并非随意的冗余。BOLT 7提醒说,如果如实累加各增量来构建路由,中间节点就能推算出自己所处的位置,进而猜出收款对象,因此建议付款方加入一个随机偏移量,其做法是从收款方出发向外遍历图,并累加沿途遇到的增量。规范把这一结果称为 shadow route extension。

除非您运营转发节点,否则这些数值都不由您设定。Phoenix 在本站评测中被称为手机上真正独立的闪电网络节点,它公布的发送价格为0.4%加4聪,而该表定价的是资金,不是区块。

CLTV 到期增量 vs OP_CHECKLOCKTIMEVERIFY

CLTV 到期增量是在 gossip 中公布的路由策略数值,而 OP_CHECKLOCKTIMEVERIFY 是在链上强制执行绝对截止时间的比特币脚本操作码。

两者只共用三个字母,其余几乎毫无相同之处。增量是相对值,完全存在于链下:它不出现在任何脚本中,没有全节点会验证它,设定它的节点可以通过新的 channel_update 修改它。OP_CHECKLOCKTIMEVERIFY 则写入币本身,由每个全节点检查,币一旦存在就无法再编辑。

请勿混淆

常见问题

CLTV 到期增量越大,手续费会越高吗?

不会,它消耗的是时间,不是资金。一个转发跳会在同一条 channel_update 中把延迟和手续费作为两个独立的数值公布,因此,如果路由失败并必须等到过期,即便手续费很低的一跳,也可能让您的支付被长时间压住。

CLTV 到期增量与发票上的最终到期值有什么区别?

增量属于转发跳,最终到期值属于收款方。付款方把每一跳公布的增量叠加在发票要求的最小最终到期值之上,BOLT 7的路由示例将该最小值设为18个区块。

我可以修改自己通道的 CLTV 到期增量吗?

可以,前提是您运营自己的节点,因为这是您自行在 channel_update 中公布的策略数值。BOLT 7要求您此后在10分钟内继续接受之前的参数,这样依据较旧 gossip 的付款方就不会被拒绝。

接着阅读

相关术语

闪电网络与 Layer 2中的更多术语

阅读本页英文版