130 / 691CSV

CHECKSEQUENCEVERIFY

CSV は特定入力に相対ロックを強制する。待機期間は使用する出力の確認に関係し、ウォレット作成や取引署名の時刻ではない。

BIP 112 の OP_CHECKSEQUENCEVERIFY はスクリプト引数を入力の nSequence と照合する。BIP 68 が対応する出力の年齢を強制する。関連する二つの検査であり、自動送金ではない。

CSV は使用入力の nSequence を制約する。自ら UTXO の年齢を測らず、BIP 68 の取引検証が確認履歴を使って早すぎる収録を防ぐ。 [BIP 112 — OP_CHECKSEQUENCEVERIFY] [BIP 68 — Relative lock-time]

無効化フラグのない通常引数では、CSV は取引バージョン 2 以上と nSequence のビット 31 がゼロであることを要求する。負の引数や不適合な sequence は失敗する。 [BIP 112 — OP_CHECKSEQUENCEVERIFY] [Bitcoin Core v29.0 — Script interpreter]

ビット 22 はブロックと時間を区別する。設定時は一単位が 512 秒で、時間は 512 秒刻みとなる。引数と nSequence の種類が一致する必要がある。 [BIP 68 — Relative lock-time]

下位 16 ビットがマスク 0x0000ffff で遅延を表す。CSV はこの範囲と種類を比較し、マスクしない nSequence 全数値の大小は比較しない。 [BIP 68 — Relative lock-time] [Bitcoin Core v29.0 — Script interpreter]

出力が H = 900000 で確認され、遅延が 10 ブロックなら最初の候補高は H + 10 = 900010。九ブロックでは足りず、ブロック数は正確な分数を保証しない。 [BIP 68 — Relative lock-time] [Bitcoin Core v29.0 — Transaction sequence locks]

時間起点は出力確認の直前ブロックの Median Time Past。候補ブロック直前の MTP と比較し、コード 2 は両中央値間で最低 1024 秒を意味する。二つのローカル時計ではない。 [BIP 68 — Relative lock-time] [Bitcoin Core v29.0 — Transaction sequence locks]

ゼロ遅延は待機を追加しないが、通常 CSV の他の検査は残る。非負引数自体がビット 31 を設定すると CSV は NOP として働き、その引数は相対時間ロックを課さない。 [BIP 112 — OP_CHECKSEQUENCEVERIFY] [Bitcoin Core v29.0 — Script interpreter]

各入力には独自の確認と sequence があり、適用される取引ロックをすべて満たす必要がある。再編は開始確認を動かし得るため、以前の適格性は不可逆ではない。 [BIP 68 — Relative lock-time] [Bitcoin Core v29.0 — Transaction sequence locks]

CSV は引数をスタックに残し、しばしば OP_DROP が続く。署名条件と他の分岐が認可を決める。時間制限は失われた鍵を復元せず、早期の代替経路も排除しない。 [BIP 112 — OP_CHECKSEQUENCEVERIFY] [Bitcoin Developer Reference — Transactions]

BIP 112 は OP_NOP3 を CSV に置き換え、BIP 68/113 と合わせて導入した。遅延後も送信と確認が必要で、手数料、データ可用性、チェーン状態は依然重要である。 [BIP 112 — OP_CHECKSEQUENCEVERIFY] [Bitcoin Core 0.12.1 — BIP 68/112/113 release notes]

理解を深めるには、この項目とあわせて次もお読みください CHECKLOCKTIMEVERIFY, Bitcoin Script opcode, Timelock, Bitcoin Script. 次の項目からも参照されています 承認, Timelock, HTLC, Bitcoin Script opcode.

DOC · 001BIP 112 — OP_CHECKSEQUENCEVERIFY仕様 ↗DOC · 002BIP 68 — Relative lock-time仕様 ↗DOC · 003Bitcoin Core v29.0 — Script interpreter文書 ↗DOC · 004Bitcoin Core v29.0 — Transaction sequence locks文書 ↗DOC · 005Bitcoin Developer Reference — Transactions文書 ↗DOC · 006Bitcoin Core 0.12.1 — BIP 68/112/113 release notes文書 ↗
一次資料を優先 · 投資助言ではありません