Fee Rate はトランザクション手数料を仮想サイズ vsize で割った値です。通常は sat/vB、つまり仮想バイト当たりのサトシで示します。サトシ(sat)は、ビットコインのベースレイヤーで記録される最小単位です。手数料総額は入力と出力の金額の差です。高いレートは早期確認の可能性を高めますが、順番や時刻を保証しません。
トランザクションの入力は、以前受け取り、今回使う金額を含む出力を参照します。まだ使われていない出力を UTXO と呼びます。新しい出力は、金額と、それを後で使うための条件を定めます。例えば、受取人への出力や、自分のウォレットにお釣りを戻す出力です。同じ構造のトランザクションなら、送金額が大きく違ってもサイズと手数料は同じになり得ます。主に影響するのは入力と出力の数や種類です。そのため、小さな UTXO を多数使うほうが、適切な出力一つから大きな金額を送るより高くなる場合があります。大切なのは構造であり、円換算の価値ではありません。 [2] [3]
完成したトランザクションが 150 vB、レートが 20 sat/vB なら、手数料は 3000 sat です。同じレートでも大きなトランザクションほど高くなります。署名前にはレートと総額の両方を確認してください。署名が完成する前のサイズは推定の場合があり、最終結果が最初の提案と完全には一致しないことがあります。 [3]
SegWit はビットコインの更新で、署名などの取引検証データの一部を witness と呼ばれる別の領域に分けました。 SegWit はデータに異なる重みを付け、基本部分の 1 バイトを weight の 4 単位、witness データの 1 バイトを 1 単位として数えます。BIP141 の vsize は weight を 4 で割り、整数に切り上げた値です。したがって、仮想サイズはファイルのバイト数とは異なり得ます。ウォレットやノードはそれぞれのトランザクション受け入れルールで追加の制限を考慮する場合もあるため、ダウンロードしたファイルの長さだけでレートを計算しないでください。 [2] [6]
ノードはビットコインのデータを検証し、中継するプログラムです。受け入れた未確認のトランザクションを Mempool に保存します。あるトランザクションが別のトランザクションの出力を使うとき、使う側を子、その出力を作った側を親と呼びます。マイナーは有効なトランザクションから採用するものを選びます。限られた場所に対する手数料は重要な動機ですが、レート自体が整理番号ではありません。依存関係のあるトランザクションでは、祖先と子孫の収益をまとめて評価することがあり、手数料の高い子トランザクションが、手数料の低い親トランザクションの採用を後押しすることがあります。また、各ノードが見る Mempool は完全に同じとは限りません。 [8]
ノードは低レートのトランザクションを中継しなかったり、混雑時に追い出したりできます。これはローカルポリシーであり、ビットコイン全体の統一料金表ではありません。手数料が低いだけでブロック内のトランザクションが無効になるわけでもありません。getmempoolinfo の mempoolminfee は現在のローカルなしきい値を表し、他ノードの受け入れやマイナーの採用は保証しません。 [5] [2] [9]
推定は観測したトランザクションとその確認状況を、希望するブロック数の目標と組み合わせます。Bitcoin Core の estimatesmartfee には、異なる期間を見る economical と conservative モードがあります。新しい支払いやブロック発見は依然不確実です。観測が足りなければ、ノードは推定値ではなくエラーを返します。値がないことは無料を意味せず、数ブロックという目標は分単位の固定期限でもありません。 [4]
Bitcoin Core 29.0 の estimatesmartfee は BTC/kvB を返しますが、多くのウォレットは sat/vB を表示します。0.00020 BTC/kvB は 20 sat/vB であり、同じ数字のまま単位だけを変えてはいけません。decoderawtransaction は size、vsize、weight を示します。手数料の計算には、使用する過去の出力の金額も必要です。サービスを接続するときは、項目の単位とインターフェースのバージョンを確かめてください。 [4] [6]
RBF (Replace-by-Fee) は、ウォレットと受け入れ側のポリシーが対応していれば、条件を満たす未確認トランザクションを、競合する高い手数料の版で置き換えます。CPFP (Child Pays for Parent) は待機中のトランザクションの利用可能な出力を使い、親子を合わせたレートを上げます。どちらも万能ではありません。管理できる出力、依存関係、ノードの規則が関わります。署名時に手数料総額の増加にも気付けるようにしてください。 [7] [8]
まず、いつまでに確認が必要かを決めます。そのうえで現在の推定、総額、後から増額できるかを比べてください。多数の UTXO からなる異常に大きなトランザクションにも注意します。時間があれば条件の改善を待てますが、レート低下は保証されません。実際の状態を確認し、最初の送金が待機中だからといって新しい独立した送金をしないでください。 [1] [4] [7]
理解を深めるには、この項目とあわせて次もお読みください Transaction Fees, Mempool, Replace-by-Fee (RBF), CPFP (Child Pays for Parent). 次の項目からも参照されています Change Address, 承認, Replace-by-Fee (RBF), CPFP (Child Pays for Parent).