129 / 691CLTV

CHECKLOCKTIMEVERIFY

CLTV 在花费路径中强制绝对时间条件。它不是闹钟:到达阈值后仍需要有效交易及确认。

OP_CHECKLOCKTIMEVERIFY 将非负栈参数与花费交易的绝对 nLockTime 比较,并检查该输入的 nSequence。交易终结性规则随后检查实际时间资格。

单独的 nLockTime 只延迟某笔交易。输出条件中的 CLTV 阻止用更低 nLockTime 的另一笔交易绕过同一路径;其他路径须单独评估。 [BIP 65 — OP_CHECKLOCKTIMEVERIFY] [Bitcoin Developer Reference — Transactions]

低于 500000000 表示区块高度,从该阈值起表示时间戳。CLTV 参数与 nLockTime 必须同类型;仅比较数字不够。 [BIP 65 — OP_CHECKLOCKTIMEVERIFY] [Bitcoin Core v29.0 — Script interpreter]

参数必须非负且不大于 nLockTime。CLTV 不读取电脑时钟,也不暂停脚本;检查不满足就验证失败。 [BIP 65 — OP_CHECKLOCKTIMEVERIFY] [Bitcoin Core v29.0 — Script interpreter]

被检查输入的 nSequence 不能为 0xffffffff。这阻止使用最终 sequence 关闭 nLockTime;CLTV 不要求某个特定的非零相对延迟。 [BIP 65 — OP_CHECKLOCKTIMEVERIFY] [Bitcoin Core v29.0 — Script interpreter]

当 nLockTime = 900000 且输入非最终时,最早候选高度是 900001,因为终结性要求 nLockTime 小于区块高度。CLTV 参数相等时通过检查不会改变这条边界。 [Bitcoin Core v29.0 — Transaction finality]

根据 BIP 113,时间型 nLockTime 与前一区块的 Median Time Past 比较,即最近最多 11 个区块时间戳的中位数。必须严格小于该值;它不是准确的本地送达时间。 [BIP 113 — Median time-past lock-time calculations] [Bitcoin Core v29.0 — Transaction finality]

CLTV 不消耗参数。在 <高度> OP_CHECKLOCKTIMEVERIFY OP_DROP <密钥> OP_CHECKSIG 中,OP_DROP 将其移除;这是条件示意,并非可直接注资的完整方案。 [BIP 65 — OP_CHECKLOCKTIMEVERIFY] [Bitcoin Core v29.0 — Script interpreter]

时间锁本身不授权所有者。签名条件仍须成立;其他分支可能允许提前花费,期限到达也不会自动付款。 [BIP 65 — OP_CHECKLOCKTIMEVERIFY] [Bitcoin Developer Reference — Transactions]

CLTV 设定固定时间点,而非输出确认后的区块数量。CSV 与 BIP 68 处理输入年龄;挖矿延迟或重组无法保证固定日期。 [Bitcoin Core v29.0 — Transaction finality] [Bitcoin Developer Reference — Transactions]

BIP 65 通过替代 OP_NOP2 的 soft fork 引入 CLTV。使用前检查完整路径、阈值类型、nLockTime、nSequence 和费用;已激活的指令不保证快速确认。 [BIP 65 — OP_CHECKLOCKTIMEVERIFY] [Bitcoin Core 0.11.2 — BIP 65 release notes]

要获得更完整的理解,请将本词条与以下词条结合阅读: CHECKSEQUENCEVERIFY, 比特币脚本操作码, Timelock, Bitcoin Script. 反向关联还来自: Timelock, HTLC, 比特币脚本操作码, CHECKSEQUENCEVERIFY.

DOC · 001BIP 65 — OP_CHECKLOCKTIMEVERIFY规范DOC · 002BIP 113 — Median time-past lock-time calculations规范DOC · 003Bitcoin Core v29.0 — Script interpreter文档DOC · 004Bitcoin Core v29.0 — Transaction finality文档DOC · 005Bitcoin Developer Reference — Transactions文档DOC · 006Bitcoin Core 0.11.2 — BIP 65 release notes文档
来源优先 · 非投资建议