本文へスキップ
buybitcoinsmart

用語集 / 開発者向けリファレンス

PP expires

PP expiresとは?
PP expiresは、BIP70のPaymentDetailsメッセージに含まれていた任意のUnixタイムスタンプで、その時刻を過ぎるとウォレットがリクエストの受け付けをやめるよう指示するものでした。

BIP-70で規定されています。

固定価格のビットコイン請求書には期限が必要です。顧客が判断している間に価格が動くからです。BIP70はそのためのフィールドを加盟店に与えました。64ビットのUnixタイムスタンプで、任意項目として残されました。この習慣はプロトコルを超えて残りました。即時購入画面やビットコインATMのカウントダウンは、まったく同じ役割を果たしています。

仕組み

状態:歴史的。expiresはPaymentDetailsメッセージのフィールド4でした。Bitcoin Coreはバージョン0.19でBIP70を非推奨とし、2020年6月3日に0.20.0で削除しました。現在このフィールドを実装しているものはありません。

メッセージの中には2つの時刻が並んでいました。timeは必須で、加盟店がリクエストを作成した時点を記録しました。expiresは任意で、有効でなくなるべき時点を記録しました。どちらも1970年1月1日からの秒数を数え、どちらも符号なしの64ビット整数でした。これにより、符号付きの32ビットのカウンターが直面する2038年1月19日の問題を、目立たない形で避けていました。

期限の強制は完全に支払い側のソフトウェアにありました。ウォレットはタイムスタンプを自身のシステム時計と比較し、期限を過ぎるとトランザクションの作成を拒否しました。つまり、時計が誤っている端末は、無効になった請求書を支払うか、有効な請求書を拒否するかのどちらかになりました。このフィールドはブロックチェーンには一切関係しませんでした。期限切れのリクエストに対する支払いのトランザクションは他のトランザクションと同様に有効であり、加盟店がそれを入金として扱うか、返金するか、黙って受け取るかは、プロトコルの問題ではありませんでした。

短い期限には特有の落とし穴がありました。ビットコインは平均10分ごとに1ブロックを目標としているため、5分の期限は確認が1件も存在しないうちに切れることがあり、実際に支払った顧客と、加盟店のソフトウェアがすでに無効とみなした請求書が残ることになりました。

どこで見られるか

固定価格の見積もりはビットコインの購入のあらゆる場面にあり、そのどれにも背後に有効期限があります。

取引所の即時購入画面では、レートの隣にカウントダウンが表示され、通常は数秒から数分の間です。期限が切れると、見積もりは現在の価格で作り直されます。ビットコインATMもより長い時間枠で同じことをしており、これがスプレッドの広さの一因です。運営者は、利用者がATMの前にいる時間の分だけ価格リスクを負担しています。

ライトニングネットワークでは、期限は任意ではなく必須になりました。BOLT11の請求書には有効期限のxフィールドが含まれ、これがない場合の既定値は3600秒、1時間です。それより後に支払うと、適切に動作するノードは支払いを保留にせず拒否します。

支払い側への実用的な助言は地味です。期限がある場合は、手数料を節約しないでください。数百サトシを節約するために手数料を少なく払うことが、期限を逃す最も一般的な原因であり、遅れて到着するトランザクションこそ、注文ではなくサポートへの問い合わせになる典型例です。

PP expires vs locktime

有効期限は、ウォレットのソフトウェアが尊重することを選んだ加盟店のリクエストでした。locktimeは、ネットワーク上のすべてのノードが強制するルールです。両者は強制力が異なるだけでなく、方向も逆です。expiresは、それ以降は支払いを行うべきではない時点を示し、マイナーがそれを確認することはありませんでした。locktimeはトランザクション自体に書き込まれ、そのブロック高または時刻より前にはトランザクションをブロックに含めることができない、という時点を示します。一方は時間の窓を閉じ、他方は時間の窓を開きます。

混同しやすい用語

よくある質問

期限切れのビットコイン支払いリクエストに支払うとどうなりましたか?

トランザクションは有効なままでした。有効期限はネットワークのルールではなかったからです。次に何をするかを決めたのは加盟店のソフトウェアだけであり、実際には、新しいレートで支払いを入金として扱うか、手数料を差し引いて返金するかを意味しました。

取引所の見積もりが数秒で期限切れになるのはなぜですか?

売り手が、守る義務のある価格をあなたに保証しているからです。カウントダウンは、あなたが判断している間に市場が動ける幅を制限します。期限が切れても注文が取り消されるのではなく、現在の価格で見積もりが作り直されるだけです。

次に読む

関連用語

開発者向けリファレンスのその他の用語

このページを英語で読む