進階
Dust Limits 粉塵限制
了解閃電網路中的粉塵限制,為什麼小額 HTLC 無法上鏈結算。
8 分鐘
什麼是粉塵限制?
粉塵(Dust)指的是金額太小、不值得在區塊鏈上結算的輸出。 在閃電網路中,低於粉塵限制的 HTLC 不會出現在承諾交易中。
經濟考量: 如果花費一個輸出的手續費超過輸出本身的價值,這個輸出就是「粉塵」。
粉塵限制計算
Bitcoin Dust Limits
P2PKH Output:
• 輸出大小:34 bytes
• 花費輸入:148 bytes
• 總計:182 bytes
• 粉塵限制 = 182 x 3 x minRelayTxFee
= 546 satoshis(預設 1 sat/vB)
P2WPKH Output:
• 輸出大小:31 bytes
• 花費輸入:67.75 vbytes
• 總計:98.75 vbytes
• 粉塵限制 = 294 satoshis
P2TR Output:
• 粉塵限制 = 330 satoshis 閃電網路中的處理
Dust HTLC Handling
Commitment Transaction Structure:
Input: funding_tx
Outputs:
to_local: 500,000 sats
to_remote: 400,000 sats
HTLC #1: 50,000 sats (normal output)
HTLC #2: 200 sats (dust - not in tx)
HTLC #3: 100 sats (dust - not in tx)
粉塵 HTLC 的處理:
• 金額加到承諾交易手續費中
• 如果 HTLC 成功:礦工獲得這筆費用
• 如果 HTLC 失敗:同樣歸礦工
Risk Analysis:
小額 HTLC 的風險:
• 發送者:可能損失粉塵金額
• 路由節點:轉發費用可能不值得風險
• 接收者:強制關閉時損失小額支付 配置選項
LND Configuration: # 設定 HTLC 最小金額 [Application Options] minchansize=100000 # 最小通道大小 min-htlc-out=1000 # 最小 HTLC 輸出(毫聰) CLN Configuration: # lightningd 選項 --min-capacity-sat=10000 # 最小通道容量 Dynamic Dust Limits: 粉塵限制隨費率變化: • 低費率環境:較低的粉塵限制 • 高費率環境:較高的粉塵限制 • 節點可以協商 dust_limit_satoshis
最佳實踐
設定合理的最小 HTLC 限制,避免處理太多粉塵支付。
用戶影響
微支付(如每秒付費串流)需要考慮粉塵限制。
Trimmed HTLCs: 低於粉塵限制的 HTLC 稱為「trimmed HTLCs」,它們仍然存在於通道狀態中,但不會出現在鏈上交易中。
相關資源
已複製連結