Coin Selection は、取引の出力と手数料を賄う UTXO をウォレットが選ぶ手順です。各ウォレットの判断であり、全ウォレットに同じアルゴリズムを課すコンセンサス規則ではありません。
各入力は特定の UTXO 全体を使います。入力合計と出力合計の差が手数料となり、送信者に返す金額には別の出力が必要です。計算例では、100000 sat の入力、60000 sat の支払い、1000 sat の手数料なら、お釣りは 39000 sat です。 [Bitcoin Developer Guide — Transactions]
額面だけでは不十分です。入力を加えると取引が大きくなります。実効価値は、選んだ手数料率でその UTXO を使う費用を差し引いた値です。10000 sat の入力を 68 vB、10 sat/vB と仮定すると寄与額は 9320 sat ですが、取引の残りの部分にも手数料が必要です。実際のサイズはスクリプトと署名によって変わります。 [Bitcoin Core — Coin selection implementation] [Bitcoin Core 29.0 — Transaction creation]
Branch-and-bound(BnB)は、お釣りを出さない支払いの入力組み合わせを探索します。目標範囲では、お釣りの作成と将来の使用にかかる費用までの超過を認め、その超過分は手数料になります。完全一致だけを探すわけではありません。探索回数に制限があるため、解や大域的最適解を見つけられない場合があります。 [Bitcoin Core — Coin selection implementation]
Bitcoin Core 29.0 は BnB、Knapsack、Single Random Draw(SRD)を検討し、実効手数料率が長期手数料率の3倍を超える場合は CoinGrinder も使います。候補は waste metric で比較します。出力から手数料を差し引く場合は BnB を省略します。これは特定バージョンの説明であり、全ウォレット共通のアルゴリズム順序ではありません。 [Bitcoin Core 29.0 — Transaction creation]
Waste metric は現在と長期手数料率での入力費用を比較し、お釣りの費用または手数料に回す超過分も考慮します。長期手数料率は仮定であり予測ではありません。統合で将来の入力数を減らせても、現在の手数料がかかり、使った出力が関連付けられます。そのため、直近の最小手数料だけが目的ではありません。 [Bitcoin Core — Coin selection implementation] [Bitcoin Design — Coin selection and privacy]
異なる入金を一緒に使うと、分析者に関連付けの手掛かりを与えますが、同一人物の証明にはなりません。Coin Control とラベルは支払いの文脈を分ける助けになります。BIP 329 はラベルと使用可否のメタデータの移行を記述しており、それ自体がコインを選ぶわけではありません。エクスポートは機微な関連を明かすことがあります。お釣りがなくても匿名性は保証されません。 [BIP 329 — Wallet Labels Export Format] [Bitcoin Design — Coin selection and privacy]
選択では使用可能性、承認、ロックされた出力、取引の制限を守る必要があります。Core 29.0 の walletcreatefundedpsbt RPC で include_unsafe を使うと、リスクのある未承認入力も許可されます。その元取引が消えれば、作成した支払いが無効になる場合があります。未承認の祖先取引に追加手数料が必要なこともあります。残高が多いだけで適切な入力組み合わせがあるとは限りません。 [Bitcoin Core 29.0 — Transaction creation] [Bitcoin Core 29.0 — walletcreatefundedpsbt RPC]
Core 29.0 の walletcreatefundedpsbt では txid と vout で入力を指定でき、add_inputs が追加入力を制御します。fee_rate の単位は sat/vB、feeRate は BTC/kvB です。生成された PSBT は後続処理の準備であり、承認済みの支払いではありません。署名前に送金先、総手数料、自分のお釣りを確認します。手動選択でもこの責任はなくなりません。 [Bitcoin Core 29.0 — walletcreatefundedpsbt RPC]
理解を深めるには、この項目とあわせて次もお読みください UTXO, Coin Control, お釣り出力, Fee Rate, PSBT, Bitcoin のプライバシー. 次の項目からも参照されています Watch-only Wallet, お釣り出力, Inventing Bitcoin.