ビットコイン追跡で迷わない|次のコインが分かるUTXOの見方

ビットコイン追跡の読み方

UTXO・おつり・TXID:vout
実在の取引で1本ずつ追う

追う対象は「アドレス」ではなく「コインのかたまり」です。

先に結論(5行)

  1. ビットコインに「残高」という置き場所はありません。追う対象はアドレスではなく UTXO(まだ使われていないコインのかたまり)です。
  2. UTXOは一部だけ使えません。丸ごと使って差額を自分に戻します。この戻り分がおつり(Change)です。
  3. 実在の取引 f4184fc5…9e16 は 50 BTC を「10 BTC の支払い」と「40 BTC のおつり」に分けています。おつり側は受取スクリプトが入力とバイト単位で一致するので、推測ではなく確定できます。
  4. 「金額が大きいほうがおつり」は誤りです。有名なピザ取引 a1075db5…d48d のように、おつりが1つも無い取引もあります。
  5. 今日やることは1つ。エクスプローラーでTXIDを検索し、Outputs欄の vout番号 と Spent by だけを見てください。それが「次の1手」です。

「暗号資産は追跡できる」と言われます。ところが実際にブロックチェーンエクスプローラーを開くと、Inputs と Outputs という欄に数字が並ぶだけで、どこをクリックすれば「次」に進めるのかが分かりません。

つまずく原因ははっきりしています。多くの解説が「追い方の手順」から始めてしまい、その手順が前提にしている「コインとは何か」を説明していないからです。この記事はその土台だけを扱います。用語は UTXO・Spent・Change・TXID:vout の4つだけ。すべて実在する取引の実際の数字で確認していきます。

⚠ この記事の前提

扱うのはビットコイン(BTC)です。イーサリアムなどは「口座の残高を書き換える」まったく別の方式(アカウントモデル)を採っており、この記事の考え方はそのままでは当てはまりません。また本文で使う取引は、いずれも誰でも閲覧できる公開データであり、犯罪とは無関係の歴史的な取引です。

CHAP1

第1章 / 全7章

ビットコインに「残高」という置き場所は無い

まずここを外すと、この先すべてが分からなくなります。

銀行口座には「残高」という数字が1つ保存されています。1万円振り込まれれば残高が1万円増え、3千円払えば3千円減ります。数字を書き換えているだけです。

ビットコインは違います。どこにも「あなたの残高」という項目がありません。あるのは「まだ使われていないコインのかたまり」が何個あるかだけです。このかたまり1個を UTXO と呼びます。

UTXO は Unspent Transaction Output の略で、そのまま訳すと「まだ使われていない、取引の出力」です。過去の取引が生み出した出力のうち、まだ誰にも使われていないもの、という意味になります。

財布の中の紙幣に置き換える

財布に 5,000円札が1枚と 1,000円札が2枚入っているとします。あなたはこれを「7,000円ある」と言いますが、財布の中に「7000」と書かれた札が入っているわけではありません。3枚の札が別々に入っていて、その合計が7,000円なだけです。

ビットコインの残高もこれと同じです。ウォレットアプリが「0.8 BTC」と表示していても、実体は次のようになっているかもしれません。

# ウォレットの表示は「0.80000000 BTC」でも、中身は3個のかたまり UTXO A 0.50000000 BTC ← 3か月前に受け取ったもの UTXO B 0.20000000 BTC ← 先月受け取ったもの UTXO C 0.10000000 BTC ← 昨日受け取ったもの —————————————– 合計 0.80000000 BTC ← これが「残高」として表示される

ここで紙幣のたとえを一度手放して、本来の意味に戻します。紙幣は「物」ですが、UTXO は物ではありません。UTXO の正体は、過去の取引が作った「出力」という1行のデータです。「この金額を、この条件を満たせる人が使ってよい」と書かれた1行が、ブロックチェーンにずっと残り続けている。それが1個のかたまりの実体です。

比べる点銀行口座ビットコイン
保存されているもの残高という数字1つまだ使われていないかたまり(UTXO)の集まり
支払いの処理残高を減らす(書き換え)かたまりを消して、新しいかたまりを作る
一部だけ払うできるできない(丸ごと使うしかない)
追跡の単位口座番号かたまり1個1個

※ 一番下の行が、この記事でいちばん大事な違いです。追跡ではアドレスではなく「かたまり」を追います。

💡

「アドレス」は追跡の主役ではありません

アドレスは「そのかたまりを誰が使えるか」の条件を短く書いたものです。追跡でアドレスを見るのは、かたまりの持ち主を推測するときだけ。実際に鎖として繋がっているのは、あくまでかたまり同士です。

第1章 おわり — 次は第2章

先に手順を知りたい方へ

「まず追跡ツールの使い方が知りたい」という方はこちら

この記事は仕組みの土台に絞っています。無料で使えるエクスプローラーの選び方や、被害に遭ったときの具体的な手順は、別記事にまとめてあります。

暗号資産の追跡ガイドを読む
CHAP2

第2章 / 全7章

UTXOは割れない。だから「おつり」が生まれる

Spent(使用済み)と Change(おつり)の正体。

ビットコインのいちばん風変わりなルールがこれです。

UTXO は、一部だけ使うことができません。使うなら丸ごと、使わないならまったく手を付けない。この2択しかありません。

1万円札しか持っていない人が 1,000円の買い物をする場面を思い浮かべてください。1万円札を破って1,000円分だけ渡すことはできないので、1万円札を丸ごと店に渡し、9,000円をおつりとして受け取ります。ビットコインもまったく同じ手順を踏みます。

0.8 BTC のかたまりから 0.1 BTC 送る

0.8 BTC の UTXO を1個だけ持っている人が、誰かに 0.1 BTC 送るとします。実際に起きるのは次のことです。

1個のかたまりが、2個のかたまりに置き換わる

使うUTXO 0.80000000 BTC この後 Spent へ 取引 1個消して 2個作る vout 0 = 支払い 0.10000000 BTC vout 1 = おつり 0.69990000 BTC 手数料 0.00010000 = 入力 − 出力

元の 0.8 BTC のかたまりは、この瞬間に消えます。もう存在しません。代わりに 0.1 BTC のかたまりと 0.6999 BTC のかたまりという、新しい2個が生まれました。

この 0.6999 BTC が おつり(Change)です。送金者自身が持ち主のままなのに、かたまりとしては新品に入れ替わっているところがポイントです。

使ったかたまりは「Spent」になる

使われた 0.8 BTC のかたまりには「もう使われた」という印が付きます。これが Spent(使用済み)です。逆に、まだ使われていない状態が Unspent(未使用)です。UTXO の頭文字 U はこの Unspent を指しています。

そして重要なのは、一度 Spent になったかたまりは、二度と Unspent に戻らないことです。だから追跡は「枝分かれはするが、逆流はしない」一方通行の形になります。

手数料は「引き算」で決まる

もう1つ、多くの入門記事が飛ばしてしまう点があります。ビットコインの取引には「手数料」という欄が存在しません。

手数料は、入力の合計から出力の合計を引いた差額として自動的に決まります。上の例なら 0.8 −(0.1 + 0.6999)= 0.0001 BTC が手数料です。エクスプローラーが「Fee」として表示している数字は、書かれていたものではなくその場で計算された結果です。

⚠️

この仕組みが分かると「送金ミス」の怖さも分かります

おつりの出力を書き忘れると、差額はすべて手数料として持っていかれます。実際に、意図しない高額な手数料で多額のビットコインを失う事故は過去に何度も起きています。ウォレットアプリは、この引き算を間違えないよう自動で計算してくれているだけです。

用語読み・略ひとことで言うと
UTXOUnspent Transaction Outputまだ使われていないコインのかたまり1個
Unspentアンスペントそのかたまりはまだ使われていない
Spentスペントそのかたまりは使われた(=次の取引がある)
Changeチェンジ/おつり丸ごと使った差額を自分へ戻す出力
Feeフィー/手数料入力合計 − 出力合計。書かれず計算で出る

第2章 おわり — 次は第3章

CHAP3

第3章 / 全7章

TXID:vout = コイン1個ずつの住所

ここが分かると、画面のどこをクリックすべきかが決まります。

1つの取引は、出力を何個でも作れます。だから「どの取引か」を指すだけでは、コインを1個に特定できません。

TXID は取引そのものに付く64文字の識別子です。レシート番号だと思ってください。ただし1枚のレシートに複数の商品が載るように、1つの取引にも複数の出力が載ります。そこで「そのレシートの何行目か」を示す番号が必要になります。それが vout です。

# TXID だけでは、どのかたまりか決まらない TXID f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16 ├─ vout 0 → 10.00000000 BTC └─ vout 1 → 40.00000000 BTC # だから「TXID : vout」で1個に特定する f4184fc5…9e16:0 ← 10 BTC のかたまり f4184fc5…9e16:1 ← 40 BTC のかたまり(まったくの別物)

vout は vector output の略で、0から数えます。1番目が vout 0、2番目が vout 1 です。この「0から数える」を1つずらすと、追跡はまるごと別の枝に迷い込みます。

そして「TXID + vout」の組み合わせには、きちんとした名前が付いています。Outpoint(アウトポイント)です。ビットコインの取引データの中で、入力は必ずこの Outpoint の形で「どのかたまりを使うか」を指定しています。

だから追跡はこう進む

ここまでを組み合わせると、追跡の1手が決まります。やることは3つだけです。

# 追跡の1手(これを繰り返すだけ) 1. TXID を検索して取引を開く 2. Outputs を見て、追いたい行の vout 番号 を確認する 3. その行の Spent by(使用先)のリンクをたどる ├─ リンクがある → そこが次の TXID。1へ戻る └─ Unspent 表示 → 追跡はここで停止(まだ動いていない)
🔎

発想を1つ入れ替えてください

「次のアドレスはどれ?」ではなく、「このかたまりは、次にどの取引で使われた?」と考えます。前者は答えが決まりませんが、後者はブロックチェーンに事実として記録されているので、必ず1つに決まります。

第3章 おわり — 次は第4章

CHAP4

第4章 / 全7章

実データ:世界で最初の送金を開いてみる

架空の例はここまで。ここからは本物の数字だけを使います。

ビットコインで人から人へお金が送られた最初の取引は、いまも誰でも閲覧できます。次の TXID をエクスプローラーに貼り付ければ、あなたの画面にもまったく同じものが出ます。

# 2009年1月12日 12:30(日本時間)/ ブロック高 170 に記録 TXID f4184fc596403b9d638783cf57adfe4c75c605f6356fbc91338530e9831e9e16

この取引の中身は、驚くほど単純です。入力1個、出力2個。第2章で見た「1個消して2個作る」の教科書どおりの形をしています。

欄指しているもの金額
Input(入力)0437cd7f…97c9 の vout 0 を消費50.00000000 BTC
Output vout 0送金先(送り主とは別の受取スクリプト)10.00000000 BTC
Output vout 1おつり(受取スクリプトが入力と完全一致)40.00000000 BTC
Fee(手数料)50 −(10 + 40)= 00.00000000 BTC

※ 取引サイズ 275バイト。2009年当時は手数料ゼロでも取引が取り込まれていました。出典は本文末尾の mempool.space API(2026年9月9日取得)。

「どっちがおつりか」を推測せずに確定する

第2章の図では「半端な数字のほうがおつり」と当たりを付けました。しかし 10 BTC と 40 BTC はどちらもキリの良い数字です。金額だけ見ても決まりません。

そこで、金額ではなく「そのお金を誰が使えるか」の条件そのものを見比べます。ビットコインの各出力には、受け取り条件を書いた scriptPubKey(受取スクリプト)というデータが付いています。これを入力側のものと突き合わせると、答えが出ます。

# 入力(消費されたかたまり)の受取スクリプト IN 4104 11db93e1dcdb8a016b49840f8c53bc1eb68a382e97b1482ecad7b148a6909a5c … # 出力0(10 BTC)の受取スクリプト → 別の鍵 vout 0 4104 ae1a62fe09c5f51b13905f07f06b99a2f715… ≠ 入力 # 出力1(40 BTC)の受取スクリプト → 入力とバイト単位で一致 vout 1 4104 11db93e1dcdb8a016b49840f8c53bc1eb68a382e97b1482ecad7b148a6909a5c … = 入力と同一

vout 1 は、入力を使うのに必要だった鍵とまったく同じ鍵宛てに送られています。つまり「自分が使えるお金を、自分がまた使える形で受け取り直した」。これはおつり以外にあり得ません。

ここが、この記事でいちばん覚えて帰ってほしい部分です。おつりの判定は、いつも推測とは限りません。条件がそろえば、こうして事実として確定できます。

✅

なぜ古い取引ほど確定しやすいのか

初期のビットコインは、鍵を1つ作ってそれを使い回すのが普通でした。だから「入力と同じ鍵=おつり」がそのまま成立します。現在のウォレットはおつりを毎回まっさらな新しいアドレスへ送るので、この手は使えません。追跡のしやすさは、時代とウォレットの作りに大きく左右されます。

⚠ この取引にはアドレスが表示されません

この時代の出力は「公開鍵そのもの宛て(P2PK)」という形式で、いま一般的なアドレス表記が存在しません。エクスプローラーによってはアドレス欄が空欄になります。アドレスで検索しようとせず、TXIDで検索してください。「アドレスではなくかたまりを追う」という第1章の話が、そのまま実務上の理由になっている例です。

第4章 おわり — 次は第5章

CHAP5

第5章 / 全7章

実データ:おつりを5ホップ追って「未使用」に着く

第3章の「追跡の1手」を、実際に5回繰り返します。

第4章の 40 BTC のおつり、つまり f4184fc5…9e16:1 を追います。手順は第3章のとおり、Spent by をたどるだけです。

結果を先に表で出します。すべて実際のブロックチェーン上のデータです。

ホップTXID(先頭8文字)ブロック入力vout 0=支払いvout 1=おつり
TX1f4184fc5170501040
TX2a16f3ce4181401030
TX3591e91f818230129
TX412b5633b18329128
TX5828ef3b0248281018(未使用)

※ 単位は BTC。5件すべて手数料ゼロ、入力1個・出力2個。5件とも協定世界時(UTC)の2009年1月12日、約17時間のあいだに記録されています。

おつりだけをたどると1本の線になる(実データ)

TX1 / ブロック 170 f4184fc5…9e16 入力 50 BTC vout 0 → 支払い 10.00000000 BTC vout 1 → おつり 40 BTC TX2 / ブロック 181 a16f3ce4…14be 入力 40 BTC vout 0 → 支払い 10.00000000 BTC vout 1 → おつり 30 BTC TX3 / ブロック 182 591e91f8…8073 入力 30 BTC vout 0 → 支払い 1.00000000 BTC vout 1 → おつり 29 BTC TX4 / ブロック 183 12b5633b…91ba 入力 29 BTC vout 0 → 支払い 1.00000000 BTC vout 1 → おつり 28 BTC TX5 / ブロック 248 828ef3b0…09fe 入力 28 BTC vout 0 → 支払い 10.00000000 BTC vout 1 → おつり 18 BTC 最終地点 18.00000000 BTC 現在も Unspent(未使用)= 追跡はここで停止

読み取れること

まず、5件すべてで vout 1 の受取スクリプトが入力と一致していました。つまり最初から最後まで同じ鍵が使い回されており、おつりの判定はどのホップも推測ではなく確定です。しかも TX5 のおつり(18 BTC)の受取スクリプトは、TX1 の入力のものとまったく同じでした。

次に、金額の減り方に注目してください。50 → 40 → 30 → 29 → 28 → 18。大きなかたまりから少額ずつ剥がされ、残りが次へ引き継がれています。この形を Peel Chain(ピールチェーン/皮むきの鎖)と呼びます。追跡の現場でとてもよく見る形です。

そして5ホップ目、828ef3b0…09fe:1 の 18 BTC は、2009年から現在まで一度も使われていません。エクスプローラーには Unspent と表示され、Spent by のリンクがありません。

🛑

「追跡が止まった」=「見失った」ではありません

Unspent で止まるのは、追跡の失敗ではなく到達です。そのお金はまだ動いていない、という事実に行き着いたということ。もし将来このかたまりが使われれば、その瞬間に Spent by のリンクが生まれ、続きを追えます。追跡は「終わる」のではなく「待ちの状態になる」だけです。

第5章 おわり — 次は第6章

この先の応用編

ミキサーやブリッジを使われた場合はどうなるか

ここまでは「素直に追える」ケースです。意図的に追跡を切りにくる技術(CoinJoin・ミキサー・クロスチェーンブリッジ)を使われたときの見え方は、応用編にまとめています。

ミキサー・ブリッジ編を読む
CHAP6

第6章 / 全7章

おつりを確定できる時と、推測どまりの時

両者を混ぜると、間違いに気付けなくなります。

第4章・第5章は、たまたま確定できる条件がそろっていた例です。現代の取引ではそう都合よくいきません。そこで、手がかりごとに「どこまで言えるか」を分けて考えます。

手がかり言えること確度崩れる条件
入力と同じ受取スクリプト
(第4章で使った手)
その出力はおつり 確定 現代のウォレットは鍵を使い回さないため、そもそも成立しない
送金額が別途分かっている
(取引所の記録・被害届など)
一致する額が支払い、残りがおつり 高い 同額の出力が2つある場合は決まらない
アドレス形式の一致
(入力と同じ形式へ戻す)
同じ形式の出力がおつりの可能性 中 受取側がたまたま同形式だと外れる
金額の丸さ
(0.1 は支払い、0.69990000 はおつり)
半端な額がおつりの可能性 低い 手数料込みでキリ良く払う設定、送金額自体が半端な場合に外れる
金額の大小
(大きいほうがおつり)
ほぼ何も言えない 低い 第7章のピザ取引のように、おつりが無い取引すらある

入力が複数あるときのもう1つの手がかり

1つの取引に入力が複数並ぶことがあります。たとえば 0.3・0.2・0.4 の3個をまとめて使う、といった形です。これは3個すべてに署名できる人がいたということなので、同じ持ち主のかたまりだった可能性が高くなります。

これを Common Input Ownership Heuristic(共通入力所有者の推定)と呼びます。バラバラのアドレスを1つのまとまりとして束ねる、追跡でよく使われる手法です。

ただしこれは推定であって証明ではありません。複数人が意図的に入力を持ち寄る CoinJoin という技術を使われると、この前提は崩れます。

🚨 推測を断定として扱わないでください

「おつりだと思われる」と「おつりである」はまったく別の主張です。ここを混ぜたまま鎖を10ホップつなぐと、誤りが途中で1回混ざっただけで結論全体が別人の話になります。しかも間違えたこと自体に気付けません。追跡結果を人に見せるときは、ホップごとに「確定/推定」を必ず書き分けてください。これは、特定の個人を犯人だと名指しすることに直結する場面では、なおさら重要です。

第6章 おわり — 次は第7章

CHAP7

第7章 / 全7章

追跡が止まる場所・崩れる場所

3つのパターンを、実データと合わせて押さえます。

1. そもそも「おつり」が無い取引がある

「大きいほうがおつり」という当てずっぽうが通用しない実例を出します。ビットコインで最も有名な取引、通称ピザ取引です。

# 2010年5月23日 03:16(日本時間)/ ブロック高 57,043 TXID a1075db55d416d3ca199f55b6084e2115b9345e16c5cf302fc80e9d5fbf5d48d Inputs 131個 合計 10,000.99000000 BTC Outputs 1個 vout 0 → 10,000.00000000 BTC Fee 10,000.99 − 10,000.00 = 0.99000000 BTC

出力が1個しかありません。おつりがゼロです。手元のかたまりを131個かき集めて、ぴったり使い切っています。差額の 0.99 BTC は、そのまま手数料として消えました。

この取引は、第6章で触れた共通入力所有者の推定がどういう理屈で成り立っているかも見せてくれます。131個のかたまりを1つの取引でまとめて使えたということは、その全部に署名できる人が1人いたということです。バラバラのかたまりを1つの取引が束ねたという事実そのものが、持ち主を推定する手がかりになります。

ただしこのピザ取引に限っては、131個の入力がすべて同じ1つのアドレスから来ています。つまり「複数のアドレスを1人に束ねる」という推定の出番はなく、最初から1人分だと分かる形でした。推定が効いてくるのは、入力に異なるアドレスが並んでいるときです。

2. 取引所に入ると形が変わる

追いかけていたかたまりの行き先が、突然「入力が100個、出力が80個」といった巨大な取引になることがあります。これは取引所などの事業者が、多数の利用者の入出金をまとめて処理している可能性が高い形です。

こうなると、どの入力がどの出力に対応するのかを、外から見て決めることはできません。ブロックチェーンの記録だけでは追跡が続かなくなります。この先は事業者の内部帳簿が必要で、そこは法的手続きを経た捜査機関の領域です。

3. CoinJoin では対応関係が消える

複数の人が示し合わせて入力を持ち寄り、出力の金額をわざと同じ額にそろえる技術があります。CoinJoin です。

# CoinJoin の典型的な形 Inputs Outputs A 1 BTC ──?── X 0.99 BTC B 1 BTC ──?── Y 0.99 BTC C 1 BTC ──?── Z 0.99 BTC # A→X なのか A→Z なのか、外部からは決められない

出力が全部同じ額なので、金額の手がかりが消えます。共通入力所有者の推定も「複数人が持ち寄っている」時点で前提から崩れます。ここでは追跡の確度が大きく下がることを、確度の低下として正直に記録するしかありません。

✅ 実際に被害に遭ったときにやること

追跡は自力でやるものではありません。まず相手とのやり取りを止め、次の3点を証拠として確保してください。①送金した取引の TXID ②送金額と日時 ③相手とのやり取りの画面(消される前に保存)。そのうえで警察庁のサイバー犯罪相談窓口、および送金元の取引所へ連絡します。TXID さえ残っていれば、この記事で説明した鎖は捜査側でたどれます。逆に TXID を失うと出発点が無くなります。

第7章 おわり — 次はFAQ

FAQ?

用語まとめ / よくある質問

まとめと、よくある質問

ここだけ読み返せば思い出せるようにしてあります。

用語ひとことで画面ではどこ
UTXOまだ使われていないコインのかたまりOutputs の1行
Spentそのかたまりは使われたSpent by のリンクがある
Unspentまだ使われていない=追跡はここで停止Unspent と表示・リンク無し
Change丸ごと使った差額の戻り分Outputs のうち送金者へ戻る行
TXID取引1件を指す64文字の識別子ページ最上部
voutその取引の何番目の出力か(0から)Outputs の行番号
TXID:voutコイン1個を特定する住所(Outpoint)入力欄が指している先

結局、追跡の単位はアドレスではないのですか?

はい。鎖として実際に繋がっているのは TXID:vout で特定されるかたまりです。アドレスは「そのかたまりを誰が使えるか」の条件にすぎません。1人が何十ものアドレスを持てるので、アドレス単位で追うと同じ人の中で線が切れます。

vout は 0 から数えるのですか、1 から数えるのですか?

0 からです。1番目の出力が vout 0、2番目が vout 1 です。ここを1つずらすと、まったく別のかたまりを追うことになります。エクスプローラーの表示も 0 始まりです。

おつりは必ず発生しますか?

いいえ。使うかたまりの合計と、送りたい額+手数料がぴったり一致すれば、おつりは作られません。第7章のピザ取引がその実例で、出力は1個だけです。「出力が2個あればどちらかがおつり」という思い込みは持たないでください。

手数料はどこに書いてあるのですか?

どこにも書かれていません。入力の合計 − 出力の合計が自動的に手数料になります。エクスプローラーの Fee 欄は、その場で引き算した結果を表示しているだけです。

イーサリアムでも同じように追えますか?

追えますが、考え方が違います。イーサリアムは口座の残高を書き換えるアカウントモデルで、UTXO も vout もおつりも存在しません。この記事の考え方はビットコインとその派生チェーン向けだと考えてください。

この記事の取引を自分でも確認できますか?

できます。本文中の TXID をエクスプローラーの検索欄に貼り付けるだけです。ブロック高・金額・Spent の状態は誰が見ても同じなので、記事の記述と画面が食い違っていないか、ぜひご自身で確かめてみてください。それが「一次情報を確認する」という作業そのものです。

FAQ おわり

参考・一次情報

コメント