UTXOとは?(未使用トランザクションアウトプット)
UTXO(Unspent Transaction Output:未使用トランザクションアウトプット)は、Bitcoinの中核的な会計モデルであり、受け取ったが未使用の個別の暗号資産の価値単位を表す。残高を一元管理するのではなく、ウォレットはこれらの個別の「紙幣」を合算して残高を算出する。トランザクションは既存のUTXOを完全に消費し、受取人向けと送金者へのお釣り用の新しいUTXOを生成する。この仕組みによりトランザクションの検証・監査・プライバシーが最適化され、手数料はインプットのサイズに基づいて決まる。
UTXO(Unspent Transaction Output:未使用トランザクションアウトプット)とは、受け取ったが未使用の暗号資産の価値単位のことだ。Bitcoinおよび他のいくつかのブロックチェーンが採用する基本的な会計モデルである。銀行口座のように単一の残高を追跡するのではなく、UTXOベースのブロックチェーンは将来のトランザクションで使用できる個別の価値の断片を複数追跡する。
Bitcoinでは、ウォレットは技術的に単一の残高を保有していない。ウォレットは過去のトランザクションのアウトプットであるUTXOの集合を保有している。BTCを送金する際、ウォレットは1つ以上のUTXOを選択してそれらを完全に消費し、受取人への送金分とお釣りとして自分に戻る分の新しいアウトプットを生成する。
UTXOを理解することで、Bitcoinのトランザクションの仕組み、手数料がトランザクションサイズに依存する理由、コイン選択・コインコントロール・アドレス再利用・UTXO統合といったウォレット機能の重要性が明確になる。
UTXOをわかりやすく説明すると?
UTXOは物理的な財布の中の紙幣に似ている。7ドルを支払いたいが10ドル札しか持っていない場合、10ドル全額を渡して3ドルのお釣りを受け取る。10ドル札から7ドル分だけを切り取ることはできない。
Bitcoinも同様の仕組みだ。各UTXOはそれぞれ固有の金額を持つ個別の価値の断片として存在する。支払いを行う際、ウォレットは金額を賄えるUTXOを選び、それらを完全に消費し、受取人とお釣り用の新しいUTXOを生成する。ウォレットの残高は、自分が管理するすべてのUTXOの合計値に過ぎない。
BitcoinトランザクションにおけるUTXOの仕組み
Bitcoinのトランザクションはインプットとアウトプットで構成される。
- インプット:消費される既存のUTXO。ウォレットはこれらのインプットに署名して、使用権限を証明する。
- アウトプット:トランザクションによって生成される新しいUTXO。通常、受取人向けのアウトプットとお釣りのアウトプットが含まれる。
- 手数料:インプットの合計値とアウトプットの合計値の差額。この手数料は、トランザクションをブロックに取り込んだマイナーに支払われる。
例えば、ウォレットに0.5 BTC、0.3 BTC、0.2 BTCの3つのUTXOがある場合、0.4 BTCを送金しようとすると、ウォレットは0.5 BTCのUTXOをインプットとして使用し、受取人への0.4 BTCのアウトプット、自分へのお釣りとして約0.0999 BTCのアウトプットを生成し、0.0001 BTCをトランザクション手数料として残す。
承認後、元の0.5 BTC UTXOは消滅する。ウォレットは0.3 BTC UTXO、0.2 BTC UTXO、そして新しいお釣りのUTXOを管理することになる。
BitcoinがUTXOモデルを採用する理由
Bitcoinがこのモデルを採用しているのは、トランザクション検証をシンプルで監査可能にし、二重支払いへの耐性を持たせるためだ。さらに、プライバシーと手数料の管理に柔軟性をもたらす。
- 独立した検証:各UTXOを独立して確認できるため、ノードがトランザクションの有効性を検証しやすくなる。
- シンプルなブロックチェーン状態:ネットワークはどのアウトプットが未使用かを追跡するだけでよく、明確で監査可能なUTXOセットが生まれる。
- 二重支払いの防止:各UTXOは一度しか使用できない。インプットとして使われると消費され、再利用できない。
- プライバシーの可能性:異なるアドレスで資金を受け取り、UTXOを分けて管理することで、慎重に使えばアクティビティの紐付けを難しくできる。
- 柔軟な使用条件:各UTXOはBitcoin Scriptを通じて独自の使用ルールを持てるため、マルチシグ、タイムロック、その他の条件付き支払いが実現できる。
このモデルは、各アドレスがトランザクションごとに残高が更新されるEthereumのようなアカウントベースのブロックチェーンとは異なる。
コイン選択とは?
コイン選択とは、ウォレットがトランザクションで使用するUTXOを決定するプロセスだ。ウォレットは支払い金額とトランザクション手数料を賄えるだけのUTXOを選択する必要がある。
コイン選択の戦略によって、手数料とプライバシーの両方に影響が生じる。
- 大きい順:利用可能な最大のUTXOから使用する。シンプルだが、大きなお釣りのアウトプットが生まれる可能性がある。
- 小さい順:小さいUTXOから優先して使用する。端数の少額残高を減らせるが、より多くのインプットが必要になり手数料が増える場合がある。
- Branch and Bound:より高度なウォレットは、支払い金額に近くなるUTXOの組み合わせを探し、不要なお釣りの発生を避ける。
- プライバシー重視の選択:異なる出所のUTXOを組み合わせると、同一の所有者に属することが露見する可能性があるため、これを避けるウォレットもある。
ほとんどのユーザーは手動でUTXOを選択する必要はないが、コイン選択はトランザクストコストとオンチェーンプライバシーに影響するため、ウォレットの設計は重要だ。
UTXOがBitcoinの手数料に与える影響
Bitcoinのトランザクション手数料は、送金するBTCの金額ではなく、トランザクションのサイズに基づいて計算される。インプットとアウトプットが多いトランザクションはブロックスペースをより多く占有するため、手数料が高くなる。
そのため、小さなUTXOを多数保有していると費用がかさむ場合がある。1回の支払いのために多数の小さなUTXOを組み合わせる必要がある場合、トランザクションサイズが大きくなり手数料が高くなる。経済的に使用できないほど小さなアウトプットは「ダスト」と呼ばれる。
手数料が低い時期にUTXOを統合するユーザーもいる。統合とは多数の小さなUTXOをより少数の大きなUTXOにまとめることで、将来のトランザクションコストを削減できる。ただし、統合によりアドレス間のつながりが露見する場合もあるため、慎重に行う必要がある。
UTXOがプライバシーに与える影響
UTXOは仮名性(pseudonymous)であり、完全なプライバシーは保証されない。誰でも公開ブロックチェーン上のBitcoinトランザクションを閲覧し、どのUTXOが使用されどの新しいアウトプットが生成されたかを分析できる。
主なプライバシーリスクには以下のものがある:
- アドレスの再利用:同じアドレスを繰り返し使用すると、複数のUTXOが同一の所有者に紐付けられる可能性がある。
- 共通インプットの所有権:複数のUTXOが同時に使用された場合、アナリストはそれらが同一人物またはウォレットに属すると推定することが多い。
- お釣りの検出:ブロックチェーンアナリストは、どのアウトプットが支払いでどれがお釣りかを推測できることが多い。
- ダスト攻撃:将来の支払い行動を追跡するため、ウォレットに微小なUTXOが送られる場合がある。
プライバシーを重視するユーザーは、新しいアドレスを使用し、不必要なUTXOのマージを避け、コインコントロール機能を持つウォレットを選び、必要に応じてCoinJoinなどのプライバシーツールを活用することが多い。
UTXOモデルとアカウントモデルの違い
UTXOモデルとアカウントモデルは、ブロックチェーンが所有権を追跡する2つの異なる方法だ。
UTXOモデルでは、価値は個別の未使用アウトプットとして存在し、トランザクションは古いアウトプットを消費して新しいアウトプットを生成する。Bitcoin、Litecoin、Dogecoin、Cardanoなど複数のネットワークがUTXOまたはUTXOに着想を得た設計を採用している。
アカウントモデルでは、各アドレスはトランザクションのたびに増減する残高を持つ。Ethereumや多くのスマートコントラクトプラットフォームは、アカウントベースのアプリケーションやスマートコントラクトとの親和性が高いこのモデルを採用している。
UTXOモデルは支払い検証とプライバシー管理において優れており、アカウントモデルは複雑なスマートコントラクトの操作に適していることが多い。
まとめ
UTXOとは、将来のトランザクションのインプットとして使用できる未使用トランザクションアウトプットのことだ。Bitcoinのウォレットは単一の残高を保有しているのではなく、多数のUTXOを保有しており、ウォレットの残高はそれら未使用アウトプットの合計である。
UTXOモデルはBitcoinのトランザクションの仕組みを形作っており、手数料、プライバシー、ウォレット設計、コイン選択、ダスト管理に影響を与える。ほとんどのユーザーは手動でUTXOを管理する必要はないが、この概念を理解することで、Bitcoinトランザクションでお釣りが生じる理由、小さなアウトプットを多数使用する際に手数料が高くなる理由、そしてプライバシーがコインの選択と組み合わせ方に依存する理由が明確になる。
関連概念
関連記事
よくある質問
一般的なBitcoinユーザーはUTXOを管理する必要があるか?
通常は不要だ。現代のほとんどのBitcoinウォレットはUTXOの選択を自動的に処理する。ただし、UTXOを理解することで、トランザクション手数料、お釣りのアウトプット、ダスト、コインコントロール機能の仕組みが把握しやすくなる。
Bitcoinにおけるダストとは?
UTXOの一部だけを使用できるか?
EthereumはUTXOベースか?
Bitcoinのトランザクションでお釣りが生じるのはなぜか?
アカウントをお持ちでないですか?
今すぐアカウントを開設して、暗号資産の取引を始めよう