用語集 / アドレスと鍵
ウォッチオンリーアドレス
別名はウォッチオンリーウォレットです。
- ウォッチオンリーアドレスとは?
- ウォッチオンリーアドレスとは、秘密鍵を保有せずにソフトウェアが残高を追跡できるようにするもので、入金の到着はすべて確認できる一方で、1サトシも動かすことはできません。
BIP-380で規定されています。
監視は読み取り操作です。ウォレットにアドレス、拡張公開鍵、またはディスクリプタを渡すと、ウォレットはブロックチェーン上で一致するアウトプットを走査して合計します。鍵は置いた場所、通常は引き出しの中のハードウェア機器に残ったままであり、監視を行うマシンが侵害されてもコインは1枚も動きません。
仕組み
ウォッチオンリーウォレットは、秘密の半分を取り除いた通常のウォレットです。Bitcoin Coreでは、拡張公開鍵を含み秘密素材を含まないディスクリプタを渡してimportdescriptorsにより作成します。BIP-380で標準化されたディスクリプタウォレットはバージョン0.21.0で登場し、バージョン23.0で新規作成されるウォレットの既定となりました。以前のimportaddress呼び出しは同じ作業を1アドレスずつ行い、その後でチェーンの再スキャンを要求しました。
消費者向けソフトウェアは同じ入力をより使いやすい形で受け取ります。Sparrow、Electrum、BlueWalletは、ハードウェアウォレットから貼り付けまたはスキャンした拡張公開鍵を受け取り、そこから前方にアドレスを導出し、インデックスサーバーに各アドレスを問い合わせます。この前方導出のところで20のギャップリミットが適用されます。空のアドレスが連続して20個続いた時点で諦めるウォッチオンリーウォレットは、その先の枝にある残高を過少に報告します。
ウォッチオンリーの構成から支出することは2段階で可能です。ウォッチオンリー側がBIP-174に基づく部分的署名済みビットコイントランザクションとして未署名のトランザクションを構築し、オフラインの署名者が署名を加え、ウォッチオンリー側が完成した結果をブロードキャストします。秘密のものは接続されたマシンに一切触れず、それがこの構成の狙いそのものです。
使われる場面
ウォッチオンリーウォレットは、何も起動させずにコールドのコインを確認する方法です。
標準的な構成は、ハードウェアウォレットを初期化してから保管し、その拡張公開鍵をスマートフォンやノートパソコンのアプリに読み込むものです。取引所からの出金が着いたことを確認し、承認が積み重なるのを見守り、トランザクションを準備することまで、機器を接続せずに行えます。日付の付いた完全な履歴はまさにキャピタルゲインの計算に必要なものなので、会計士や税務ソフトウェアも同じ入力を受け取ります。
企業はこのパターンを大規模に使います。自社ホストの決済プロセッサーは加盟店の拡張公開鍵を監視し、注文ごとに新しい請求書アドレスを導出し、支出する能力を持ちません。これが決済プロセッサーとカストディアンの違いです。
ここでのリスクは窃取ではなく開示です。拡張公開鍵を持つ者は、その枝のすべてのアドレスと、そこをこれまでに通過したすべてのサトシを列挙でき、自分から進んで明かすことのない残高も含まれ、しかもそれを無期限に続けられます。xpubを要求するクラウド同期アプリやブラウザ拡張機能は、あなたの完全な金融履歴を要求しており、すべてを新しいシードに移す以外に、後からそれを取り消す方法はありません。
ウォッチオンリーアドレスvsコールドストレージ
ウォッチオンリーアドレスは鍵を保有しません。コールドストレージはオフラインで保管される鍵を保有します。両者は通常一緒に現れるため混同されますが、インターネット接続されたスマートフォンで動くウォッチオンリーウォレットはコールドではなく、構成をわずかたりともコールドにしません。それはコールドウォレットへのオンラインの窓です。セキュリティは、秘密鍵がどこに存在するか、それを保持する機器がどのように入手され検証されたかに完全に依存し、監視するソフトウェアには依存しません。攻撃者はあなたのビットコインに触れずにそのソフトウェアを明日にでも差し替えられるからです。