ビットコインの手数料は、イーサリアムのガスとは大きく異なる仕組みです。この記事では、メモリプール、sat/vBという単位、取引サイズが手数料を決める理由、そして送金が詰まったときの対処法を説明します。
ネットワークの基本はビットコインを、手数料の一般的な考え方はガスと手数料をご覧ください。
メモリプール
ビットコインを送ると、ウォレットは取引をネットワークにブロードキャストします。各ノードはそれを検証し、マイナーがブロックに入れるまで、**メモリプール(mempool、memory pool)**と呼ばれる待機場所に保持します。メモリプールは1つだけではありません。ノードごとに独自のものを持っていますが、通常はほぼ同じ内容です。
ブロックのサイズには上限があります。マイナーは、占めるスペースに対して最も多くの手数料を支払う取引からブロックを埋めていきます。そのため、1ブロックで運べる量より多くの取引がメモリプールにあるときは、手数料の低い取引が待たされます。
手数料は金額ではなくバイト単位で決まる
ビットコインは、送る金額では課金しません。取引がブロック内で占めるスペースに対して課金します。単位は**仮想バイト(virtual byte、vB)で、価格は1 vBあたりのサトシ(sat/vB)**で表されます。1サトシは1ビットコインの1億分の1です。
手数料は次のとおりです。
手数料 = vB単位のサイズ × sat/vB単位の手数料率
例:141 vBの取引を10 sat/vBで送ると、1,410サトシかかります。サイズが同じなら、ごく少額を送っても非常に高額を送っても同じコストです。手数料は金額ではなく、サイズだけで変わります。
仮想バイトはSegWitに由来し、署名データを割引して数えます。1ブロックの上限は400万ウェイトユニットで、およそ100万 vBに相当します。
取引サイズを決めるもの
ビットコインの取引には、インプット(使うコイン)とアウトプット(コインの送り先)があります。インプットやアウトプットが多いほど、取引は大きくなり、手数料も高くなります。
- インプット1つとアウトプット2つ(1つは受取人へ、もう1つはお釣りとして自分へ)の単純な送金は、最新のSegWitアドレスを使うと約140 vBです。
- ウォレットが小さなコインを多数持っていて、それらをまとめる必要がある場合は、インプットが多くなり、手数料が増えます。
- 多数の受取人への送金は、アウトプットが多くなり、これもサイズを増やします。
アドレスタイプ
アドレスタイプによって、インプット1つあたりのサイズが異なります。
- **レガシー(Legacy)**アドレス(1で始まる)が最も大きくなります。
- SegWitアドレス(bc1qで始まる)は、インプットあたりのサイズが小さくなります。
- Taprootアドレス(bc1pで始まる)もインプットあたりのサイズが小さく、複雑な支払いの一部はさらに小さくなります。
このため、同じ送金でも、レガシーよりSegWitやTaprootのアドレスから送るほうが、目に見えて安くなることがあります。アドレスタイプはウォレットが選ぶので、何を使っているか確認してください。
手数料の見積もり
ウォレットは、メモリプールと最近のブロックを見て手数料率を見積もります。一般的なツールは、複数の目標を表示します。
- 次のブロック: 最も高い手数料率で、次のブロックに入る可能性が最も高くなります。
- 約30分: 中程度の手数料率。
- 約1時間: より低い手数料率。
- エコノミー: 長く待てる送金向けの最低手数料率。
これらは見積もりであり、保証ではありません。急な殺到でメモリプールが埋まると、次のブロックに入ると見込まれていた送金が、より長く待たされることがあります。ガスページでは、これらのビットコインの目標値を表示し、一般的な141 vBの送金のドル建てコストに換算しています。
メモリプールが満杯のとき
需要が高いと、次のブロックに入るために必要な手数料率が上がります。手数料の低い取引はメモリプールに残ります。ノードのメモリプールにはサイズ上限があり、満杯になると、手数料の最も低い取引から破棄されます。破棄された取引でお金が失われるわけではありません。コインはチェーン上で使われていないからです。ウォレットから再送信できます。
メモリプールの混雑は、たとえば多くの人が一斉にコインを動かしたときに起こります。状況はビットコインのページで確認できます。各ブロックのタイルには、どれくらい埋まったかと、含まれていた手数料が表示されます。
滞った送金を動かす:RBFとCPFP
支払った手数料が少なすぎた場合、一般的な解決策が2つあります。
- RBF(replace-by-fee、手数料置き換え)。 同じ取引の新しいバージョンを、より高い手数料で送ります。ノードは古い取引を新しいものに置き換えます。これに対応したウォレットが必要です。以前のノードは、元の取引が置き換え可能と印付けされている場合にのみこれを受け入れました。現在はほとんどのノードがどちらの場合でも置き換えを受け入れますが、取引を置き換え可能と印付けしないウォレットでは、この選択肢が提供されないことがあります。
- CPFP(child pays for parent、子が親の分を支払う)。 自分または受取人が、滞った取引のアウトプットを使う新しい取引を作り、高い手数料を支払います。マイナーは子の手数料が欲しく、子は親より先にマイニングできないため、両方をまとめて取り込みます。
通常、送信者はRBFを使い、元の取引を変更できない受取人はCPFPを使えます。
ブロックの間隔がきっかり10分ではない理由
ビットコインは、平均して約10分に1ブロックを目指します。マイニングは宝くじのようなもので、マイナーは多数の推測を試み、有効なブロックを見つけるまでの時間はランダムです。1分以内に来るブロックもあれば、30分以上かかるブロックもあります。2016ブロックごとに、ネットワークはマイニングの難易度を調整し、平均が10分付近に保たれるようにしています。
このランダム性は、「次のブロック」の手数料見積もりが外れることがある理由でもあります。ブロックが遅れて届くと、より多くの取引が待ち行列に並びます。
リアルタイムで見る
ChainMonitorのビットコインを開くと、最近のブロックがタイルで表示され、それぞれの埋まり具合と手数料率がわかります。ブロックをクリックすると含まれる取引が表示され、ヘッダーの検索にトランザクションIDを貼り付けると、その状態を確認できます。見つけた内容の読み方は、トランザクションの読み方とファイナリティと承認数をご覧ください。
よくある質問
sat/vBとは何ですか?
ビットコインの手数料率で、取引サイズ1仮想バイトあたりに支払うサトシの数です。これに取引のサイズを掛けると手数料になります。
なぜビットコインの取引が詰まっているのですか?
おそらく、手数料率が現在マイナーが受け入れる水準より低いためです。手数料率が下がるか、加速させるか、ノードが破棄するまで、メモリプールに残ります。
ビットコインの取引を早めるにはどうすればよいですか?
ウォレットが対応していればRBFを使うか、受取人にCPFPを使ってもらいます。どちらも、同じスペースに対してより高い手数料を支払う方法です。
多くのビットコインを送ると手数料も高くなりますか?
いいえ。手数料は金額ではなく取引のサイズに依存します。インプットの多い取引は、金額にかかわらず単純な取引より高くなります。
何回の承認を待つべきですか?
高額の送金では、6承認を目安にするのが一般的です。ファイナリティと承認数をご覧ください。