Moneroのステルスアドレスとは?仕組みと役割を完全解説
Moneroのステルスアドレスとは?仕組みと役割を完全解説
自分のMoneroウォレットアドレスをブロックエクスプローラに貼り付けても、受け取った取引は一切表示されません。これはバグでもインデックスの不備でもありません。エクスプローラは技術的に、そのアドレスと実際にあなた宛てに送られた出力を結びつけることができないのです。この一見直感に反する挙動の背後にあるのが、暗号通貨の中でも最も美しい応用暗号技術のひとつ、ステルスアドレス(Stealth Address)です。2026年現在、ChainalysisやTRM Labsといった大手チェーン分析企業ですら、Moneroの受取人を一貫して追跡することはできないと公式に認めています。ステルスアドレスは、MoneroSwapperでXMRを購入する一般ユーザーから、寄付を受け取るジャーナリスト、海外送金を行う在日エンジニアまで、すべてのMonero利用者を静かに守り続けている縁の下の力持ちです。本記事では、ステルスアドレスが何であるか、どのように生成されるか、なぜ取引ごとに一度きりの出力が作られるのか、そして何を守り何を守らないのかを、暗号学の基礎から日本語で丁寧に解説します。
なぜ「受取人のプライバシー」は暗号通貨で最も難しいのか
Bitcoinは分散合意という問題を解決しましたが、受取人のプライバシーという問題はほとんど未解決のままにしました。アリスがボブに0.1 BTCを送ると、世界中の誰もがボブのアドレスに0.1 BTCが加算されたのを見ることができます。ボブが同じアドレスを再利用すれば、過去と未来のすべての支払いが芋づる式に結びつきます。Common-Input-Ownershipやアドレスクラスタリングといったヒューリスティクスにより、Bitcoinは史上最も監視可能な金融システムのひとつになってしまいました。2025年のIMDEA Networks Instituteの論文によれば、KYC情報の漏洩がなくとも、公開されたオンチェーンデータだけで主要なBitcoinウォレットの71%以上が匿名化解除可能であると報告されています。
Moneroは正反対の立場を取ります。すべての出力は、それを受け取った公開アドレスとリンクできてはならない、という原則です。これを実現する三本柱は次の通りです。
- ステルスアドレスは受取人を隠します。どの出力がどの公開アドレスに属するかを外部観測者は判別できません。
- リング署名とCLSAGは送信者を隠します。真の送信者は15個のデコイ(おとり)の中に紛れ込みます。
- RingCTとBulletproofs+は金額を隠します。実際にいくら動いたかは送信者と受信者だけが知ります。
ステルスアドレスは、この三脚の「受取人側」の脚です。これがなければ、リング署名があっても送り先は漏れてしまい、プライバシー保証は崩壊します。あなたのMoneroの公開アドレスをウェブサイトに掲載しても、名刺に印刷しても、何千人ものドネーターに共有しても安全である理由は、ここにあります。何回支払いが届いても、ブロックチェーン上には毎回、数学的に無関係な新しい出力が生成されるからです。
数学的な仕組み:ステルスアドレスはこう作られる
Moneroの公開アドレスはBitcoinのようなハッシュではありません。Ed25519曲線上の2つの楕円曲線公開鍵、すなわち公開支出鍵(大文字のB)と公開閲覧鍵(大文字のA)を連結したものです。対応する秘密鍵は小文字のbと小文字のaです。誰かがあなたにXMRを送ろうとするとき、送金ウォレットはあなたのアドレスそのものをトランザクションに書き込んだりはしません。それでは秘匿の意味がなくなるからです。代わりに、次のような計算が行われます。
ステップ1:送信者がランダムなトランザクション鍵を生成する
送信ウォレットは取引ごとに新しいランダムスカラー r を選びます。そこからトランザクション公開鍵 R = r·G を導出します(GはEd25519のベースポイント)。Rはトランザクションのextraフィールドに平文で公開されますが、それ単独では受取人について何の情報も漏らしません。
ステップ2:送信者が共有秘密を計算する
あなたのウォレットアドレスから取り出した公開閲覧鍵Aを使って、送信者は共有秘密 r·A を計算します。これは曲線上での古典的なディフィー・ヘルマン鍵交換です。演算の対称性により、あなただけが秘密閲覧鍵 a を使って同じ値を a·R として再計算できます。aを持たない他の誰もネットワーク上で同じ値を導けません。
ステップ3:送信者が一度きりの出力鍵を導出する
実際にブロックチェーン上に現れる一度きりの公開鍵 P は次のように計算されます。
P = Hs(r·A || i)·G + B
ここで Hs はKeccakベースのスカラーハッシュ、i はトランザクション内の出力インデックス(複数出力でも一意な鍵を保証)、B はあなたの公開支出鍵です。出力Pは送金先としてオンチェーンに記録されます。それは見た目には何の変哲もない32バイトの鍵で、他のどのトランザクションのどの出力とも区別がつきません。重要なのは、Pが曲線上の真新しい、これまで一度も現れたことのない点であるという事実です。同じ送信者が同じ受信者に千回支払っても、毎回出力は別物になります。
ステップ4:受信者がスキャンして所有を検出する
あなたのウォレットはすべてのブロックをダウンロードし、各出力について Hs(a·R || i)·G + B を計算し、その結果がオンチェーンのPと一致するかどうかを確認します。一致すれば、その出力はあなたのものです。モバイル端末でMoneroウォレットの同期が遅く感じられるのはこのためで、ウォレットは最新の全出力を閲覧鍵で総当たりテストする必要があります。同時に、これが「閲覧鍵だけでは入金検出はできるが送金はできない」という分離が成立する理由でもあります。閲覧鍵は共有秘密を計算できますが、出力を消費するための一度きりの秘密鍵を導出することはできません。
実際にその出力を消費するには、秘密支出鍵 b を同じハッシュと組み合わせて、一度きりの秘密鍵 x = Hs(a·R || i) + b を生成します。これがPに対応します。bがなければ、どれだけ閲覧鍵データを持っていても資金を動かすことはできません。この清潔な分離があるからこそ、税理士、会計士、税務会計ソフトに対して、送金権限を渡さずに「見るだけ」のアクセスを安全に与えられるのです。日本の会計実務では、税理士法人や記帳代行業者にウォレットの透明性を提供したい場面が増えていますが、閲覧鍵モデルはまさにこの用途に適しています。
ステルスアドレス、サブアドレス、統合アドレスの違い
Moneroには受取人側の構造が実は3つあります。経験豊富なユーザーでも混同しがちなので、横並びで整理しておきましょう。
| 構造 | 正体 | 使うべき場面 | プライバシー上のトレードオフ |
|---|---|---|---|
| ステルスアドレス(一度きりの出力) | 取引ごとに自動生成、再利用不可 | あらゆる取引で自動的に。ユーザーには見えない | なし。これがベースライン |
| サブアドレス | メインアドレスから決定論的に派生する子アドレス。1ウォレットで多数の受取ラベルを管理できる | 顧客別の請求、寄付の追跡、取引所への入金 | 外部観測者からは、サブアドレス同士もメインアドレスもリンク不可能 |
| 統合アドレス | メインアドレス+暗号化された64ビットの支払いID | レガシー用途。多くのサービスは2018〜2019年にサブアドレスへ移行済み | 支払いIDは暗号化されているが、メタデータとしての痕跡が残る。新規連携には非推奨 |
| 閲覧鍵 | スキャンはできるが送金できない秘密鍵 | 監査、確定申告、ウォッチオンリーウォレット | 所持者に入金履歴の完全な可視性を渡すため、共有は慎重に |
大事なポイントは、ステルスアドレスの生成はプロトコルレベルで、すべての出力に対して、メインアドレス・サブアドレス・統合アドレスのいずれが宛先であっても自動的に行われるということです。あなたが手でステルスアドレスを入力することはありません。なぜなら、それを目にすることがそもそもないからです。ウォレットが、送信者が貼り付けたアドレスから自動で導出します。
具体例:送信から受信まで何が起きているか
たとえば、プライバシーを尊重するVPSホスティングをXMRで購入するシーンを考えてみましょう。「送信」ボタンを押してから、マーチャント側に着金が反映されるまでに、内部では次のことが起きています。
- あなたはマーチャントのメインアドレスまたはサブアドレス(4または8で始まる長い文字列)をウォレットの送金ダイアログに貼り付け、金額を入力します。
- ウォレットはランダムなトランザクション秘密鍵 r を生成し、R = r·G を計算します。Rは取引に添付されるトランザクション公開鍵です。
- 各受取人出力について、ウォレットは受信者の公開閲覧鍵Aと公開支出鍵Bを使って一度きりのステルスアドレス P = Hs(r·A || i)·G + B を導出します。お釣り(チェンジ)を自分宛てに返す出力も、自分の鍵を使って同じ方法で生成されます。
- ウォレットは過去のブロックから同じ「金額クラス」のデコイ出力を15個選び、16個の候補のうち本物の送信者が誰なのか外部からは判別できないようにCLSAGリング署名を構成します。
- 金額はディフィー・ヘルマン共有秘密で暗号化され、Bulletproofs+のレンジプルーフが「すべての金額が正である」ことを金額を明かさずに証明します。
- トランザクションはDandelion++経由でブロードキャストされ、ネットワーク観測者から送信元IPが隠されます。
- マイニングされると、マーチャントのウォレットは新ブロックをスキャンし、各取引のR値から共有秘密 a·R を計算し、導出されたPがそのトランザクションのいずれかの出力と一致するかをテストし、一致すれば残高を静かに加算します。
このサイクル全体は計算時間で約20秒、加えてMoneroの平均ブロック生成間隔である2分が必要です。外側から見ると、このトランザクションはチェーン上の他のあらゆるMonero取引と区別がつきません。同じサイズクラス、同じリングサイズ、同じ証明構造です。取引所、ISP、ブロックチェーン分析業者など、第三者がチェーンを眺めてマーチャントが入金を受け取ったかどうかを判定する手段はなく、ましてや金額を特定する手段もありません。
マーチャントは10年間、自社サイトのあらゆるページに同じMoneroアドレスを掲載し続けても、プライバシーを一切損なうことはありません。すべての支払いは新鮮でリンク不可能な一度きりの出力に着地し、ブロックチェーンはその出力を公開アドレスと関連付けません。
ステルスアドレスが守らないもの
暗号学的なプライバシーは必要ですが、十分ではありません。ステルスアドレスはオンチェーンのリンク可能性を防ぎますが、ユーザーのミスや帯域外の情報漏洩までは防げません。限界を知ることは、ツールを正しく使うための前提です。
- オンランプでのKYC:本人確認を行う中央集権取引所(日本ではbitFlyerやCoincheckなど)でXMRを購入した場合、取引所は出金トランザクションのR値を把握しています。コインがその後どこへ移動したかは追跡できませんが、強力な出発点を与えてしまいます。MoneroSwapperのようなノンKYCスワップサービスを使えば、最初からその「根」を植えずに済みます。
- オフチェーンでのアドレス再利用:ステルスアドレスはオンチェーンでのリンクを防ぎますが、X(旧Twitter)、GitHub、5ちゃんねるなどに同じメインアドレスを掲示すれば、トランザクション同士はリンクできなくとも、現実世界のアイデンティティ同士は誰でも関連付けられます。
- 閲覧鍵の漏洩:監査目的で閲覧鍵を共有し、後にその監査人のマシンが侵害されれば、そのウォレット宛てのすべての過去と未来の入金が攻撃者に見えるようになります。閲覧鍵による監査には専用のウォレットを使うべきです。
- タイミングと金額からの推測:取引所とマーチャントの両方を観測している監視主体は、オンチェーンの出力をリンクすることはできなくとも、出金のタイミングとおおよその金額を、その後の支払いと相関させることはできます。だからこそMoneroは資金を「確定」とみなす前に少なくとも10承認(約20分)を待つことを推奨しており、支払金額がユニークな指紋にならないよう注意すべきです(マーチャントの請求が0.12345678円相当だからといって、0.12345678 XMRをそのまま送るのは避ける)。
- IPレベルのメタデータ:ステルスアドレスは暗号レベルに住んでいます。ネットワークレベルのプライバシーはDandelion++が提供し、自分自身のノードをTorまたはI2P経由で運用することで大幅に強化されます。第三者が運用するリモートノードをデフォルトで使うウォレットは、IPとウォレットの関連を、そのノード運営者に対して漏らすことになります。
実例:匿名で寄付を受け取るジャーナリスト
2025年後半、内部告発系のリーク開示ブログで執筆する独立系ジャーナリストを考えてみましょう。彼女は読者からの寄付を、ドナーも自分自身も特定されることなく受け取りたいと考えています。彼女のワークフローは次の通りです。
彼女はサイトのフッター、PGP署名入りのバイオ、各記事の末尾に、たったひとつのMoneroメインアドレスを掲示しています。半年で412件の寄付が0.001 XMRから4.3 XMRまでの幅で届きました。ブロックチェーン上では、これらの支払いのいずれも彼女の掲示アドレスとはリンクしません。互いにもリンクしません。xmrchain.netのようなブロックエクスプローラには、何千ものブロックに散らばった412個の別個の一度きりの出力に対する412件のトランザクションが表示されるだけで、クラスタリングは不可能です。
生活費のために一部を法定通貨に換金したいとき、彼女はそのコインをKYC取引所には送りません。送れば、ウォレットの活動と自分のアイデンティティを結びつける紙の痕跡が生まれてしまうからです。代わりに、ノンKYCスワップを使ってXMRをプライバシー志向のステーブルコインや、その後ノンカストディアルチャネルで使えるBTCに換金します。最初から最後まで、彼女の掲示アドレスと現実世界のアイデンティティの関係を記録する中央集権仲介者は存在しません。これがステルスアドレスが守るべき脅威モデルであり、MoneroSwapperのアカウント不要なスワップフローが拡張しようとしているのも、まさに「Moneroへの入口と出口そのものが匿名化解除のベクトルにならないようにする」という点なのです。
将来:FCMP++でステルスアドレスはどう変わるか
ステルスアドレスの導出は、CryptoNoteの2014年の原論文以来Moneroに組み込まれており、10年以上にわたって本質的には変わっていません。2026年以降に変わるのは、送信者側のプライバシーレイヤーです。Full-Chain Membership Proofs(FCMP++)は、2026年中のハードフォークで有効化される見込みで、現在の16人リング署名を、消費された出力がチェーン上にこれまで作られたすべての適格な出力の中の1つであることを示すゼロ知識証明に置き換えます。実質的に匿名集合のサイズが16から数千万に跳ね上がるということです。
ステルスアドレスについては、数学的な仕組みはそのままです。一度きりの出力はP = Hs(r·A || i)·G + B のまま導出され、受信者はa·R を計算してスキャンします。変わるのは、その出力を後で消費する際に、所有を示す証明が15個の特定のデコイを指す必要がなくなる点です。さらに、より長期的なロードマップにあるSeraphisとJamtisアドレスフォーマットと組み合わせることで、ステルスアドレスはさらに柔軟になります。Jamtisは「アドレスタグ」を導入し、リンク不可能性の保証を弱めることなく、ライトウォレットがより効率的にスキャンできるようにします。数学研究が現実の展開済みプライバシーに変わっていくこのパターンは、Moneroが2026年においても受取人プライバシーの参照実装であり続けている理由のひとつです。
日本のユーザーが特に注意すべき点
日本国内でXMRを保有・利用する場合、追加で意識しておきたいポイントがあります。まず、日本の暗号資産取引所は2018年の金融庁ガイダンス以降、Moneroを含むプライバシーコインの上場を行っていません。したがって、XMRを入手するには海外取引所、P2Pマーケット、またはMoneroSwapperのようなノンカストディアル・ノンKYCスワップを利用する必要があります。後者の場合、ステルスアドレスの恩恵を最大化するために、入手したXMRは即座に自分が完全に管理する公式ウォレット(GUI、Feather、Cake Wallet)に引き出すのが望ましい運用です。
次に、税務上の取り扱いです。日本ではXMRを含む暗号資産の譲渡益は原則として雑所得に分類され、年間20万円を超える場合は確定申告が必要になります。ステルスアドレスは取引のオンチェーン上のリンク可能性を断ち切りますが、税務当局に対する申告義務までを免除するものではありません。むしろ、ステルスアドレスにより外部からは取引が見えないため、自己の取引履歴を自分自身で正確に記録しておく重要性が一層高まります。Moneroの公式GUIには取引履歴のCSVエクスポート機能があり、Feather WalletもJSON出力が可能なので、年末の集計作業はこれらを活用するとスムーズです。
最後に、ノード運用について。日本の家庭用回線でも、Moneroのフルノードを運用するためのディスク容量(2026年現在で約220GB)と帯域は十分に確保可能です。リモートノード(remote.moneroworld.comなどの公共ノード)に頼ると、利用者のIPとウォレットの紐付けが運営者に渡る可能性があります。自分でフルノードを立て、Tor over I2P経由でアクセスする構成にすれば、ステルスアドレスの暗号学的保護にネットワーク層の保護が加わり、エンドツーエンドでの匿名性が達成されます。
ウォレット選択がステルスアドレスの体感に与える影響
ステルスアドレスのプロトコル仕様自体はすべてのウォレットで共通ですが、スキャン速度や閲覧鍵の取り扱い、サブアドレス生成の柔軟性は実装ごとに大きく異なります。日本のユーザーに広く使われている主要ウォレットを比較してみましょう。
Monero公式GUI/CLIはリファレンス実装で、フルノードと組み合わせるとスキャン速度が最も速く、閲覧鍵の独立エクスポート、ハードウェアウォレット連携、マルチシグまですべて対応します。デスクトップで本格運用するなら第一候補です。Feather WalletはSparrow Walletの思想を受け継いだ軽量GUIで、Tor統合がデフォルト、CoinJoin風のチャーン機能、復元用のPolyseedにも対応しており、中級者以上に人気があります。Cake WalletとMonero.comはモバイルでステルスアドレススキャンを快適に行えるよう最適化されており、初心者がスマホだけでMoneroを始めるための実質的な標準になっています。Stack Walletはマルチコイン対応で、BTCやLTCも同じUIから扱いたいユーザーに向いています。
ハードウェアウォレットでは、Ledger Nano S Plus/XとTrezor Safe 3/5がMoneroをサポートしており、秘密支出鍵がデバイスから一切出ない安全性を確保しながら、ホスト側のウォレットソフトウェアがステルスアドレスのスキャンを担う構成になります。秘密閲覧鍵はホストに渡されるため、スキャン速度はソフトウェア単独運用と変わりませんが、支出には毎回デバイス上での確認操作が必要になり、マルウェアによる無断送金を構造的に防げます。日本国内のハードウェアウォレット販売店経由で購入する場合は、必ず公式の正規代理店を選び、開封時のシール改ざんの有無を確認してから初期化してください。中古品や非正規ルートのデバイスは、ファームウェアレベルで仕込まれたバックドアが理論上は可能なため、ステルスアドレスがどれだけ強力でも秘密鍵そのものを保護できません。
FAQ
自分のアドレスにどれだけのXMRが届いたか、他人から見えますか?
いいえ。Bitcoinとは異なり、Moneroのメインアドレスにはオンチェーン上の残高という概念がありません。残高は所有者のウォレットがステルスアドレス導出を再現することで初めて計算されます。あなたの公開アドレスしか持たない第三者には、何件の取引を受け取ったか、いくら、いつ受け取ったかを判定する手段はありません。
同じMoneroアドレスを再利用しても安全ですか?
技術的にはイエスです。同じアドレス宛ての支払いも毎回オンチェーン上ではユニークなステルスアドレスを生み出すため、取引同士はリンクされません。とはいえ、会計や運用上のプライバシーを高めるために、取引相手ごとにサブアドレスを生成しておくのが良い習慣です。閲覧鍵を共有したり、ある取引相手が侵害された場合の影響範囲を限定できます。
閲覧鍵とステルスアドレスの違いは何ですか?
閲覧鍵はあなたのウォレットに属する秘密鍵で、所持者が入金をステルスアドレス導出の再計算によって検出することを可能にします。一方ステルスアドレスは、その閲覧鍵を使って見つけ出す対象である、オンチェーンの一度きりの出力そのものです。閲覧鍵は「読む」役割であり、「生成する」役割ではありません。
ステルスアドレスはMoneroを量子耐性にしますか?
いいえ。ステルスアドレスはEd25519曲線上の離散対数仮定に依存しており、十分大規模な量子コンピュータがShorのアルゴリズムでこれを破る可能性があります。Monero Research Labは長期ロードマップとして格子ベースの代替案を含む複数のポスト量子提案を進めていますが、2026年時点ではいずれも未展開です。信頼できる量子敵対者を含む脅威モデルにおいては、ステルスアドレスは助けになりません。
自分自身にXMRを送ったとき、自分のウォレットもステルスアドレスを生成しますか?
はい。お釣りを送信者自身に返す出力を含め、すべての出力は自分の閲覧鍵と支出鍵から導出されるステルスアドレスです。これがあなたのお釣り出力もメインアドレスとリンク不可能である理由であり、一度だけ自己送金した新しいウォレットがブロックチェーン上では2つの独立した受取人のように見える理由です。
裁判所や召喚状でステルスアドレスの所有者を特定させることはできますか?
オンチェーンデータのみを保有するいかなる主体も、閲覧鍵なしにステルスアドレスを公開アドレスへ逆写像することはできません。日本の裁判所や検察が(既知の)ウォレット所有者に対して閲覧鍵の開示を命じることは法的には起こりえますが、ネットワークや第三者に逆導出を強制することはできません。数学的にそのような導出は存在しないからです。
マイニングプールから受け取った報酬もステルスアドレスですか?
はい。MoneroのCoinbase出力もRandomXマイナーが受け取るプール報酬も、通常の取引と同じステルスアドレス導出を経由します。プール運営者があなたに支払うとき、彼らはあなたの公開アドレスから新しいPを毎回導出します。したがって、マイニング報酬の受取アドレスを長期間使い続けてもオンチェーン上のリンク可能性は発生しません。ただしプール側のデータベースには支払い履歴が残るため、プール運営者を信頼するか、ソロマイニングに切り替えるかは別途の判断になります。
結論
ステルスアドレスはMoneroのプライバシーの「静かなる半分」です。リング署名とRingCTは送信者と金額を守るので注目を集めがちですが、取引ごとの一度きりの出力鍵がなければ、それらの防御は空洞になってしまいます。送り先が漏れ、チェーン分析は受取人をクラスタリングできてしまうでしょう。CryptoNoteが2014年に正しく設計し、Moneroが10年間のアップグレードを経て守り続けてきたのは、「受取人のプライバシーは構造的なものであって、オプションではない」という認識です。それはすべての取引に、自動的に、ユーザーが意識的に有効化することなく組み込まれていなければなりません。この構造的選択こそが、XMR寄付アドレスを掲示することがBTC寄付アドレスを掲示することと根本的に異なる安全性を持つ理由なのです。
Bitcoinから来てこの性質を実際に活用したいなら、最もクリーンな第一歩はアイデンティティと紐づく入口を作らずにXMRを手に入れることです。MoneroSwapperを使えば、アカウント登録なし、KYCなし、そして後にここで述べたプライバシー保証を台無しにするようなログの保持もなしに、BTC、ETH、LTC、USDT、その他十数種類のアセットをMoneroにスワップできます。コインがあなた自身のウォレットに着地したあとは、ステルスアドレスが自動的に残りの仕事をしてくれます。あなたが受け取るすべての支払いは互いにリンク不可能であり、それらのいずれかの所有を証明できる唯一の人物は、あなただけです。
🌍 他の言語で読む