ビットコインのトランザクションが未確認のまま止まっていませんか?Replace-By-Fee(RBF)、Child-Pays-for-Parent(CPFP)、再ブロードキャストツールを使った解決方法をステップごとに解説します。
ビットコインのトランザクションを送信し、TXIDを確認したのに、何時間も未確認のまま止まっている。メモプールが混雑していて、手数料が低すぎて、トランザクションが滞っている。これはビットコインで最もよくある問題のひとつですが、完全に解決可能です。
このガイドでは、滞ったビットコイントランザクションを解決する3つの方法、それぞれの使い分け、そしてプロセスを簡単にするツールを紹介します。
ビットコインのトランザクションは、メモプールに入った後、マイナーがより高い手数料を支払うトランザクションを優先的に処理するため、繰り返しスキップされると滞ります。これは以下のような場合に発生します:
滞ったトランザクションは失われていません。ビットコインは消えていません。単にまだブロックに含まれていないだけです。最終的に確認されるか、約14日間(336時間)後にノードがメモプールから削除し、資金はトランザクションがなかったかのようにウォレットに戻ります。
しかし14日間は長すぎます。今すぐ解決する3つの方法を見ていきましょう。
最適な場面: 自分で送信したトランザクションで、ウォレットがRBFに対応している場合。
RBFでは、同じインプットを使いながらより高い手数料を設定した代替トランザクションを作成します。新しいトランザクションが古いものを無効にし、マイナーは手数料の高いバージョンを含めます。
Bitcoin Coreの場合:
bitcoin-cli bumpfee "your-stuck-txid"
Bitcoin Coreが現在のメモプール状況に基づいて、適切な手数料率の代替トランザクションを自動的に作成します。
ウォレットアプリの場合: ほとんどのウォレット(Sparrow、Electrum、BlueWallet、Nunchuk)は、未確認トランザクションに「Bump Fee」または「Speed Up」ボタンを表示します。ボタンをクリックし、新しい手数料率を選択して確認するだけです。
適切な手数料の選択: mempool.spaceまたはtxid.ukで現在の手数料率を確認してください。代替手数料を「中程度の優先度(medium priority)」以上に設定すれば、数ブロック以内に確認されます。
元のトランザクションにRBFシグナリングがなくても、一部のノードはfull RBF(Bitcoin Core 26.0からデフォルトで有効)に基づいて代替を受け入れます。ただし、すべてのマイナーとノードがfull RBFに対応しているわけではありません。RBFが使えない場合は、代わりにCPFPを使用してください。
最適な場面: 受信者の場合、またはRBFが使えない場合。
CPFPはRBFとは異なる仕組みです。滞ったトランザクションを置き換えるのではなく、滞ったトランザクション(親)のアウトプットを使う新しいトランザクション(子)を作成します。子トランザクションが親と自身の両方をカバーするのに十分な高い手数料を支払います。マイナーは両方を一緒に確認することが利益になると判断し、パッケージとして含めます。
Bitcoin Coreの場合:
bitcoin-cli sendtoaddress "your-address" 0.001 \
"" "" false true null "unset" null 25
最後のパラメータ(25 sat/vB)は、親+子の合算手数料率が現在のメモプール優先度の閾値を超えるよう、十分に高く設定してください。
ウォレットアプリの場合: Sparrow Walletで未確認トランザクションを右クリック → 「Accelerate Transaction (CPFP)」を選択します。ウォレットが必要な子トランザクションの手数料を自動的に計算します。
子トランザクションは親の不足分を補う必要があります:
必要な子トランザクション手数料率 =
(目標合計手数料 - 親の実際の手数料) / 子のvsize
例:親TXが200 vBで手数料が400 sat(2 sat/vB)の場合、パッケージ平均を10 sat/vBにするには合計目標は2,000 satです。子が1,600 satを支払う必要があります。子が150 vBなら、子単体の手数料率は約10.7 sat/vBになります。
最適な場面: メモプールから完全に削除されたトランザクション。
約14日が経過すると、ノードは未確認トランザクションを削除します。トランザクションが削除された場合は、元の生のトランザクションを再ブロードキャストするか、より高い手数料で新しいトランザクションを作成できます。
tx.txid.ukを使用:
Bitcoin Coreを使用:
bitcoin-cli sendrawtransaction "raw-tx-hex"
公開APIを使用:
curl -X POST https://mempool.space/api/tx \
-d "raw-tx-hex"
元のトランザクションが削除されている場合、低い手数料の古いトランザクションを再ブロードキャストするよりも、現在の適切な手数料率で新しいトランザクションを作成する方がよい場合があります。
| 状況 | 方法 | 理由 |
|---|---|---|
| 自分が送信、ウォレットがRBF対応 | RBF | 最もシンプル - ほとんどのウォレットでボタン一つで解決 |
| 受信者の場合 | CPFP | 受信者が使える唯一の方法 |
| RBF未有効、自分が送信者 | CPFP(お釣りアウトプット経由) | お釣りアウトプットを使ってパッケージ手数料を引き上げ |
| TXがメモプールから削除された | 再ブロードキャスト | TXがメモプールにないため再送信が必要 |
| 非常に古い未確認TX(14日以上) | 新しいトランザクション | 現在の手数料率で新しいTXを作成 |
修正を試みる前に、トランザクションの現在の状態を確認しましょう:
トランザクションが確認済みと表示されていれば、問題は自然に解決しています。「not found」と表示される場合はメモプールから削除された可能性があるので、再ブロードキャストするか新しいトランザクションを作成してください。
最も良い解決策は予防です: