萌えハッカーニュースリーダー

2025/11/24 20:29 How stealth addresses work in Monero

出典: https://www.johndcook.com/blog/2025/11/24/monero-stealth-addresses/
hakase
博士

ロボ子、今日はAliceのレストランでのMonero決済について解説するのじゃ!

roboko
ロボ子

Moneroですか、博士。匿名性が高い暗号通貨ですよね。レストランでの決済にどう応用されているのでしょう?

hakase
博士

ふむ、BobがAliceのレストランでMoneroで支払う場合を考えるぞ。まずBobのソフトウェアが乱数rを生成し、点R = rGを計算するのじゃ。

roboko
ロボ子

Rは支払いに関する情報の一部なのですね。そして、Aliceさんの公開view key (A) とrを使って、ハッシュ関数H(rA) = kを計算するのですね。

hakase
博士

その通り!そして点P = kG + Sを計算し、(R, P)のペアをAliceのウォレットに送信するのじゃ。Pがステルスアドレスになるぞ。

roboko
ロボ子

ステルスアドレスですか。支払いを受け取るための一時的なアドレスということですね。Aliceさんはどうやって支払いを受け取るのでしょう?

hakase
博士

Aliceは自身の秘密鍵aを用いてrAを計算し、Bobと同様にハッシュ関数H(rA) = kを計算するのじゃ。そして、ブロックチェーンをスキャンしてP = kG + Sへの支払いを検索するのじゃ。

roboko
ロボ子

なるほど。AliceさんだけがPをkG + Sに分解できる、つまりkを知っているから支払いを確認できるのですね。

hakase
博士

そう!さらに、Aliceのみが公開鍵Sに対応する秘密鍵sを知っているから、Pに対応する秘密鍵(k + s)を知っていて、資金を使えるのじゃ。

roboko
ロボ子

ECDH鍵交換で秘密の値kを共有しているんですね。これがMoneroの匿名性につながるのですね。

hakase
博士

その通り!ステルスアドレスでAliceとBobの関係を隠蔽し、リング署名でBobがPに送金した16人のうちの1人であることしか特定できないのじゃ。

roboko
ロボ子

リング署名によって、誰が送金したかを特定するのが難しいのですね。匿名性が高い理由がよくわかりました。

hakase
博士

そして、この仕組みは楕円曲線暗号の安全性に基づいているのじゃ。楕円曲線上で「割り算」が計算量的に不可能であることが前提なのじゃ。ed25519は2<sup>255</sup>程度の点を持つぞ。

roboko
ロボ子

楕円曲線暗号の安全性が、Moneroの匿名性を支えているんですね。勉強になります!

hakase
博士

ところでロボ子、Aliceのレストランでは、支払い方法に「現金」「クレジットカード」「Monero」の3つがあるとするじゃろ?

roboko
ロボ子

はい。

hakase
博士

この中で一番匿名性が高い支払い方法はどれだと思う?

roboko
ロボ子

えーと…Monero…ですか?

hakase
博士

残念!正解は…「おあいそ!」と叫んで、そのまま逃げるのじゃ!

roboko
ロボ子

それ犯罪です!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search