35 / 736UTXO+

Coin Control

支払いに使う資金を自分で選ぶ機能

過去に受け取った資金のうち、どれで支払うかを選ぶ機能です。手数料を把握し、資金同士のつながりが公になることにも配慮できます。

Coin Control は、特定の支払いに使う資金を自分で選ぶウォレットの機能です。ビットコインの残高は、以前のトランザクションで受け取り、まだ使っていない出力で構成されています。この一つ一つが UTXO です。通常はウォレットが自動で選びますが、Coin Control では自分で指定できます。

UTXO 統合計算機UTXO を後でまとめて使う場合と、今日統合して後で 1 入力を使う場合のモデル手数料を比較します。

アリスは仕事の報酬として 120 000 sat、贈り物として 80 000 sat を受け取りました。sat はビットコインの最小単位です。ウォレットには合計 200 000 sat と表示されますが、この例では二つの別々の UTXO から成っています。支払いに両方を使う必要はありません。Coin Control の一覧を開き、仕事の報酬だけを選ぶこともできます。「仕事」「贈り物」といったラベルは見分ける助けになります。ただし、ラベルはウォレット内の自分用のメモであり、資金の出所を証明するものではありません。特別な理由がなければ、自動選択に任せることもできます。 [3]

アリスは 100 000 sat を送るために、120 000 sat の UTXO を選びます。選んだ出力は丸ごと使われます。大きな額の紙幣で払い、お釣りを受け取るようなものです。完成したトランザクションの仮想サイズを 200 vB、手数料率を 5 sat/vB と仮定します。vB は手数料計算に使うサイズの単位なので、手数料は 1 000 sat です。受取人には 100 000 sat が渡り、19 000 sat は change、つまりお釣りとして新しい出力でアリスに戻ります。もう一つの 80 000 sat の UTXO はそのままです。これはサイズを仮定し、送金側が手数料を負担する例で、すべての支払いがこのサイズになるわけではありません。 [4]

使う UTXO はそれぞれ新しいトランザクションの入力となり、データを追加します。そのため入力の種類と手数料率が同じなら、小さな入金十件を使う支払いは、大きな一件を使うより通常は高くなります。手数料は送金額の何パーセントという計算ではなく、サイズと選んだ料率で決まります。小さな UTXO を複数まとめて自分の一つの出力にすることを、統合、または consolidation と呼びます。料率が低いときに行えば、後の支払いを簡単にしてその手数料を抑えられる場合があります。ただし統合自体にも手数料がかかり、使った資金のつながりが公開されます。 [1]

仕事の報酬と贈り物を同じトランザクションで使うと、ブロックチェーンを見る人は、両方を同じ人が管理していると推測できます。ブロックチェーンは公開された取引記録です。アリスの私的なラベルは見えませんが、入力が一緒に使われたことは見えます。別々に選べば、この特定の結び付きを避けられます。しかし匿名になるわけではなく、別の関係がすでに知られている可能性もあります。また、入力が一緒でも、所有者が一人だと断定はできません。例えば Payjoin では、送り手と受取人の両方が一つの支払いに入力を提供できます。 [2]

アリスの 19 000 sat は、後から別のトランザクションで返されるのではありません。change は同じ支払いの中で、アリスのウォレット向けの新しい出力として生まれます。この残りにも来歴があり、元は仕事の報酬です。後で贈り物と一緒に使えば、最初に避けた結び付きが生じる可能性があります。お釣りの出力も追跡し、新しいアドレスなら過去との関係がなくなるとは考えないことが大切です。お釣りが多いのは、選んだ金額が支払額と手数料の合計を大きく超えているということです。それだけで選択ミスとはいえません。 [2]

署名前にアリスは、実際に使う入力、受取人の完全なアドレス、金額、自分へのお釣り、手数料の合計を確認します。署名は特定のトランザクションを承認するもので、一覧にチェックを入れただけでは支払いは完成していません。選んだ資金は支払額と手数料の両方を賄う必要があります。まだ承認されていない入金を使う場合、新しい支払いは、その資金を受け取った元のトランザクションに依存します。元のトランザクションがブロックチェーンに入らなければ、その出力を使う支払いも承認されません。手動選択は支払いを理解するための機能です。影響の分からない設定をむやみに変更するためのものではありません。 [4]

動作はソフトウェアとバージョンによります。Bitcoin Core v29.0 の fundrawtransaction では、add_inputs が既定で有効です。指定した入力だけでは足りない場合、別の入力を追加できます。選んだ UTXO だけを使いたいなら、この設定と最終的な案を確認する必要があります。listunspent は利用できる出力を調べるコマンドです。txid は以前のトランザクションを、vout はその中の出力の位置を示し、二つで一つの UTXO を特定します。solvable は支出方法が分かるという意味で、必要な秘密鍵を持っているという意味ではありません。トランザクションを組み立てても、足りない署名が加わるわけではありません。 [4] [3]

Coin Control は、特定の入金を分けておきたい理由があるときや、使うための費用を理解したいときに役立ちます。安全なバックアップの代わりにはならず、資金の過去を変えたり、公開済みの関係を消したりもしません。毎回使う必要はありません。自動選択でよい場合と自分で決めたい場合を見分け、最後に準備されたトランザクションが意図どおりかを確認することが重要です。 [3] [2]

理解を深めるには、この項目とあわせて次もお読みください UTXO, ウォレット, Change Address, Bitcoin のプライバシー. 次の項目からも参照されています Change Address, CoinJoin, Bitcoin のプライバシー, Coin Selection.

DOC · 001BIP 141: transaction weight一次資料 DOC · 002BIP 78: Payjoin and ownership heuristics一次資料 DOC · 003Bitcoin Core v29.0: listunspent文書 DOC · 004Bitcoin Core v29.0: fundrawtransaction文書
改訂日: 一次資料を優先 · 投資助言ではありません