Coin Control はビットコインの出力モデルを直接扱えるようにする。単一の口座残高だけを見るのではなく、支払者が未使用の出力を取引入力として指定し、履歴を確認して、結合、分離維持、統合を判断できる。
入力は一つ増えるごとに重量を加える。同じ入力タイプと料率なら、小さな UTXO 十個の使用は通常、大きな一個より高くつく。低料率時の統合は将来の取引を小さくできる一方、入力間の関連を公開する。UTXO の個数や金額だけでなく、vB 単位のサイズ、sat/vB 単位の料率、手数料総額を比較する。 [BIP 141: transaction weight]
観察者は同じ取引の複数入力から共通所有者を推測することが多い。この推測は絶対ではないが、別々だった資金源を結合するとプライバシー上の区分が失われ、より大きな総保有額が明らかになりうる。Payjoin は所有権の証明にならない理由を示す。異なる参加者が一つの取引を共同で作成できるからだ。 [BIP 78: Payjoin and ownership heuristics]
Coin Control は change と考えられる出力を追跡し、後で無関係な資金と結合しないようにする助けとなる。Change は残額を支払者に戻すもので、利益でも取り消せる取引でもない。ウォレットには正確なお釣りの識別、ラベル、手数料推定が引き続き必要だ。手動選択だけでアドレス再利用は防げない。 [BIP 78: Payjoin and ownership heuristics]
利用者は KYC 経由の資金を個人間の受取金と分離し、希少な出力や制約付き出力を残し、確認済み入力を選び、正確な支払いを組み立てられる。企業は会計ラベルを使い、multisig の調整役は署名対象の範囲を限定する。listunspent では具体的な txid と vout、金額、ラベル、確認数を確認できる。solvable だけではウォレットが秘密鍵を持つことを意味しない。 [Bitcoin Core v29.0: listunspent]
手動管理にはより注意が必要だ。選んだ入力の価値が不足すれば支払いと手数料を賄えない。大きなお釣りは逆に価値の余剰から生じ、入力数が少ないこと自体が原因ではない。入力が多すぎると手数料と関連付けが増えうる。署名前に信頼できる機器で入力ラベル、送付先、change、料率、手数料総額を確認する。 [Bitcoin Core v29.0: fundrawtransaction]
画面で選んだ入力が最終的な入力一覧とは限らない。Bitcoin Core v29.0 の fundrawtransaction は既定で add_inputs が有効なため、元の入力が不足すると資金を追加できる。指定済みの入力だけを使うには、この設定と最終取引を確認する必要がある。取引の作成だけでは不足する署名は追加されない。 [Bitcoin Core v29.0: fundrawtransaction]
入力総額を 120000 sat、支払いを 100000 sat、最終サイズを 200 vB、料率を 5 sat/vB とする。送信者が手数料を負担し、お釣り出力を作るなら、手数料は 1000 sat、change は 19000 sat となる。これは条件を指定したモデルであり、任意の入力のサイズ推定ではない。構造を変えたり受取額から手数料を差し引いたりすれば計算は変わる。 [Bitcoin Core v29.0: fundrawtransaction]
Coin Control はウォレット機能であり、新たな合意ルールでも匿名性の約束でもない。UTXO の過去の履歴を変えず、バックアップや必要な署名を代替せず、統合で既に公開された関連を消すこともできない。具体的なウォレットのバージョンの動作と実際に署名する内容を確認する。操作項目から将来価格や無リスクの結果を導くことはできない。 [Bitcoin Core v29.0: listunspent] [BIP 78: Payjoin and ownership heuristics]
理解を深めるには、この項目とあわせて次もお読みください UTXO, ウォレット, お釣り出力, Bitcoin のプライバシー. 次の項目からも参照されています お釣り出力, CoinJoin, Bitcoin のプライバシー, Coin Selection.