📡 トランザクションはどう承認される?
ビットコイン送金が完了するまでの全工程
もふねこだよ。🐾 「送金したのに相手の口座に反映されない…」という状況、不安だよね。ビットコインの送金は銀行と違って「即時反映」じゃないんだ。なぜ時間がかかるのか、全工程を手順で追ってみるよ!
1. 送金の全工程の概要
ビットコインの送金(トランザクション)は、「送信→待機→採用→確認」の4ステップを経て最終的に完了するんだ。
あなたのウォレットが「AからBへX BTCを送る」という取引データを作り、秘密鍵でデジタル署名する。署名済みトランザクションがネットワークにブロードキャスト(配信)される。
各ノードがトランザクションを受け取り「メモリプール(未承認取引の待合室)」に入れる。この時点では「未承認」状態で、相手の口座にはまだ届いていない。
マイナーはMempool から取引を選んでブロックを作る。手数料が高い取引を優先的に選ぶ。混雑時は手数料が低い取引が後回しになる。
あるマイナーがPoW問題を解いて新しいブロックを発見。その中にあなたの取引が含まれていれば「1確認」状態になる。約10分に1回起きる。
以降、新しいブロックが積み上がるごとに「確認数」が増える。取引所やサービスによっては「6確認(≒60分)」で正式に受け取りと判定することが多い。
2. 「6確認」がなぜ安全の目安なのか?
「なぜ1確認じゃダメなの?」と思うよね。これは「二重払い攻撃(Double Spending Attack)」のリスクと関係しているんだよ。
悪意ある攻撃者が「同じBTCを2つの別アドレスに同時送信」しようとした場合、正規のチェーンに先を行かれても自分のブロックを積み上げ続けることで、後から「自分のチェーンの方が長い」状態を作るのが二重払い攻撃だよ。しかし6ブロック(約60分)分が積み上がると、それを上回る計算を行うには全ネットワーク計算力の51%以上が必要でほぼ現実的に不可能になるんだ。
3. 送金が遅くなるケース
- 手数料(マイナーフィー)を低く設定した:マイナーに後回しにされて、Mempool で何時間も待機することがある
- ネットワーク混雑時:NFTのミント・相場急変など、Mempool に大量の取引が溜まっている時
- 取引所の内部処理:Coincheck等の取引所への入金は、取引所が確認数を待ってから反映するため、ブロックチェーン上での確認と別に時間がかかることがある
ビットコインは約10分/ブロック。イーサリアムは約12秒/ブロック。ETHの方が圧倒的に速い。ただし、より速いブロックチェーン(Solanaなど)はPoSやPoH(Proof of History)など異なる仕組みを採用していて、それぞれにトレードオフがあるんだよ。
📝 まとめ:トランザクションが完了するまで
- 送信するとMempool(待合室)に入り「未承認」状態になる
- マイナーが手数料の高い順に採用→マイニング競争でブロックに記録されると「1確認」
- 6確認(約60分)で二重払い攻撃のリスクがほぼゼロになり完全確定
- 送金が遅い時は「手数料が低い」か「ネットワーク混雑」が原因のことがほとんど