BitcoinのUTXOとは?入力・おつり・統合を解説
Bitcoinの残高を構成する未使用出力、入力とおつりの仕組み、小さなUTXOの統合が手数料やプライバシーに与える影響を説明します。
このガイドの内容Bitcoinウォレットの残高は複数の出力の合計
短い要約
Bitcoinウォレットの残高は、通常、未使用の取引出力である複数のUTXOの合計です。支払いでは選んだ出力を入力として使い、受取人向けと必要に応じておつりの新しい出力を作ります。統合すれば後の支払いの入力数を減らせることがありますが、今の手数料がかかり、公開された取引履歴が結び付く場合があります。
Bitcoinウォレットの残高は複数の出力の合計
ウォレットには残高がひとつ表示されますが、Bitcoinの台帳では銀行口座のような単一の残高として記録されません。ウォレットは過去の取引が作った、まだ使われていない複数の取引出力を管理します。これがUTXOです。単純なオンチェーン残高は、ウォレットが使える出力の金額を合計したものです。出力には使用条件も含まれるため、一覧に並んだ独立したコインではありません。
ひとつの取引で複数の受取人向けに複数の出力を作ることがあります。そのため、支払いの回数とUTXOの数は必ずしも一致しません。ウォレットは確定済み、未確定、ロック中、閲覧専用の金額を分けて表示する場合があります。画面の残高がすべて今すぐ送れるとは限りません。UTXOモデルはBitcoinなどの仕組みで使われますが、すべての暗号資産に当てはまるわけではありません。
入力は過去の特定の出力を参照する
Bitcoin取引の入力は、過去の取引IDと出力番号を使って特定の出力を参照します。txid:voutと表すこともあります。入力にはその出力の使用条件を満たすためのデータも含まれます。その後、取引は新しい出力をひとつ以上作ります。Bitcoin開発者向け取引ガイドがこの仕組みを説明し、ブロックチェーンガイドは出力が一度だけ使用できることを説明しています。
出力は全額が使われます。古い出力の一部だけを使い、残りを同じ出力に残す仕組みではありません。入力額が支払額より多い場合は、受取人向けと残額向けの新しい出力を作ります。各出力は別々のUTXOとなり、ウォレットの条件を満たせば後の取引で使えます。
支払いでは受取人向けとおつりの出力が作られることがある
入力の合計額は出力の合計額をまかなう必要があり、その差額が取引手数料です。ウォレットは支払額より大きい入力を選び、余りを自分が管理する新しい出力に戻すことがあります。これがおつり(change)です。オフチェーンの返金や支払いの取り消しではなく、新しい通常の出力です。
たとえば、ウォレットが300,000 satと200,000 satのUTXOを選び、合計500,000 satを入力するとします。受取人に420,000 satを送り、手数料が2,000 satなら、おつりは78,000 satです。300,000 + 200,000 = 420,000 + 78,000 + 2,000となります。これは仕組みを示す仮定の計算で、現在の手数料見積もりではありません。おつりはウォレットが管理する新しい出力になり、後の取引では入力として使われます。
すべての取引におつり出力があるわけではありません。入力額が支払いと手数料にほぼ一致する場合や、複数の受取人へ送る場合もあります。署名する前に取引の確認画面を見てください。
入力が増えると取引サイズが大きくなることがある
選んだUTXOはそれぞれ入力になり、ネットワークが支出を検証するためのデータが必要です。そのため入力が増えると取引サイズも大きくなる傾向がありますが、正確な大きさは出力の種類や署名データによって変わります。手数料は通常、仮想サイズと手数料率から計算されます。BIP 141はSegWit取引の重みと仮想サイズを定義しています。送金するBTCの額だけで取引サイズは決まりません。
手数料率が同じでも、入力が多い取引や大きい入力を使う取引は手数料が高くなることがあります。おつり出力もデータを増やします。サイズやsat/vBと手数料の関係はBitcoin取引手数料ガイドを参照してください。
統合では複数の出力を使い、新しい出力ひとつにまとめる
UTXOの統合とは、複数の出力を使う取引を作り、手数料を差し引いた合計額を同じウォレットが管理する新しい出力へ送ることです。次の支払いでは、元の出力をひとつずつ使う代わりに、統合後の出力をひとつの入力として使えます。統合は出力の構成と将来の支出コストを変えるもので、BTCを生み出したり履歴を消したりはしません。
費用をいつ払うかがポイントです。統合取引はすべての入力を含むためサイズが大きくなり、今すぐ手数料がかかります。後の取引でも、その取引の入力と出力に対する手数料が必要ですが、入力数は減るかもしれません。今の手数料率が将来より低ければ、入力コストを前倒しすることが有利な場合があります。逆に今の率が高ければ、今まとめる方が高くつくこともあります。将来の手数料は分からないので、節約できるとは限りません。
ウォレットごとに出力の選び方が異なる
多くのウォレットはUTXOを自動で選びます。支払額、予想取引サイズ、手数料、おつり、ほかの制約を考慮することがあります。入力数を最小にするだけが目的とは限りません。今の費用とおつりを後で使う費用のバランスや、安全性とプライバシーのルールも関係します。選び方や表示名はウォレットとバージョンによって異なります。
一部のウォレットには、出力を確認したり選択対象から外したりできるコインコントロールがあります。目的別の資金を分けておけますが、選択を誤ると取引が大きくなったり、関連付けたくない出力を結び付けたりすることがあります。Bitcoin Coreのlistunspent RPCは開発者向けにUTXOを照会する機能です。通常、残高を理解するためにRPCを使う必要はありません。
入力をまとめて使うとプライバシー上の関係が見えることがある
Bitcoinの取引は公開されています。ひとつの取引で複数の出力を入力として使うと、それらが一緒に使われたことが分かります。分析では共通の入力を管理者が同じである可能性の手がかりにしますが、現実の人物を特定する証明ではありません。共同取引では複数の人が入力を提供することもあります。
別々にしていた出力をまとめると、公開されたひとつの取引に現れて分離が弱まることがあります。新しいおつりアドレスはアドレスの再利用を減らせますが、入力の関係や履歴は隠しません。Bitcoin.orgのプライバシー案内は、取引が公開され追跡可能であることと新しいアドレスの役割を説明しています。
今の手数料と将来の使い方を比べる
ウォレットの手数料プレビューと、使おうとしている出力を確認します。小さな出力を近いうちにまとめて使う予定があるか、別々に使う費用が価値に比べて大きいか、現在の手数料率で統合する意味があるかを考えてください。そのうえで、将来の支払いで必要になりそうな入力数と比較します。将来の率も取引の形も分からないので、予想した節約額は確実ではありません。
プライバシーと実務上の必要も考慮してください。別々の出力は、公開上結び付けたくない異なる資金源や相手を表しているかもしれません。手動選択で分離を保てますが、受取人、おつり、手数料を注意深く確認する必要があります。Lightningはオンチェーン取引とは異なる経路です。Lightningとオンチェーン決済の比較を参照してください。他のネットワークへ送る前には暗号資産のネットワーク・アドレス確認リストを使ってください。
署名前に取引内容を確認する
ネットワーク、受取人のアドレス、金額、表示される場合は選ばれた入力、おつりの宛先と金額、合計手数料を確認します。おつりが自分の管理するウォレットに戻ることも確認してください。手数料が高い理由は送金額の大きさではなく、入力数の多さかもしれません。
統合するなら、選んだ出力を一緒に使う意図があり、その公開上の関連付けを受け入れることを確認してください。統合しても、長期的な手数料合計が下がる保証はありません。今入力分を支払い、後で取引をすればその分の手数料もかかります。バックアップと復元はウォレットのシードフレーズとバックアップガイドを参照してください。
よくある質問
Q1UTXOひとつはBitcoin 1枚と同じですか?
いいえ。UTXOは価値と使用条件を持つ未使用の取引出力です。ウォレットは複数のUTXOを管理し、合計を残高として表示できます。
Q2Bitcoinの支払いには毎回おつりがありますか?
いいえ。入力額が支払額と手数料に合う場合や、複数の受取人へ送る場合があります。取引の確認画面を見てください。
Q3UTXOを統合すると必ず手数料が下がりますか?
いいえ。今統合する手数料がかかり、後の入力数が減ることがあります。結果は手数料率、サイズ、ウォレットの規則、タイミングによります。
Q4複数のUTXOを一緒に使うと、同じ人の所有だと証明できますか?
一緒に使われた事実は公開されますが、共通管理は推測であり本人確認ではありません。共同取引には複数の参加者がいる場合があります。
出典
問題を報告
この記事のリンクを含むメールを準備します。送信すると Mark に報告が届きます
クイックチェック
記事を読み終えたら、3問で確認しましょう
問題 01
300,000 satと200,000 satの入力で420,000 satを払い、手数料が2,000 satの取引です。おつりはいくらですか?
答えを選ぶと解説を確認できます