秘密鍵を使わない残高確認|xpubとウォッチオンリーの設計
ビットコインの残高を確認するたびに、ハードウォレットをPCに接続していないだろうか。その習慣は、必要のないリスクを毎回引き受けていることを意味する。
確認と送金は別の操作だ。必要な鍵も異なる。この単純な事実を理解するだけで、秘密鍵がネットワークに触れる機会をほぼゼロに抑えることができる。
ビットコインの鍵には「役割分担」がある
ビットコインのウォレットには、大きく分けて2種類の鍵が存在する。秘密鍵(プライベートキー)と公開鍵(パブリックキー)だ。
送金に必要なのは秘密鍵だけだ。逆に言えば、残高を確認したり受取アドレスを生成したりする作業には、秘密鍵は一切不要になる。公開鍵さえあれば、残高も受取履歴も全て把握できる。この非対称性がウォッチオンリーウォレットの根拠になっている。
「見るだけ」に「動かす権限」まで添付する必要はない。それはセキュリティの基本原則である最小権限の逆をいく行為だ。
xpub(拡張公開鍵)とは何か
HDウォレット(階層的決定性ウォレット)は、1つのシードから無数のアドレスと鍵のペアを生成する仕組みを持っている。このとき、アドレス生成に使われる公開鍵の「親鍵」に相当するのがxpub(拡張公開鍵)だ。
xpubは通常xpub6...という長い文字列で表示される。この文字列一本を持っていれば、そのウォレットが今後生成するすべての受取アドレスを順番に導出できる。一方、xpubから秘密鍵を逆算することは現在の数学では不可能とされている。
つまりxpubは「見る権限だけを切り出した鍵」だ。ここから送金はできないが、残高と受取アドレスの全容は把握できる。
ただし一点だけ注意が必要だ。xpubを第三者に渡すと、そのウォレットの全アドレスが相手に把握される。送金されるリスクはないが、保有量や取引パターンが丸見えになるプライバシーリスクがある。xpubの扱いは秘密鍵ほどではないにせよ、慎重に管理するべき情報だ。
Sparrow Walletにxpubを読み込む
ウォッチオンリーウォレットの設定は、Sparrow Walletで数分で完了する。ハードウォレット(Coldcard、Ledger、TREZORなど)の管理画面でxpubを表示・エクスポートし、それをSparrow Walletの「New Wallet」から読み込む。デバイスによっては専用ファイル(JSON形式など)でのエクスポートにも対応している。
一度設定してしまえば、ハードウォレットは引き出しの奥にしまったままでよい。Sparrow Walletを開けば、全残高・全受取アドレス・全取引履歴がリアルタイムで表示される。秘密鍵はオフラインのハードウォレットの中で静止したままだ。
送金が必要な場面では話が変わる。署名には秘密鍵が必要なため、ハードウォレットを接続するか、トランザクションをmicroSDで受け渡してエアギャップ署名する手順が必要になる。しかし「確認するだけ」であれば、その手順は一切不要だ。確認用デバイスから秘密鍵の1ビットもネットワークに流れない。
取引所のログインと比較する
取引所で残高を確認しようとしてログインした瞬間、何が起きているかを考えてほしい。
そのログインは「資産を引き出せる状態」と「残高を確認できる状態」を区別していない。ログインに成功した時点で、送金まで実行できる状態に入っている。あなたの認証情報が正しくても、取引所のシステム内部で何が起きているかを確認する手段はない。
取引所側が資産をコールドウォレットで保管しているとしても、あなたのアカウントは「要求を出せば動かせる」状態であり続ける。一回のログインが、資産全体への操作権を開いている構造だ。何かあれば引き出せなくなるリスクは、その管理権限が自分の手にないことから生まれる。
ウォッチオンリーウォレットはこの構造そのものを変える。確認用のデバイスには最初から送金能力がない。xpubは見ることしかできない情報であり、仮にそのデバイスが攻撃者に乗っ取られたとしても、そこからビットコインを動かす方法は存在しない。
「見る」と「動かす」を物理的に分離する
ハードウォレットを接続する頻度が下がるほど、秘密鍵がネットワークに触れる機会が減る。残高確認のたびに秘密鍵を「稼働状態」に近づける必要はない。
日常的な確認作業はxpubで完結させ、送金が必要な場面だけハードウォレットを取り出して署名する。この役割分担を徹底することが、セルフカストディの精度を一段上げる。
ウォッチオンリーウォレットの設定で最初にやることは、ハードウォレットからxpubをエクスポートすることだ。エクスポートしたxpubをSparrow Walletに読み込み、接続先のビットコインノードを設定する(自前ノードが理想だが、Sparrow独自のサーバーも選択可能)。これだけで「秘密鍵に触れない残高確認」の環境が完成する。
あなたのハードウォレットが今もまだ残高確認のたびに接続されているなら、今日のうちにウォッチオンリーを設定してみてほしい。確認と署名を物理的に分離することが、セルフカストディの基本を実践する最初の一歩になる。
※本記事は一般的な情報提供を目的としており、投資助言ではありません。
この記事が参考になったら、セルフカストディの具体的な始め方もチェックしてみてください。
LINE登録でセルフカストディの始め方を学ぶ 正しい手順を無料でお届けします