はじめに(この記事で分かること)#

2013年、カリフォルニア大学サンディエゴ校などの研究者Sarah Meiklejohnらは、Bitcoinを受け付ける取引所、ウォレットサービス、ギャンブルサイト、そして当時の闇市場Silk Roadを相手に、自分たちで344回の取引を行った。送った先のアドレスが誰のものかを、確実に知るためだ。研究者たちはこうして名前の分かるアドレスを集め、そこから台帳全体のつながりをたどった。論文は、召喚状を出せる機関であれば「誰が誰に支払っているか」を特定できる立場にある、と結論づけている。

チェーン解析と呼ばれる追跡の基本は、この論文の時点でほぼ出揃っていた。名前の分かるアドレスを集め、アドレス同士を束ね、資金の流れをたどる。以下では、その3つの工程を公開されている研究の範囲で説明し、最後に、自分のアドレスが外からどう見えているかを自分で確かめる考え方に落とす。BitcoinとMoneroの設計の違いそのものはBitcoinとMoneroの追跡可能性で扱っているので、ここでは主にBitcoinを例に、追跡の手法そのものを掘り下げる。

前提: 脅威モデルの整理#

チェーン解析をするのに、特別な権限は要らない。Bitcoinの台帳は誰でもダウンロードできるし、無料のブロックエクスプローラーで誰でも閲覧できる。脅威モデル入門で整理した5種類の相手のうち、標的型攻撃者でも、あなたが公開したアドレスを一つ知っていれば、そこから先の流れを読むことはできる。

ただし、流れを名前に変えられる相手は限られる。名前を持っているのは、本人確認をして口座を開かせる取引所などのプラットフォームであり、その記録を法的手続きで取り寄せられる法執行機関だ。商用のチェーン解析企業は、名前の分かるアドレスのデータベースを作り、法執行機関や取引所に分析ツールを提供している。

この記事の視点は防御側にある。自分の資金のどこに名前がついていて、どのつながりが外から見えているのかを知ることが目的だ。

工程1: 名前の分かるアドレスを集める#

チェーン解析の出発点は、誰のものか分かっているアドレス、つまり「タグ」だ。台帳そのものには名前が書かれていないので、名前は外から持ち込むしかない。

Meiklejohnらの方法は単純だった。取引所に入金し、出金し、商品を買う。自分が送ったアドレスは分かっているので、受け取った側のアドレスはその事業者のものだと確定できる。加えて、フォーラムで寄付先として公開されているアドレスや、利用者が自ら登録したタグも集めた。当時のブロックエクスプローラーのタグ機能だけで5,000件を超える名前が集まったと論文は書いている。

タグの供給源として最も強力なのは、本人確認をする取引所だ。取引所の入金アドレスは取引所のものであり、どの顧客の口座に入金されたかは取引所が知っている。法的手続きがあれば、その記録は名前になる。

自分で公開したアドレスもタグになる。OxyMonsterの事例では、闇市場のフォーラムで公開されていた投げ銭用のアドレスが起点になった。公開されたアドレスから出ていく送金は誰でも追える。裁判資料と報道によれば、捜査官はその送金をたどり、17件のうち15件が仲介サイトLocalBitcoins上で本人が管理する複数のウォレットに入っていたことを突き止めた。

工程2: アドレスを束ねる#

Bitcoinの「おつり」の仕組み#

束ねる手法を理解するには、Bitcoinの支払いの仕組みを知る必要がある。Bitcoinのウォレットの残高は、過去に受け取った「未使用の出力」(UTXO)の集まりだ。支払いをするときは、必要な額に届くまでUTXOを入力として選び、それを丸ごと使う。払いすぎた分は、自分の別のアドレスへ「おつり」として戻す。紙幣で支払っておつりをもらうのに近い。

この仕組みから、二つの推定が生まれる。

推定1: 同じ取引の入力は同じ持ち主#

一つの取引に複数の入力があれば、それらの入力に対応する秘密鍵を、送り手がすべて持っていたことになる。だから入力のアドレスは同じ持ち主のものだと推定できる。Bitcoinの論文自体が、この連結は避けられないと書いている。ただしこれは、一人の持ち主のウォレットが単独で作った取引の話だ。複数の参加者がそれぞれ自分の入力に署名して一つの取引を作るCoinJoinや、支払う側と受け取る側の両方が入力を出すPayJoin(BIP 78)では、入力の持ち主は一人ではなく、この推定は当てはまらない。

この推定は連鎖する。ある取引でアドレスAとBが一緒に使われ、別の取引でBとCが一緒に使われれば、A、B、Cは同じ持ち主のものとして束ねられる。Meiklejohnらは、当時の台帳にあった12,056,684個の公開鍵に、この推定だけを適用して5,579,176のまとまりに分けた。論文は、この推定は「かなり安全」だと評価している。複数の人が鍵を共有したり共同で一つの取引を作ったりしない限り、誤りにくいからだ。

推定2: おつりのアドレスを見分ける#

二つ目は、取引の出力のうちどれがおつりかを見分ける推定だ。おつりが見分けられれば、おつりのアドレスも送り手のまとまりに加えられる。Meiklejohnらは、ウォレットがおつり用に一度しか使わないアドレスを新しく作るという当時の習慣に着目し、「初めて現れたアドレスが出力の中に一つだけある」場合にそれをおつりとみなした。

この推定は推定1より危うい。論文によれば、最初の版では400万を超えるアドレスをおつりと判定したが、後で同じアドレスが再び使われた例から見積もると、その13%が誤りだった。条件を絞り、判定を1週間待つことで誤りは0.17%まで下がり、まとまりの数は3,384,179になった。それでも、Mt. Gox、Instawallet、BitPay、Silk Roadという別々の事業者のアドレスを一つにまとめてしまう、誤った巨大なまとまりが残った。

おつりを見分ける手がかりは、他にもある。Bitcoin Wikiのプライバシーの解説は、支払額が切りのいい数字なら残りがおつりだと推定できること、入力と同じ形式のアドレスに戻る出力がおつりである可能性が高いこと、ウォレットソフトごとの取引の作り方の癖などを挙げている。

工程3: 流れをたどる#

アドレスが束ねられれば、台帳は「アドレスの間の送金」から「持ち主の間の送金」に変わる。あとは流れをたどればよい。

Meiklejohnらが名付けた「ピーリングチェーン」は、その典型的なパターンだ。大きな残高を持つアドレスから少額を切り出して誰かに送り、残りをおつりとして新しいアドレスに移す。これを何百回、何千回と繰り返す。取引所の出金や採掘プールの報酬の支払いでも普通に見られる動きだが、おつりを一歩ずつたどれば、どこで誰に切り出されたかを追える。論文は、盗まれた資金をこの方法でたどり、一部が既知の取引所に入っていることを示した。追跡する側はすべての資金を追い切る必要はない。一部の流れが名前の分かる事業者に届けば十分だ、と論文は書いている。

同じ論文は、一時は発行済みBitcoinの5%を保有していたとされる、Silk Roadに関連した巨大なアドレスが解体されていく流れも追っている。台帳の上では、残高の大きさも、それが分割されていく過程も、すべて記録として残っていた。

混ぜた後に残る相関#

流れを断つために作られたのが、複数の利用者の資金を混ぜ合わせるミキサーやコインジョインだ。これらは取引のつながりを読みにくくするが、記録を消すわけではない。Bitcoin Wikiは、混ぜた後も残る手がかりとして、入った額と出た額の対応(金額の相関)と、入った時刻と出た時刻の対応(時間の相関)を挙げている。

公開研究は、利用者の行動がこれらの手がかりを生むことを示している。Ethereum上のミキサーTornado Cashなどを分析したWangらの論文(The Web Conference 2023)は、入金と出金に同じアドレスを使う、入金に使ったアドレスで別の受取先への出金取引の手数料を払う、といった利用者の行動に着目した5つの推定を組み合わせると、同額の入金を数えただけの名目上の匿名集合を実測よりも大きく縮められると報告した。縮小幅の平均はEthereum上で27.34%、BSC上で46.02%だった。論文はさらに、匿名マイニングの導入後、攻撃者が出金者を正しい入金者に結びつける優位が平均7.00%から13.50%に上昇したことも報告している。

Moneroでも、仕組みは違うが同じ構図があった。Möserらの論文(PETS 2018)は、初期のMoneroで、おとりの選び方の偏りから本物の入力をかなりの割合で推定できたことを示した。その経緯はBitcoinとMoneroの追跡可能性の側で説明した。

混ぜる仕組みの強さは、仕組みそのものより、それを使う全員の行動で決まる。自分が混ぜた後に同じアドレスに戻したり、入れた額をそのまま出したりすれば、混ぜたことの意味は薄れる。

出口で名前がつく#

工程1から工程3までで、台帳の上の流れは持ち主のまとまり同士の送金として読めるようになる。そこに名前が乗るのは、流れが本人確認のある事業者に届いたときだ。束ねられたまとまりのどれか一つのアドレスが取引所への入金に使われていれば、取引所の内部記録を通じて、同じ持ち主と推定された範囲全体に名前が広がる可能性がある。取引所が管理するアドレス群には多数の顧客の資金が混ざるため、どの入金が誰のものかを知っているのは取引所だけだ。Meiklejohnらが「召喚状を出せる機関」に言及したのは、この構図のことだ。

事業者が自ら資金を止めることもある。論文の脚注は、採掘プールOzcoinから923 BTCが盗まれた事件で、盗まれた資金が送られたウォレットサービスStrongcoinが、犯人が出金しようとした時点で資金を差し押さえ、Ozcoinに返したと記録している。台帳の上の流れが公開されている以上、受け取る側の事業者もそれを読める。支払い先の事業者が入金の痕跡をどう扱うかの実例は、MoneroからUSDCに変換してAI API(OpenRouter)に支払う:仕組みと残る痕跡で書いている。

事例: 台帳の追跡と、台帳の外の証拠#

Silk Road#

2015年1月、Silk Roadの運営者Ross Ulbrichtの公判で、元FBI捜査官のIlhwan Yumは、押収したサーバー上の210万を超えるアドレスと、UlbrichtのノートPC上の1万1千を超えるアドレスを起点に、両者の間の送金3,760件をたどったと証言した。動いた量は700,252 BTC、当時のレートで約1,340万ドルだった。起点になったアドレスは、台帳から推定したものではなく、押収した機器から得たものだった。この分析は公判開始後に2週間足らずで行われ、弁護側への開示が直前だったことが批判されている。

Bitfinex#

2016年に取引所Bitfinexから119,754 BTCが盗まれた事件では、2022年2月に夫婦2人が資金洗浄の共謀容疑で逮捕された。米司法省によれば、盗まれた資金を受け取ったウォレットの秘密鍵を含むファイルが見つかり、9万4千BTCを超える押収が可能になった。報道によれば、洗浄には偽名の口座、自動化された取引、Moneroのような秘匿性の高い通貨への乗り換えが使われたが、資金の一部は最終的に2人が管理する口座に流れ着いていた。押収の決め手は、台帳の追跡ではなく、捜索で開いたオンラインアカウント内の鍵のファイルだった。

OxyMonster#

工程1で触れたOxyMonsterの事例では、公開された投げ銭用アドレスからの送金が本人の管理するウォレットに流れていたことが、身元に至る最初の手がかりになった。その後、文体の比較と空港でのノートPCの検査が続いている。経緯はOxyMonster事例で詳しく扱っている。

三つの事例はいずれも、台帳の追跡だけで完結していない。台帳は流れを示し、押収した機器やファイル、事業者の記録がそれに名前を与えた。匿名性が暴かれた実例集で書いた「経路は連鎖する」の構図が、金融の痕跡でも成り立っている。

自分の痕跡を自分で確かめる#

ここまでの工程を、自分の資金に当てはめてみる。目的は、自分のアドレスのどこに名前がついていて、どのつながりが外から推定できるのかを知ることだ。

外から名前がつく場所を書き出す#

最初に、名前がついていると考えるべきアドレスを書き出す。本人確認をした取引所から出金を受けたアドレスと、取引所へ入金したアドレスは、取引所の記録で名前と結びついている前提で扱う。SNSやフォーラム、寄付の受付などで公開したアドレスは、公開した名義と結びついている。

次に、それらのアドレスと同じ取引で入力として一緒に使ったアドレスがないかを確かめる。推定1により、一緒に使った瞬間にそれらは同じまとまりになる。名前のついた資金とついていない資金を一つの支払いでまとめて使えば、名前は同じ持ち主と推定された範囲全体に広がりうる。

確認の手段にも注意する#

自分のアドレスを公開のブロックエクスプローラーで調べると、それ自体が痕跡になる。Bitcoin Wikiは、エクスプローラーのサイトは閲覧者のIPアドレスと調べたアドレスを容易に結びつけられるため、Torを使わない限りプライバシーにとって非常に悪いと書いている。自分のフルノードを動かしてウォレットを使うのが、最もプライバシーを保てる方法だとも書いている。

Bitcoin Coreを自分のノードで使っている場合、ウォレットにlistaddressgroupingsという命令がある。公式ドキュメントの説明によれば、過去の取引で入力として一緒に使われたこと、またはおつりとして使われたことによって、共通の所有が公になったアドレスの組を一覧にする。つまり、推定1と推定2で外から束ねられうる組を、ウォレット自身が教えてくれる。

# Bitcoin Core のノードとウォレットが動いている前提(Ubuntu 26.04 LTS)
bitcoin-cli listaddressgroupings

出力は組ごとの配列で、各要素はアドレスと残高、そしてラベルが設定されていればラベルを持つ。同じ組の中に、取引所から出金を受けたアドレスと、そうでないアドレスが並んでいれば、その組全体が取引所の記録とつながりうると読む。

何が見えたら、何を考えるか#

確認して分かることの多くは、もう変えられない過去の記録だ。台帳から取引を消す方法はない。分かったことを生かせるのは、これからの使い方になる。

Bitcoin Wikiが挙げるプライバシーの基本は、アドレスを使い回さないこと、出所の違う資金を一つの支払いでまとめないことだ。Bitcoin Coreを含む多くのウォレットは、支払いに使うUTXOを手動で選ぶ「コインコントロール」の機能を持っている。ただし、どの対策にもリスクが対になる。手動で選べば操作を誤る余地が増える。資金を混ぜるサービスは、次の節で書くとおり運営者の訴追例があるうえ、混ぜた履歴のある資金は取引所の審査で調査や凍結の対象になりうる。

法規制と摘発#

追跡を難しくするサービスの運営者は、刑事責任を問われている。混合機能を持つウォレットSamourai Walletの共同創業者2名は、2024年に資金洗浄の共謀と無登録の送金業を営む共謀で起訴された。米司法省は2025年8月、2人が「犯罪収益を送金していると知りながら送金業を営む共謀」の1件について有罪を認めたと発表し、同年11月に禁錮5年と4年の判決が出た。

Ethereum上のミキサーTornado Cashは、2022年8月に米財務省外国資産管理局(OFAC)の制裁対象に指定された。2024年11月に連邦控訴裁判所が、変更できないスマートコントラクトは制裁の対象となる「財産」にあたらないと判断し、2025年3月21日に制裁は解除された。一方で、共同創業者のRoman Stormは2025年8月、無登録の送金業を営む共謀で陪審から有罪の評決を受けた。資金洗浄と制裁違反の共謀については陪審の意見がまとまらず、評決不成立となった。

EUでは、暗号資産市場規則(MiCA)第76条3項が、取引プラットフォームの運営規則に対し、保有者と取引履歴を特定できる場合を除いて、匿名化機能を内蔵した暗号資産の取引を認めないよう求めている。この規制と、日本の暗号資産交換業者が追跡の困難な暗号資産を扱わないこと、送金時に送金人と受取人の情報を通知するトラベルルールが2023年6月から適用されていることは、BitcoinとMoneroの追跡可能性の規制の節で整理している。

限界と残るリスク#

チェーン解析の推定は、確率の上に成り立っている。Meiklejohnらの論文自体が、推定2で別々の事業者を一つにまとめてしまう誤りを報告している。商用の解析ツールがどの推定をどの重みで使っているかは公開されていないことが多く、外からは誤りの率を検証しにくい。Silk Roadの公判でも、追跡の手続きは弁護側から争われた。

この限界は、追跡される側にとって二つの意味を持つ。自分では切ったつもりのつながりが、推定で結ばれていることがある。逆に、何の関係もない資金が、推定の誤りで自分のまとまりに入れられることもある。他人から受け取った資金に、自分の知らない過去の履歴がついている場合もある。

そして、台帳の記録は消えない。今日の推定で読めなかったつながりが、将来の手法で読めるようになる可能性は残る。

まとめ#

Bitcoinを使っている人は、まず本人確認をした取引所と直接やり取りしたアドレスを「名前のついたアドレス」として書き出し、それと同じ支払いでまとめて使ったアドレスがないかを確かめてほしい。自分のノードでBitcoin Coreを使っているなら、listaddressgroupingsがその作業の出発点になる。調べるときに公開のブロックエクスプローラーへ自分のアドレスを貼り付けるのは避ける。

寄付の受付などで公開アドレスを持つ人は、そのアドレスから出ていく送金が誰にでも追えることを前提に、受け取った資金の使い道を設計する必要がある。公開アドレスから直接、自分の取引所口座に送れば、公開した名義と口座の名前が一本の線でつながる。

暗号資産の追跡そのものを取材・研究する人は、解析ツールの出力を確定的な証拠として扱わない姿勢が要る。推定には誤りの率があり、台帳の外の証拠と突き合わせて初めて結論になる。Silk RoadもBitfinexも、決め手は台帳の外にあった。

出典#