ビットコインのタイムロック — 鍵があっても待つ理由
ビットコインでは、署名に加えて待ち時間も条件にできる。BIP65とBIP112は、後から使える出口を支出条件に組み込む仕組みと、期限が来ても自動送金されない理由を示している。

3点クイック要約
- 発端 / 逆説BIP65は、特定の時刻やブロック高を待つ条件を支出スクリプトに組み込んだ。
- 決定的瞬間BIP112は、使おうとする出力の承認からどれだけ経過したかを基準とする待ち時間を加えた。
- 歴史的結末期限後に別の支出経路が開いても、自動送金されるわけでも、元の経路が必ず閉じるわけでもない。
出来事のタイムライン
ピーター・トッドがスクリプトで使う絶対タイムロックを定義した。
BIP112が出力の経過時間に応じて使える支出経路を説明した。
Bitcoin Core 0.11.2にBIP65の検証機能が加わった。規則の適用には有効化が必要だった。
取引を予約するだけでは足りなかった
ビットコインのウォレットでは、鍵を持っているかどうかが通常は決め手になる。BIP65は、そこに「もう使ってよい時なのか」という問いを加えた。ピーター・トッドが2014年10月1日に提案したCHECKLOCKTIMEVERIFYは、特定の時刻やブロック高に達してから支出経路を使えるようにする規則だ。後にBitcoin Core 0.11.2へ検証機能が入った。ただし、その版の導入と合意規則の有効化は別の段階だった。[1][2]
ビットコインにはすでに、ある取引をブロックに含められる時期を遅らせるnLockTimeという欄があった。しかし、一つの取引を延期しても、その資金が先に動かない保証にはならない。同じ出力を使う別の取引に署名できる人なら、待ち時間を外せるかもしれない。BIP65は、出力を守るスクリプト側に条件を置いた。その経路を使う取引は、自発的に待つだけでなく、指定された時間条件を満たす必要がある。[1]
後から使える出口
提案書の例を見ると違いが分かる。通常は利用者とサービスの両方の署名が必要なウォレットを考えよう。別の経路を、利用者の署名だけで使えるものの、指定した期限後にしか開かないようにできる。これはBIPの設計例であり、すべてのウォレットに同じ復旧機能があるという意味ではない。期限前は一人でこの経路を使えないが、期限後はサービスが応答しなくても資金を動かす余地がある。[1]
タイムロックは、時刻が来ると送金を配信する目覚まし時計ではない。必要な署名と、出力を実際に使う取引が依然として要る。また、遅れて開く経路ができても、協力して使う経路は自動では閉じない。この例では、出力が未使用なら期限後も利用者とサービスが共同で支出できる。変わるのは許される行動であって、必ず起きる行動ではない。[1]
時計はいつ動き始めるのか
絶対的な基準点が、いつも適切な時計とは限らない。BtcDrak、マーク・フリーデンバック、エリック・ロンブローゾが2015年8月に提案したBIP112は、CHECKSEQUENCEVERIFYを説明している。BIP68と組み合わせると、出力が一定の経過時間に達するまで待たせられる。エスクローの例では、入金取引が承認されてから数え始める。入金前から迫ってくる固定の日付とは異なる。[3]
これらはビットコインの規則で定義される時計だ。ブロック数を使うこともでき、時刻に基づく判定では、スマートフォンの時計ではなく、BIP113が定める直近のブロック時刻の中央値などを使う。BIP112は、古いコミットメントに対してチャネルの相手が対応する時間を、遅延によって確保する方法も示す。待つ目的は資金を凍結することだけではない。相手に行動する時間を与えたり、後の出口を残したりできる。その出口を使う資格は、なお署名で確かめる。[3][4]
この人物・事件と繋がる関連ストーリー
歴史のバタフライ効果で結びついた、もう一つのドラマを探求する。
出典・参考文献
- [1]出典 1: BIP65:絶対タイムロックの動機とウォレットの例Bitcoin BIPs · 2014-10-01確認 2026-09-25
- [2]出典 2: Bitcoin Core 0.11.2:BIP65への対応と有効化Bitcoin Core · 2015-11-13確認 2026-09-25
- [3]出典 3: BIP112:相対タイムロック、エスクロー、決済チャネルBitcoin BIPs · 2015-08-10確認 2026-09-25
- [4]出典 4: BIP113:ロックタイム計算に使う過去時刻の中央値Bitcoin BIPs · 2015-08-10確認 2026-09-25

