跳至主要內容
進階

手續費估算

手續費決定交易被確認的速度。學習如何計算和估算合適的手續費。

15 分鐘

手續費基礎

比特幣交易手續費不是按金額計算,而是按交易的「虛擬位元組」(vBytes) 大小計算。 礦工優先處理每 vByte 費率較高的交易。

手續費公式

手續費 = 交易大小 (vBytes) × 費率 (sat/vB)

例如:250 vBytes × 10 sat/vB = 2,500 sats

虛擬位元組 (vBytes)

SegWit 引入了「權重」概念。witness 數據享有 75% 折扣。

數據類型 權重 說明
基礎數據 4 WU/byte 版本、輸入、輸出、locktime
Witness 數據 1 WU/byte 簽章和公鑰(SegWit)

# vBytes 計算

vBytes = weight / 4

# 區塊限制

最大權重 = 4,000,000 WU ≈ 1,000,000 vBytes

交易大小估算

不同地址類型的交易大小差異很大:

輸入類型 大小 相對成本
P2PKH (1...) ~148 vB 100%
P2SH-P2WPKH (3...) ~91 vB 61%
P2WPKH (bc1q...) ~68 vB 46%
P2TR (bc1p...) ~57.5 vB 39%

省錢秘訣: 使用 Taproot (bc1p) 地址可以節省高達 61% 的手續費!

記憶池 (Mempool)

未確認的交易在記憶池中等待被打包。礦工從記憶池中選擇費率最高的交易來填滿區塊。

記憶池狀態對費率的影響

低擁堵

1-5 sat/vB 即可確認

中等擁堵

10-30 sat/vB 建議

高擁堵

50+ sat/vB 可能需要

費率估算方法

1. 歷史區塊分析

分析最近幾個區塊中被確認的交易費率,推斷當前需要的費率。 Bitcoin Core 使用這種方法提供 estimatesmartfee RPC。

2. 記憶池分析

直接分析當前記憶池中的交易,按費率排序,估算需要多高的費率才能在下一個區塊被確認。 mempool.space 使用這種方法。

3. 確認時間目標

根據希望在多少個區塊內確認,動態調整費率建議:

  • 下一個區塊:最高費率,緊急交易
  • 1 小時內:中等費率(約 6 個區塊)
  • 1 天內:低費率,可以等待
  • 不急:最低費率,週末或夜間可能確認

費率查詢工具

  • mempool.space:最常用,即時記憶池視覺化
  • bitcoinfees.net:簡單的費率建議
  • 自建節點bitcoin-cli estimatesmartfee <blocks>

常見錯誤

  • 設置過低的費率,導致交易長時間不確認
  • 在高擁堵時段發送大額交易(週末通常較便宜)
  • 不考慮 UTXO 合併(低費率時段可以整理 UTXO)
  • 使用舊地址類型,多付不必要的手續費

省錢策略

  • 使用 Native SegWit 或 Taproot 地址
  • 在低費率時段合併小額 UTXO
  • 批量處理多筆付款(減少交易數量)
  • 支援 RBF,可在需要時加速交易
  • 使用閃電網路處理小額支付

延伸閱讀: 了解 RBF 和 CPFP 交易加速技術, 以及 BIP-125 RBF 標準。

已複製連結
已複製到剪貼簿