署名済みビットコイン取引をネットワークにブロードキャストする方法。オンラインツール、Bitcoin Core、ウォレット別の方法と未確認取引の解決法。
import InfoBox from '@components/shortcodes/InfoBox.astro';
ビットコインの取引に署名しました。次は何をすればいいでしょうか。ネットワークに送信する必要があります。ブロードキャストとは、署名済みの取引をビットコインノードに送信し、マイナーがブロックに含められるようにする行為です。ブロードキャストしなければ、何も起こりません。
このガイドでは、ブラウザツールからコマンドラインまで全てのブロードキャスト方法と、問題が発生した場合の対処法を解説します。
取引をブロードキャストすると、ウォレットやツールがraw取引hexを1つ以上のビットコインノードに送信します。ノードは署名、入力、手数料を検証した後、他のノードに中継します。数秒以内に数千のノードに伝播し、メンプール - 未確認取引の待合室 - に到着します。
その後、マイナーが手数料の優先順位に基づいてピックアップし、次のブロックに含めます。1確認まで約10分、6確認(約1時間)でほとんどの目的において不可逆とみなされます。
最も簡単です。raw取引hexをウェブフォームに貼り付けて送信するだけです。
主要ツール:
使い方:
自分のフルノードを運用している場合、最もプライベートな方法です。
bitcoin-cli sendrawtransaction "YOUR_RAW_TX_HEX"
取引が有効であればTXIDを返します。無効な場合は理由を説明するエラーを返します。
実際の送信なしでテストすることもできます:
bitcoin-cli testmempoolaccept '["YOUR_RAW_TX_HEX"]'
ほとんどのデスクトップウォレットは"送信"をクリックすると自動的にブロードキャストします。エアギャップデバイスやマルチシグで事前署名した取引がある場合は手動でブロードキャストできます:
Electrum: Tools > Load Transaction > From text/file > Broadcast
Sparrow: File > Import Transaction > Broadcast Transaction
開発者や自動化システム向け:
curl -X POST https://blockstream.info/api/tx -d "RAW_TX_HEX"
成功時にTXIDを返します。
ブロードキャスト後に数時間未確認のままなら、ブロードキャストの失敗ではなく手数料の問題です。取引はメンプールに到達していますが、マイナーがより高い手数料の取引を優先しています。
解決方法:
TXIDの代わりにエラーが返された場合、取引は受け入れられませんでした。
| エラー | 意味 | 対処 |
|---|---|---|
| Missing inputs | 使用しようとしたUTXOが存在しない | 別の取引で既に使用されたか確認 |
| Fee too low | 最小中継手数料(1 sat/vB)未満 | より高い手数料で再作成 |
| Already in mempool | 既にブロードキャスト済み | ブロックエクスプローラーでTXIDを確認 |
| Double spend | 別の取引が同じ入力を使用済み | どちらかが削除される |
ブロードキャストは取引を最初に受け取るノードにIPアドレスを公開します。
対策:
ブロードキャストは取引の署名と確認の間の最後のステップです。通常はウォレットが自動的に処理しますが、取引が止まったとき、コールドストレージやマルチシグを使うとき、プライバシーが重要なとき - 手動ブロードキャストの方法を知ることは不可欠です。
ツールは無料で、プロセスは数秒で終わり、取引を直接コントロールできるようにしてくれます。それがビットコインの要点です。