system online · no logs · no tracking · no kyc tor: v3 ready
root@neverkyc:/blog/ethereum-stealth-address-eip5564-gaido$ cat post.md

Ethereumでステルスアドレスを使う方法(EIP-5564完全ガイド)

// by ~anon · 2026-05-29 · mock,auto-generated,ja

Ethereumでステルスアドレスを使う方法(EIP-5564完全ガイド)

2026年4月、Vitalik Buterinが公開した「ステートレス性、ステルス、ソウルバウンドトークン」というロードマップ更新により、EIP-5564が再び注目を集める存在となりました。現時点でChainalysisのクラスタリングに少なくとも一度は紐づけられたEthereumアドレスは約140万件にのぼり、「仮名(pseudonymous)」と「プライベート(private)」のあいだに横たわる溝はかつてないほど深く感じられます。EIP-5564はそのギャップに対するEthereum側の回答です。あなたの公開されたENS名やメインウォレットと結びつけられない、その場限りの新規アドレスでETHやERC-20、ERC-721を受け取るための標準化された方法を提供します。発想の出所はMoneroにほぼそのまま負っています。Moneroは2014年以来、ステルスアドレスを既定動作として運用してきました。EIP-5564はそれをアカウント型のEVMネイティブな世界に合わせて再設計したものだといえます。本ガイドでは、この規格の仕組み、現行ウォレットでの使い方、成熟したMonero実装との比較、そして見落とされがちな落とし穴までを順を追って解説します。最終的にプライベートなETHをXMRへ変換してより強い保証を得たい場合は、MoneroSwapperがKYC不要の橋渡しを担います。ただしまずは、Ethereum上でステルスアドレスが実際に何をもたらしてくれるのかを理解するところから始めましょう。

なぜEthereumにステルスアドレスが必要だったのか

Ethereumの既定のプライバシー設計は、これまでずっと中途半端なままでした。すべてのトランザクションは、送信者・受信者・金額を、長期間使い続ける2つのアドレスに公開ベースで紐づけます。ENS名のおかげで、それらのアドレスはEtherscan上でワンクリックで人間に読める形へと変換されてしまいます。公開アドレスへ寄付した瞬間、チップを精算した瞬間、エアドロップを受け取った瞬間、ステーブルコインで給与を受領した瞬間、その受信アドレスはあなたのオンチェーン履歴と永久に結びつきます。Tornado CashはこのギャップをかつてはAaveやMakerDAOユーザーの一部に対して埋めていましたが、2022年8月にOFACが当該スマートコントラクトを制裁対象に指定し、さらに2024年に開発者2名が有罪判決を受けたことで、健全な一般用途のほとんどは凍結状態に追いやられました。

EIP-5564が取るのは、まったく別のアプローチです。共有匿名性集合に資金をプールするのではなく、送信者側がまっさらな1回限りの受信アドレスを導出し、その鍵を握っているのは真の受信者のみという構図を作り出します。事前の調整も不要、スマートコントラクトミキサーも不要、受信者のメイン秘密鍵を一度たりとも共有する必要もありません。提供されるのは次の特性です。

  • リンク不能性(Unlinkability): 外部の観測者は、2件のステルス支払いが同一受信者宛てだと判別できません。たとえ受信者のメタアドレスが公衆に公開されていてもです。
  • 非対話性(Non-interactivity): 送信者に必要なのは、受信者が公開済みのメタアドレスのみです。事前の鍵交換も、共有対称鍵も、Torブリッジも要りません。
  • スキャン専用アクセス: 表示用鍵(ビューイングキー)があれば、ホットウォレットや監視専用サーバー、スマホアプリといった外部サービスが、送金能力を持たずに着金検知だけを行えます。
  • 後方互換性: 規格はETH、ERC-20、ERC-721、ERC-1155のいずれの転送にも適用でき、どのトークンコントラクトも書き換える必要がありません。

トレードオフとして、EIP-5564は送金額そのものを隠しません。また、ステルス出力と最終的に資金が集約された宛先アドレスとのあいだの繋がりも断ち切りません。これはRingCTではないのです。それでも日常用途——フリーランサーへの支払い、NFTドロップの受領、寄付の受け入れ、給与の決済——にとっては、公開された身元と外部観測者が相関させられる情報量を劇的に減らしてくれます。

EIP-5564の動作原理

EIP-5564はToni Wahrstätter、Matt Solomon、Ben DiFrancesco、Gary Ghayratらによって起草され、2024年3月にStandards Track ERCとして最終化されました。規格は2つの構成要素を定義しています。1つは受信者が公開するメタアドレスからステルスアドレスを導出する正規スキーム、もう1つは一時公開鍵を投稿するシングルトンのアナウンサーコントラクトで、これにより受信者はチェーン全体をスキャンせずとも自分宛ての支払いを発見できます。

メタアドレス:鍵は1つではなく2つ

EIP-5564の受信者は、それぞれ st:eth:0x... という形式のステルスメタアドレスを公開します。これは2つの圧縮されたsecp256k1公開鍵を連結したものです。

  • 送信用公開鍵(P): 長期保管する送信用秘密鍵から導出されます。理想的にはこの秘密鍵はオフラインで、ハードウェアウォレット上に保持されるべきです。
  • 表示用公開鍵(V): 表示用秘密鍵から導出されます。これは送金能力を晒すことなく監視専用ソフトウェアに渡すことができる鍵です。

この分離は、Moneroが2014年にCryptoNoteから受け継いだView keyとSpend keyの分離とまったく同じ考え方です。送信用鍵が出金トランザクションへの署名を担い、表示用鍵が着金検知だけを許可します。この分離があるからこそ、LedgerやTrezorに送信用鍵を保管し、ノートPC上のホットウォレットでスキャナをバックグラウンド稼働させる、という運用が成り立ちます。

1回限りアドレスの導出

ステルスメタアドレス宛てに送金する際、送信者はクライアント側で次のプロトコルを実行します。最終ステップまでオンチェーンでの対話はありません。

  1. 新規ランダムな一時秘密鍵 r を生成し、対応する公開鍵 R = r·G を計算します(Gはsecp256k1の生成元)。
  2. 受信者の表示用公開鍵に対する標準ECDHで共有秘密 S = r·V を計算します。
  3. 共有秘密をハッシュ化:s = keccak256(S)
  4. ステルス公開鍵 P_stealth = P + s·G を導出します。
  5. P_stealth に対応するEthereumアドレスを取得します。これが1回限りの受信アドレスとなります。
  6. その1回限りアドレスに資金を送付し、アナウンサーコントラクトに対して一時公開鍵 R、ビュータグバイト、スキーム識別子を伴って呼び出しを発行します。

受信者——より厳密には、表示用鍵を保持するスキャニングサービス——はアナウンスを検出し、s = keccak256(v·R)(v は表示用秘密鍵)を再計算し、同じ P_stealth を導出し、対応するEthereumアドレスに着金している資金を見つけ出します。そのアドレスから署名できるのは送信用秘密鍵の保有者だけです。出力ごとの送信用秘密鍵は p_stealth = p_spend + s で求まります。

ビュータグ最適化

素朴な実装では、受信者は毎日チェーン上に投稿される全アナウンスについて P_stealth を計算しなければならず、規模が大きくなると1日あたり数百万回の演算になります。EIP-5564では各アナウンスに1バイトのビュータグ——keccak256(S) の先頭バイト——を含めています。スキャナはこの1バイトの比較で256件中255件を即座に棄却できるため、典型的な受信者がフル計算するのは全体のおよそ0.4%にとどまります。結果としてEIP-5564のスキャンコストは、Monero 0.18が2022年に追加した任意の表示タグ(view-tag)機能と同程度に収まります。このトリック自体は2021年にZcash研究者によって最初に文書化され、以後ステルスアドレス設計の定番パターンになりました。

EIP-5564とMoneroのステルスアドレスの比較

「EIP-5564が登場した今、Moneroはもう不要なのでは?」とEthereumユーザーから繰り返し問われるため、両者の設計を明示的に並べておく価値があります。両者は数学的な核心部分を共有しますが、より広いプロトコル全体として何を隠すか、そしてプライバシーがオプトインの機能か既定の保証かという点で、圧倒的に異なります。

項目EIP-5564(Ethereum)Monero(CryptoNote + RingCT)
1回限りの受信アドレスあり(支払いごと)あり(出力ごと)
送信者の匿名性なし — 送信元アドレスは公開あり — CLSAGリング署名で隠蔽
送金額の秘匿なし — 転送ログ上に可視あり — Pedersenコミットメント + Bulletproofs
既定の利用形態トランザクションごとにオプトインすべての出力で必須
表示用鍵によるスキャンあり(EIP-5564 viewing key)あり(Monero View key)
ネットワーク層の匿名性標準化なしDandelion++ブロードキャスト
将来のハードフォーク計画予定なしFCMP++ / Seraphis Jamtis(進行中)
匿名性集合のサイズ全EIP-5564アナウンス(数百件/日)UTXOセット全体(FCMP++以降)

要点を一言で。EIP-5564は「誰に支払われたか」を隠します。Moneroはそれに加えて、「誰が支払ったか」「いくら支払ったか」も隠します。あなたの脅威モデルが「日常的なオンチェーン監視」程度で、すでにEthereumエコシステムに住んでいるなら、EIP-5564は現状からの確かな改善になります。脅威モデルにフルグラフのクラスタリングを含む本格的なチェーン分析が含まれる場合、あるいは受領側で代替可能性(fungibility)が必要な場合は、Moneroが構造的に依然として強力です。プロトコル層ですべての出力が同一に見える、という性質を持つからです。

ステップ別:ステルス支払いの受領と送金

このハンズオンでは、2026年中盤時点でEthereumメインネット上で本番運用に耐えうるEIP-5564実装である Umbra(umbra.cash)もしくは Fluidkey ウォレットを使うことを前提とします。フローはBase、Optimism、Arbitrumのいずれでも本質的に同一で、いずれもアナウンサーシングルトンを同じ正規アドレスにデプロイしています。プロトコルの検証を行うなら、まずはSepoliaで試してみてください。ガス代は無料で、同じSDKがそのまま動きます。

  1. ステルスメタアドレスを生成する。 メイン署名鍵を保持するウォレットを接続します。UmbraとFluidkeyはともに、固定メッセージへの署名から送信用と表示用の秘密鍵を決定的に導出します。したがって別途ニーモニックシードを管理する必要がなく、メイン鍵を保持するどの端末からでも復旧できます。
  2. メタアドレスを公開または共有する。 出力文字列は st:eth:0x03ab...c1de のような形になります。これをENS名にひも付けて登録する(リゾルバフィールド stealth-meta-address はERC-5564で標準化済みで、ENS公式リゾルバがサポートしています)ことも、Signal、メール、もしくは決済リクエストページなど別チャネルで共有することもできます。一度公開してしまえば、誰でも事前調整なしにあなたへ支払えます。
  3. 支払いを受領する。 送信者はクライアント側で1回限りアドレスを導出し、アナウンサーコントラクトへアナウンスを投稿します。あなたのウォレットはおよそ毎ブロックごとに新規アナウンスをスキャンし、ビュータグでフィルタリングし、メインネットでは確認後およそ12秒以内(主要L2ではおよそ2秒以内)に着金をUIへ表示します。
  4. ステルスアドレスにガス代を充当する。 各ステルス出力は既存のETH残高がない一意のアドレスに置かれるため、送金にはガス代が要ります。ウォレットはこれを次の3通りのいずれかで処理します。GelatoやPimlicoを介したスポンサー付きメタトランザクション、入金額の一部をガス代として焼き付ける「プル」方式、もしくはウォレットがネイティブに同梱するリレーヤです。いずれにせよ、身元の判明したウォレットからガス代を供給してはいけません。その瞬間に出力が紐づけられてしまいます。
  5. 送金もしくはスイープを実行する。 導出した送信用鍵で署名します。複数のステルス出力を1つの集約アドレスへスイープすると、その時点ですべて互いに紐づけてしまうので、その紐づけが許容できる場合に限ってスイープしてください。それ以外の場合は、Railgun経由で送る、新規のCEX入金アドレスへ流す、もしくは——完全な代替可能性が必要なら——MoneroSwapperでXMRに変換し、新しいMoneroのサブアドレスで受け取るのが王道です。
経験則:ステルス出力のプライバシーは、最終的にスイープする先のアドレスのプライバシーに等しい。ステルスアドレスそのものよりも、スイープ先こそが真のプライバシー判断だと考えるべきです。

2026年のウォレットとツーリング

EIP-5564の実装ランドスケープは、規格最終化から18か月を経て大きく集約されました。2026年中盤時点で本番運用に耐えうる選択肢は次の通りです。

  • Umbra Protocol: リファレンス実装。オープンソースのフロントエンドで、Ethereumメインネット、Optimism、Arbitrum、Polygon PoS、Base、Gnosis Chainにデプロイ済み。ETH、任意のERC-20、ERC-721をサポート。開発元はScopeLiftで、2023年にTrail of Bitsによる監査を受けています。
  • Fluidkey: iOS/Androidアプリと、Safeアカウントを土台にしたアーキテクチャ、組み込みのメタトランザクションスポンサリングを備えた一般消費者向けステルスウォレット。受信者がガス代用のETHをステルスアドレスへ事前充当する必要がない設計です。2024年11月に180万ドルのシードラウンドを調達し、2025年末までにステルス支払いの累計処理額は4,000万ドルを超えました。
  • Labyrinth: EIP-5564ステルスアドレスをEthereum L2上のミキサーと組み合わせ、送金額と送信者の両方を隠蔽します。フルスタックのプライバシー製品に近づくものの、L2運営者への部分的な信頼を依然として要し、当該L2の検閲方針も継承します。
  • StealthSwap: Uniswap風のフロントエンドで、ステルスアドレス宛にアトミックにスワップ着地させることができます。DEX取引の利益を、実行リレーヤに最終受領先のウォレットを明かさずに受け取りたい場合に有用です。
  • Daimo Pay(Stealth mode): 2026年2月に追加された最新参入者。給与や定額課金のような自動化されたステルスアドレス生成こそが本領発揮となる定期的な支払いをターゲットにしています。

開発者向け情報として、正規のアナウンサーコントラクトは、Ethereumのアドレス空間を共有するすべてのEVMチェーン上で 0x55649E01B5Df198D18D95b5cc5051630cfD45564 にデプロイされています。末尾の「5564」がEIP番号と一致するように意図的にバニティ採掘されている点に注目してください。小さな工夫ですが、監査時の手掛かりとして役立ちます。リファレンスSDKである @scopelift/stealth-address-sdk がメタアドレスのパース、一時鍵の生成、アナウンスのエンコード、スキャナ側のビュータグフィルタリングを一手に引き受けます。経験のあるSolidityチームであれば、既存dAppへの統合作業は半日程度の規模感です。

事前に想定しておくべき脅威モデルの限界

EIP-5564は紛れもなく実質的な改善ですが、依然として残るいくつかの攻撃カテゴリがあります。これらは規格のバグではなく、メモリプール・ブロック・レシートがすべてグローバルに可視である透明な基盤レイヤーの上にプライバシー強化機能を重ねたことの帰結です。

  • 送信者の露出: 送信元アドレスは依然として公開のままです。メインのENSアドレスから送金してしまうと、隠されているのは受信者だけになり、チェーン分析家は「誰が、いつ、いくらをステルスアドレスへ送ったか」のグラフを依然として構築できます。
  • 金額の相関: 4.173 ETHのステルス支払いの直後に別所への4.173 ETH送金が発生すれば、両者の紐づけはほぼ確実視されます。きりのよい数字や外れ値となる金額は特に情報を漏らしやすいです。
  • タイミング相関: ステルスアナウンス自体は公開情報です。スキャンとスイープを同じ分の内に行うと、監視ツールは単純な時間窓相関だけで「どのアナウンスがあなた宛てだったか」をかなりの精度で絞り込めます。
  • スイープ側のメタデータ: bitFlyerやCoincheckのような国内取引所、あるいはBinance、Coinbaseへのスイープは、当該取引所のコンプライアンスベンダー側でステルス出力をKYC済みの身元に直結させます。本気で履歴を断ち切りたいなら、Railgun、L2ミキサー、もしくはXMR変換へ流してください。
  • ガス代供給のリーク: 身元の判明したウォレットからステルスアドレスのガス代を供給した瞬間、当該出力はあらゆる観測者に対して即座にラベル付けされます。常にリレーヤを使うか、自己資金型のスイープを選んでください。
  • クロスチェーンMEV: 一部のブリッジリレーヤは、自社のインデクサ側でステルスアドレスをログに残します。あらゆるブリッジは潜在的な匿名化解除の表面と見なし、可能な限りアトミックスワップ経路を優先しましょう。

日本のユーザーが見落としがちな実務上の論点

日本の暗号資産ユーザーがEIP-5564を実運用に取り込む際には、いくつか海外記事ではあまり触れられない論点があります。まず、金融庁(FSA)の暗号資産交換業ガイドラインは、登録業者に対してトラベルルール対応(送付元・送付先情報の交換)を求めています。bitFlyerやCoincheck、GMOコイン、bitbank、SBI VC TradeといったJVCEA加盟業者からステルスアドレス宛てに直接送金すると、業者側のコンプライアンスシステムが「未知の宛先」フラグを立てる可能性があり、追加質問や送付制限の対象になり得ます。実際の運用としては、取引所からの引き出しはまず自己保管のメインウォレットへ行い、そこから別途ステルスアドレス宛てに送る2段構えが安全です。

次に、税務上の取り扱いです。国税庁の見解では、暗号資産同士の交換は雑所得として課税対象となります。ステルスアドレスでの受領そのものは課税イベントではありませんが、ETH→XMRへの変換は譲渡所得ではなく雑所得の発生イベントとして時価で評価する必要があります。MoneroSwapperを介したスワップでも、当該時点のETHおよびXMRの円換算時価をきちんと記録しておくべきです。Cryptactや Gtaxといった国内対応の損益計算サービスはステルス出力を自動認識しないため、CSVへの手動入力が当面は必要になります。

第三に、日本語環境特有の運用上の注意点として、ハードウェアウォレットの表示言語が挙げられます。LedgerやTrezorのオンデバイス画面でステルスアドレスの導出元となるメタアドレス署名を確認する際、日本語フォントは多くのモデルで対応していないため、表示はASCII文字のままになります。署名対象のメッセージはUmbra/Fluidkeyのフロントエンドで確認した上で、デバイス側ではハッシュ値の整合性のみを照合する運用が現実的です。

FAQ

EIP-5564を使えばEthereumのトランザクションは完全にプライベートになりますか?

いいえ。EIP-5564が隠すのは「支払いの受取人」です。具体的には、公開済みのアドレス(またはENS名)と、実際に資金を受け取るアドレスとのあいだのリンクを断ち切ります。送信者のアドレス、送金額、タイミングは隠しません。送金額・送信者・受信者をすべてプロトコルが隠す完全な代替可能性保証が必要なら、依然としてMoneroのように既定でリング署名と金額コミットメントを用いるチェーンが必要です。多くのユーザーは、EIP-5564を受領用の「最初のホップ」として使い、その後XMRに変換して保管および以降の支払いに用いるという運用を採用しています。

ステルスアドレスを使うためにウォレット提供者と秘密鍵を共有する必要がありますか?

いいえ。ただし、着金検知を行うソフトウェアには、表示用の秘密鍵だけを共有する必要があります。表示用鍵は着金の検出のみを許可し、送金能力は付与しません。送金が可能になる送信用の秘密鍵は、ハードウェアウォレットや冷温保管に置いたままで構いません。これはMoneroが採用しているのと同じアーキテクチャです。常時稼働サーバー上の監視専用ウォレットはview keyを保持し、トランザクションの署名はspend keyを保持するコールドウォレットで行う、という二段構えです。

なぜEIP-5564は「Vitalikのステルス提案」と呼ばれることがあるのですか?

2023年1月にVitalik Buterinが「An incomplete guide to stealth addresses」と題したブログ記事で最初のドラフトを公開したからです。この記事がきっかけとなり、後にEIP-5564として形式的に標準化されました。暗号自体はもっと古く、Nicolas van SaberhagenのCryptoNoteホワイトペーパーが2013年に1回限りアドレスを導入し、Moneroが2014年に実装出荷しました。Vitalikの記事は、ハードフォーク変更ではなくオプトイン規格として政治的に通せる形に整理し、Ethereumコミュニティ内でこの設計を普及させた点に大きな功績があります。

BaseやArbitrumのようなLayer 2でもステルスアドレスは使えますか?

使えます。EIP-5564の正規アナウンサーコントラクトは、Base、Optimism、Arbitrum One、Polygon PoS、Gnosis Chainを含む主要EVM L2のすべてで同じアドレスにデプロイされています。UmbraとFluidkeyは両者ともクロスロールアップのステルス支払いをサポートします。2026年時点でL2上のステルス支払い手数料は通常0.05ドル未満に収まっており、エンドユーザーにとってスキャンコストは無視可能な水準となり、2024年にメインネットで本規格が抱えていた最大の摩擦要因の1つが解消されました。

スキャンコストはMoneroウォレットを動かす場合と比べてどうですか?

ビュータグ最適化を共有しているおかげで、おおむね同程度です。典型的なEIP-5564スキャナは各アナウンスの先頭1バイトのみを読み取り、ビュータグフィルタを通過した約0.4%についてのみ完全な楕円曲線計算を実行します。Moneroは2022年に同じトリックを追加しました。両エコシステムは独立に、より早期のZcash研究からこのアイデアを借りています。コモディティハードウェアであれば、Ethereumメインネット上の1年分のステルスアナウンスを数秒でスキャンでき、これは新規のMoneroウォレット同期よりも高速です。

表示用鍵を紛失したが送信用鍵は残っている場合はどうなりますか?

着金支払いを簡便に発見する能力は失いますが、いったん見つけ出した資金を送金する能力は失いません。送信用鍵のみを用いて全アナウンスから可能なステルスアドレスをすべて導出する総当たりスキャンを実行することは、極めて高コストですが原理的には可能です。実務上は、UmbraとFluidkeyのいずれにおいても両鍵がメインウォレット署名から決定的に導出されるため、ソースウォレットを再接続すれば表示用鍵はいつでも再導出できます。

結論

EIP-5564は、Tornado Cash時代以降にEthereumが出荷してきた中でもっとも実用的なプライバシー強化です。マーケティングラベルではなく、本物の暗号プリミティブであり、しかも10年前にMoneroが大規模実証したView keyとSpend keyの分離にきれいに対応する設計になっています。支払い、寄付、給与、NFTドロップにおいて、Ethereum上でもっとも害の大きい監視信号——受取アドレスの長期的アイデンティティ——を取り除きます。ただし、送信者も金額も隠しません。そしてステルス出力を透明アドレスへ集約した瞬間、せっかく得たプライバシーの大半を手放してしまいます。正しいメンタルモデルは「ステルスアドレスはプライバシーのプリミティブであって、プライバシー製品ではない」というものです。完全な代替可能性——プロトコル層で全出力が同一に見え、金額が見えず、送信者が追跡不能であるという状態——を目指すなら、もっとも素直なワークフローはこうなります。ステルスアドレスで受領し、そこから MoneroSwapper を経由したKYC不要のETH→XMR変換で、新しいMoneroのサブアドレスへ着地させる。あとはリング署名、Bulletproofs、Dandelion++ブロードキャストが残りを引き受け、あなたのオンチェーン上の痕跡はステルスアドレスが途切れたところで止まります。