MoneroSwapper MoneroSwapper

Moneroのリングシグネチャの仕組みを徹底解説

MoneroSwapper · · · 1 min read · 11 views

Moneroのリングシグネチャの仕組み

Bitcoinの送金が承認されるたびに、送り主のアドレス、受け取り主のアドレス、そして正確な金額が、誰でも永久に閲覧できる公開台帳に刻み込まれます。Moneroはこのモデルを根本から壊すために設計された通貨であり、送り主側のプライバシーを支える最大の立役者がリングシグネチャです。2025年時点のネットワークルールでは、すべてのMonero取引が本当の送り主を16人の「あり得る送金者」の中に隠します。このリングサイズ16は、2022年8月のハードフォーク以降、全ユーザーに対して固定値として強制されているものです。この均一性は些細な仕様ではなく、まさにプライバシー設計の核心そのものです。MoneroSwapperのようなノーログ型のサービスでXMRを入手した場合、コインはこの保護を自動的に引き継ぎます。あなたが何かのスイッチを自分でオンにする必要は一切ありません。

本記事では、リングシグネチャとは実際に何なのか、Moneroが送金ごとにそれをどう組み立てるのか、なぜ「キーイメージ」があなたの正体を暴かずに二重支払いを防げるのか、そして次世代アップグレードのFCMP++が匿名集合を16からブロックチェーン全体へと拡大しようとしている仕組みを、順を追って解説します。暗号技術の前提知識は不要です。必要なのは、ひとつひとつのパーツがどう噛み合うのかを追っていく姿勢だけです。

なぜ「送り主の秘匿」が一番の難問なのか

現代の数学を使えば、取引の金額を隠すことは比較的簡単です。しかし誰が誰に支払っているのかを隠すのは、はるかに困難です。なぜなら、ブロックチェーンは信頼できる審判役を置かずに、「使われようとしているコインが本物であり、まだ使われていない」ことを全員に検証させなければならないからです。Moneroはこの難題を、互いに連携する3つの独立した層によって解決しています。

  • ステルスアドレスは受取人を隠します。すべての支払いは、オンチェーンで導出される使い捨ての一回限りアドレス宛てに送られるため、受取人の公開アドレスが台帳に現れることはありません。
  • RingCTは金額を隠します。秘匿取引は金額を暗号学的なコミットメントに包み込み、読み取れる数字ではなく範囲証明によってその正当性を証明します。
  • リングシグネチャは送り主を隠します。過去のどの出力が実際に使われているのかを曖昧にするのが、この層の役割です。

この3層のどれか1つでも取り除けば、残りの2つから情報が漏れてしまいます。もし送り主が見えてしまえば、受取人のステルスアドレスを把握するだけで支払いの相関図を再構築できてしまうからです。Moneroがこの3つを「オプション機能」ではなく「必須要件」として扱うのは、このためです。その結果として得られるのが代替可能性(fungibility)、つまり、追跡可能な履歴を持つXMRが1枚も存在しないために、どのXMRも他のすべてのXMRと完全に交換可能であるという性質です。

リングシグネチャとは実際に何なのか

この概念自体はMoneroより前から存在します。リングシグネチャは2001年にRivest、Shamir、Taumanの3人によって初めて定式化されたもので、あるグループのメンバー1人がメッセージに署名すると、検証者は「このグループの誰かが署名した」とは確認できる一方で、どのメンバーが署名したのかについては何も知り得ない、という仕組みです。グループのリーダーも、事前のセットアップ儀式も、後から曖昧さを取り消す手段も存在しません。署名者は既存の公開鍵の中から「その場で自発的に」一時的なグループを構成します。

Moneroはこの発想を「支払い」に応用しています。あなたが出力(以前に受け取ったXMRのかたまり)を使おうとするとき、ウォレットはその出力を直接指し示すことはしません。代わりにリングを組み立てます。つまり、あなたの本物の出力に加え、ブロックチェーン上にある他人の過去の出力から引っ張ってきた15個のデコイ(おとり)を混ぜ合わせるのです。署名は「この16個の出力のうち1つは、間違いなくあなたが使う権利を持つものだ」と証明しますが、観察者にはそれがどれなのかを見分けることができません。

デコイと、その選ばれ方

15個のデコイはランダムではありません。もしチェーンの全履歴から一様に選ばれていたとしたら、本物の出力——それはほぼ常に最近作られたものです——が統計的に浮き上がってしまうでしょう。そこでMoneroのウォレットは、実際の支払い行動を模倣するよう調整されたガンマ分布に従ってデコイをサンプリングします。これにより、人々が実際にコインを使うのとほぼ同じ割合で、最近作られた出力が選ばれやすくなります。この選択アルゴリズムは研究者によって繰り返しストレステストにかけられており、Monero Research Labはタイミングベースのヒューリスティック(経験則による推測)を潰すために、何度も改良を重ねてきました。

すべてのウォレットが同じアルゴリズムと同じリングサイズ16を使うため、あなたの取引は構造的に他の誰の取引とも見分けがつかなくなります。均一性こそがプライバシー機能なのです。外れ値(他と違うもの)は簡単に追跡できますが、完全に均質な群衆の一員を特定することはできません。

キーイメージ:送り主を明かさずに二重支払いを止める

ここが巧妙なところです。検証者があなたがどの出力を使っているのか分からないのなら、ネットワークはどうやって同じ出力を二度使うことを防ぐのでしょうか。その答えがキーイメージです。これは、あなたの出力が持つ一回限りの秘密鍵から決定論的に導出される、固有の暗号学的タグです。

各出力が生成できる有効なキーイメージはきっかり1つだけであり、そのイメージはリングのどのメンバーが生成したのかについて何も明かしません。あなたの取引がブロードキャストされると、すべてのノードがそのキーイメージを記録します。もし同じキーイメージが二度目に現れたら、ネットワークはその2番目の取引を二重支払いとして拒否します。こうしてシステムはUTXO型台帳の完全性保証を得ながら、同時に送り主の曖昧さを保ち続けます。キーイメージは「それ自身」とは紐づけられても、「あなたの正体」とは紐づけられないのです。

身近な例えで言えば、キーイメージは「インクが特殊な一回限りのスタンプ」のようなものです。スタンプを押した事実(同じ印影が二度現れたかどうか)は誰でも照合できますが、その印影から「誰が・どの机の引き出しからスタンプを取り出したか」は決して逆算できません。鍵は出力の秘密鍵から一意に決まるため偽造も複製もできず、それでいて押し主の身元には一切つながらない——この一方向性こそが、二重支払い防止とプライバシーを同時に成り立たせている要です。

CLSAG:Moneroが現在採用している署名方式

Moneroが実際に動かしているアルゴリズムがCLSAG(Concise Linkable Spontaneous Anonymous Group signatures、簡潔・連結可能・自発的匿名グループ署名)です。これは2020年10月のハードフォークで、それまでのMLSAGという構成を置き換えました。このアップグレードは見た目だけのものではありません。CLSAGは署名サイズをおよそ25%削減し、検証時間を約10〜20%短縮しました。これはつまり、取引がより小さくなり、手数料が下がり、チェーンを検証するすべてのノードの負荷が軽くなることを意味します。

名前の「Linkable(連結可能)」は上で説明したキーイメージの挙動を指し、「Spontaneous(自発的)」と「Anonymous Group(匿名グループ)」はリーダー不在で即席に組まれるリングを表しています。金額用のRingCTと、コンパクトな範囲証明のためのBulletproofs+(リングサイズを16に固定したのと同じ2022年8月のフォークで有効化されました)と組み合わさることで、CLSAGは現代のMonero取引を「プライベートかつ小さい」ものに仕立て上げているのです。

リングシグネチャの組み立て方を、ステップごとに見る

「送信」を押したときにウォレットが内部で踏んでいく一連の流れを見ると、理解が進みます。暗号処理そのものは込み入っていますが、ワークフロー自体は素直です。

  1. 本物の出力を選ぶ。ウォレットは、あなたが支配し、その支払い鍵を所有している出力のうち、支払い額と手数料を賄えるだけの大きさを持つものを特定します。
  2. 15個のデコイを集める。ガンマ分布のサンプラーを使い、ウォレットがブロックチェーンから15個の他の出力を選び、リングの中であなたの出力と並べます。
  3. キーイメージを計算する。本物の出力の秘密鍵から導出されるこのタグは、同じ出力の将来の二重支払いをネットワークが検出するための手がかりになります。
  4. CLSAG署名を構築する。ウォレットはリング全体に対して1つの署名を作ります。この署名が有効になるのは、あなたが16メンバーのうち1つの鍵を握っているからこそですが、それがどれなのかは一切印付けされません。
  5. RingCTのコミットメントと範囲証明を添える。Bulletproofs+が、隠された金額が負ではなく、かつ収支がきちんと釣り合っていることを、その値を一切明かさずに証明します。
  6. Dandelion++経由でブロードキャストする。取引は、どのノードが最初に発信したのかを覆い隠すプライバシー保護型の中継パターンで伝播し、メモリプール層でのIPレベルの匿名化破りを妨げます。
リングシグネチャはあなたの取引を「暗号化」するわけではありません。あなたの取引を、15個のもっともらしい代替候補と見分けがつかないものにするのです。ここでのプライバシーは、データを隠すことからではなく、曖昧さから生まれます。

過去の追跡研究から学んだこと

リングシグネチャの今の姿は、最初から完成していたわけではありません。むしろ、現在の堅牢さは、過去に発見された弱点を一つずつ潰してきた積み重ねの結果です。歴史を知ると、なぜ「リングサイズ16の固定」や「ガンマ分布」といった一見地味な仕様がこれほど重視されるのかが腑に落ちます。

初期のMonero(2017年初頭以前)では、デコイの利用が任意であり、リングサイズ1、つまりデコイがまったくない取引も許されていました。デコイゼロの取引はどの出力を使ったかを丸ごと露呈させるだけでなく、その出力を後からデコイとして引用した他の取引の曖昧さまで道連れに削っていきます。これがいわゆる連鎖反応(chain-reaction)分析であり、1本の透明な取引が周囲のリングをドミノ倒しのように透けさせてしまう問題でした。Moneroはこれを受けて最小リングサイズを段階的に引き上げ、最終的に全員一律のサイズへと舵を切りました。

もう一つ有名なのが、いわゆるEAE攻撃(Eve–Alice–Eve)に代表される、攻撃者自身が出力を送受信して既知のデコイを増やすことで、リング内から「自分のものだと分かる候補」を消去していく手口です。さらに、最も新しい出力ほど使われやすいという実際の支払い傾向を突いた「最新出力ヒューリスティック」も研究で指摘されました。Monero Research Labがデコイ選択をガンマ分布へ移行させ、その後も繰り返し調整してきたのは、こうした統計的な偏りを実データの分布に近づけて消し込むためです。これらの攻撃の多くは、暗号そのものを破ったのではなく、選び方の偏りや外部情報の組み合わせを突いたものだという点が重要です。

他のプライバシー手法とリングシグネチャを比較する

オンチェーンのプライバシーに取り組んでいるのはMoneroだけではありませんが、その手法には主要な代替案とは異なる明確なトレードオフがあります。下の表は、リングシグネチャが他と比べてどう位置づけられるかをまとめたものです。

手法強み限界
Moneroのリングシグネチャ(CLSAG + RingCT)すべての取引がデフォルトでプライベート;信頼できるセットアップ不要;2017年以降の実戦で鍛えられた成熟度匿名集合がリングサイズ(16)で頭打ち;透明なチェーンより取引サイズが大きい
zk-SNARKs(例:Zcashのシールドプール)シールド時の匿名集合が非常に大きい;証明がコンパクトプライバシーがオプトイン式のため大半の取引が透明なまま;一部の設計は信頼できるセットアップを必要とした
CoinJoin / ミキシング(Bitcoinのオーバーレイ)既存の透明なチェーン上で動作;プロトコル変更が不要任意かつ協調が必要;チェーン分析企業が参加者を積極的にクラスタ化し、ミックスを解いてくる
透明な台帳(Bitcoin、Ethereum)完全に監査可能;検証が単純送り主・受取人・金額のいずれにもプライバシーがない;永久に残る公開支払いグラフ

決定的な違いは「デフォルト」という言葉にあります。CoinJoinやシールドプールでは、プライバシーはユーザーが能動的に選ばなければならないものであり、それを選んだ少数派はかえって目立ってしまいます。Moneroには、そもそもオプトアウトして逃げ込める「透明モード」が存在しません。すべての支払いがリングシグネチャを使うため、プライバシーを求める群衆とはユーザーベース全体そのものなのです。これこそが代替可能性を支えています。

正直に認めるべき弱点は匿名集合の大きさです。16メンバーはゼロよりは劇的に優れていますが、有限であることに変わりはありません。十分な資源を持つ攻撃者が外部情報を使ってデコイを消去法で除外できれば、候補の範囲は狭まっていきます。とはいえ重要なのは、Moneroではこの「曖昧さ」が一部の取引だけでなくすべての取引に等しく適用されるという点です。匿名性が標準装備である以上、攻撃者は特定の怪しい取引だけを狙い撃ちにすることができず、チェーン全体を相手にせざるを得ません。まさにこの有限という限界を消し去るために設計されているのが、次のプロトコルアップグレードです。

これから先:FCMP++とチェーン規模の匿名集合

Moneroの送り主プライバシーにこれから訪れる最も重要な変化がFCMP++(Full-Chain Membership Proofs、全チェーン・メンバーシップ証明)です。「私の出力はこの16個のうちの1つだ」と証明する代わりに、送り主は「私の出力は、チェーン上にこれまで存在したあらゆる出力のうちの1つだ」と証明します。現時点で1億をゆうに超える出力が記録されていることを考えると、これは16という匿名集合をブロックチェーン全体という匿名集合に変えることを意味します。

FCMP++は異なる暗号構造——巨大な集合に対するメンバーシップを、コンパクトかつ効率的に検証可能な証明で示せるCurve Treesという構成——を用います。重要なのは、Moneroの既存ツールと同様に、信頼できるセットアップを一切必要としない点です。これはSNARKベースの設計において歴史的に引っかかりとなってきた論点でした。信頼できるセットアップとは、初期パラメータを生成する儀式に参加した誰か一人でも「秘密の廃棄物」を捨てずに保持していれば、理論上は偽の証明を作れてしまうという脆さを抱える仕組みのことです。Moneroはこのリスクを構造的に避け続けてきました。

仕組みの直感としては、すべての出力を一本の巨大な木(ツリー)に積み上げ、その根(ルート)だけをチェーンが公開する、とイメージすると掴みやすいでしょう。支払い時には「自分の出力がこの木のどこかの葉として確かに含まれている」ことを、葉の位置を明かさずに証明します。木がどれだけ巨大になっても証明のサイズはほぼ一定に保たれるため、匿名集合を16から1億超へ拡大しても、取引が肥大化して使い物にならなくなる事態を避けられます。これが「チェーン規模の匿名集合」を現実的なコストで実現するための鍵です。

2025年を通じて、FCMP++はコードレビューと、コミュニティの資金で行われた独立した暗号監査を経て進み、より広範なSeraphis取引プロトコルの刷新と、Jamtisアドレス方式とあわせて到来する予定とされています。これらは一体となって、上限のあるリングを完全に引退させることを目指しています。関連するハードフォークがメインネットで有効化されるまでは、本記事で説明した16メンバーのリングこそが、稼働中の取引が実際に動いている通りの姿です——ですから、今日XMRを入手したり保有したりすることについて、変わることは何もありません。

規模感を実感するために言えば、チェーン全体規模の匿名集合が実現すると、デコイ選択のヒューリスティックも、ガンマ分布も、そして「正しい」リングサイズをめぐる長年の議論も、すべて意味をなさなくなります。「16個のうちどれが本物か?」という問いは、「1億超のうちどれが本物か?」という問いに置き換わります。これは分析者にとって、何の役にも立つ答えを返さない問いです。

仕組みを最大限に活かすための実践ポイント

リングシグネチャはプロトコルが自動で提供してくれますが、利用者側の振る舞い次第で、それを補強することも、逆に台無しにすることもできます。暗号が破れないからといって、その周辺(メタデータ)まで安全とは限りません。

  • 自分のノードを動かす。他人のリモートノードに接続すると、そのノード運営者はあなたのIPと、あなたが照会する取引を観測できる立場に立ちます。可能であれば自前のフルノードを動かし、それが難しければTorやI2P経由で接続するのが無難です。
  • ネットワーク層を隠す。取引の伝播はDandelion++が守ってくれますが、ウォレットの接続元IPはまた別の問題です。TorやI2Pを併用することで、IPレベルの相関付けを難しくできます。
  • 入手経路を慎重に選ぶ。KYC付きの交換業者で買ったXMRは、暗号としては匿名でも、「あなたの本名」と「ある時刻に一定量のXMRを受け取った」という事実が業者の記録に残ります。ノーKYC・ノーログの経路を使えば、この入口側の紐づけを最初から作らずに済みます。
  • 急いで全額をまとめて動かさない。受け取った直後に同じ額をそのまま転送するような行動パターンは、金額や時刻のタイミングから推測の手がかりを与えがちです。プロトコルが金額を隠していても、行動の癖は隠してくれません。

要するに、リングシグネチャはあなたを群衆の中に紛れ込ませてくれますが、その群衆から自分だけ手を振って飛び出すような振る舞いは避ける、というのが基本姿勢です。

日本のユーザーにとっての位置づけ

日本では、金融庁(FSA)の方針を背景に、国内の登録済み暗号資産交換業者がXMRのような匿名性の高い通貨を取り扱っていないのが実情です。つまり、国内取引所の口座を経由してXMRを手に入れる、という標準的なルートはそもそも開かれていません。だからこそ、ノーログかつアカウント不要で交換できる経路の理解が、日本のユーザーにとっては特に実用的な意味を持ちます。

なお、税務面では、暗号資産の売却益や交換で生じた利益は原則として雑所得として扱われ、国税庁のルールに沿って申告の対象となり得ます。プライバシーがプロトコルのレベルで守られていることと、自分の納税義務を果たすことは、まったく別の話です。本記事はあくまでリングシグネチャという技術の仕組みを解説するものであり、税務上の助言ではありません。具体的な取り扱いは最新の国税庁の指針や専門家の確認に委ねてください。

よくある質問(FAQ)

Moneroのリングシグネチャから本物の送り主を逆探知できますか?

署名そのものからは逆探知できません。署名は16人のリングメンバーのうち1人が真の送金者であることを、それがどれかを印付けせずに証明し、キーイメージもあなたの正体とは結びつけられません。匿名化を破ろうとする試みは、暗号自体を破るのではなく、一般に外部のメタデータ——IPの漏洩、取引所のKYC記録、あるいは過去の貧弱なデコイ時代のヒューリスティック——に頼ります。ノーKYCの入手経路と、よく整備されたノードを使うことで、こうしたサイドチャネルの大半は塞がれます。

現在のMoneroのリングサイズはいくつですか?

16です。すべての取引にあなたの本物の出力1つと15個のデコイが含まれ、このサイズは2022年8月のハードフォーク以降、全ユーザーに対して固定かつ必須となっています。リングサイズが均一であること自体がプライバシー対策です。なぜなら、リングサイズがバラバラだと、取引がその構造によって指紋のように識別されてしまうからです。

リングシグネチャとRingCTは何が違うのですか?

守っている対象が異なります。リングシグネチャは誰が支払っているのかを隠し、RingCT(Ring Confidential Transactions)はいくら支払われているのかを隠します。両者はすべての取引の中で連携して働き、さらに受取人を隠すステルスアドレスとも組み合わさります。完全なプライバシーには、この3層すべてが必要です。

なぜデコイなしでMoneroの出力を直接使えないのですか?

プロトコル上は技術的に可能ですが、そうするとあなたがどの出力を使っているのかが公然と露呈し、それが過去の取引と結びついてしまいます。これはあなた自身のプライバシーだけでなく、過去にあなたの出力をデコイとして使ったすべての人のプライバシーも破壊します。そのためMoneroは、コンセンサスのレベルでリングを強制しています——「透明な」Monero取引を送る方法は存在しないのです。

FCMP++は、私が今持っているXMRを自動的によりプライベートにしてくれますか?

はい、有効化されればそうなります。Moneroにおけるプライバシーは個々のコインの性質ではなくプロトコルの性質であるため、全チェーン・メンバーシップ証明への将来のアップグレードは、フォーク後に行われる支払いに対して、より大きな匿名集合を拡張します。保有者の側で必要な操作は何もありません。今日あなたが持っているコインには「印」が付いているわけではありません。コインは単に、取引時点で有効なルールのもとで支払われるだけです。

あなたのデコイに私の出力が勝手に使われることはありますか?

はい、そして、それは仕組みとして意図された動作です。あなたの過去の出力は、ブロックチェーン上の公開データとして、他人の取引のリングにデコイとして引用され得ます。これはあなたのコインが盗まれたり動かされたりすることを一切意味しません。引用されても、あなたの秘密鍵やキーイメージには何の影響もないからです。むしろ、誰の出力も互いのデコイになり得るという相互依存こそが、ネットワーク全体の曖昧さを底上げし、全員のプライバシーを集団として高めています。

リングサイズが大きいほど常に安全なのですか?

単純にそうとは言い切れません。リングサイズを大きくすれば、本物を当てずっぽうで言い当てられる確率は確かに下がります。しかしリングが大きくなるほど取引サイズと検証コストが増え、手数料が上がり、ノードの負荷も重くなります。さらに、もし利用者ごとにバラバラのサイズを選べてしまうと、その選択自体が指紋になってプライバシーをかえって損ないます。Moneroが「全員一律で16」という設計を選んだのは、こうしたコスト・均一性・匿名性のバランスを取った結果です。そして匿名集合の上限という根本的な制約は、リングを少しずつ大きくして対処するのではなく、FCMP++によってチェーン全体へと一気に置き換えることで解消される見込みです。

リングシグネチャはこれまでに「破られた」ことがありますか?

CLSAGや、その前身であるMLSAGの暗号そのものが破られた事例は知られていません。過去に報告された追跡の成功例は、いずれも暗号の数学を解いたものではなく、デコイゼロが許された初期仕様や、選び方の統計的な偏り、外部メタデータの突合といった「周辺」を突いたものでした。Moneroはそれらを最小リングサイズの引き上げ、リングサイズの一律固定、ガンマ分布によるデコイ選択といった形で順次塞いできました。とはいえ「破られていない」ことは「永久に安全」を意味しません。だからこそ研究と監査が継続され、FCMP++のような根本的な強化が進められているのです。

まとめ

リングシグネチャは、Moneroの送り主が「どの出力を使っているのか」を明かさずに「その出力を使う権利を自分が持っている」ことを証明できる、その理由そのものです。16個から成るリングに対する1つのCLSAG署名が、誰の正体も暴かずに二重支払いを阻止するキーイメージによって裏打ちされています。ステルスアドレスとRingCTと組み合わさることで、これらはプライバシーを「自分でオプトインする機能」ではなく「デフォルト」にします。そしてそのデフォルトこそが、XMRに代替可能性を与えています。FCMP++が地平線に見えてきた今、匿名集合は固定されたリングからチェーン全体へと拡大しようとしています。

仕組みを理解することは最初の一歩にすぎません。第二歩は、今まさに学んだプライバシーを手放すことなくXMRを入手することです。MoneroSwapperなら、アカウントもログもなしでMoneroを匿名で購入できます。あなたのコインは、ここで説明したすべての層にすでに守られた状態で届きます——ウォレットに着地したその瞬間に、リングがコインの周りで閉じるのです。

この記事をシェア

関連記事

匿名 モネロ取引所

KYCなし • 登録なし • 即時交換

今すぐ交換