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 無効化を防ぐ。特定の非ゼロ相対遅延を要求するものではない。 [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, Bitcoin Script opcode, Timelock, Bitcoin Script. 次の項目からも参照されています Timelock, HTLC, Bitcoin Script opcode, 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文書 ↗
一次資料を優先 · 投資助言ではありません