比特幣的「粉塵」真的花不掉嗎?

有時候,比特幣錢包會出現一筆小得出奇的收款。它算進餘額,花用時可能增加的手續費卻接近甚至超過本身價值,於是人們把這類零碎輸出稱為「粉塵」,聽起來像永遠掃不掉的數位碎屑。
可是,只要這筆價值已經成為有效的 UTXO,花費條件也能被滿足,為什麼會出現「有餘額卻花不動」的說法?
關鍵在於把三個層次分開:交易在協議上是否有效、網路平常是否願意轉送它,以及動用這筆輸出是否划算。三者經常得到不同答案,粉塵也沒有一條適用所有情況的固定金額界線。
金額很小,不會讓既有輸出自動失效
比特幣交易會消耗舊輸出,再建立帶有金額與花費條件的新輸出。只要一筆交易依規則進入有效區塊,其中尚未花用的輸出就會留在可驗證紀錄裡;金額小不會讓它自行過期,也不會因錢包暫時不選它便消失。
日後建立的新交易仍可引用這筆輸出。若它本身不夠支付收款與費用,交易也能同時加入其他輸入,讓總額足以成立。簽署、驗證與交易確認的規則,並不會只因某個輸入價值很低就改變。
因此,「花掉之後會得不償失」與「協議不准花」是兩件事。極小輸出在技術上可能仍可動用,經濟結果卻可能讓整個錢包的可用餘額減少。
粉塵門檻主要是一種轉送政策
新輸出在寫入鏈上以前,交易通常要先經過網路轉送,再由礦工挑選進候選區塊。為了避免大量幾乎不值得花的輸出持續增加驗證與儲存負擔,常見全節點軟體會用粉塵門檻檢查新建立的輸出,並拒絕轉送不符合一般政策的交易。
這項估算會考慮輸出本身占用的空間,以及未來花用該類輸出大約要增加多少交易資料,再套用一個政策費率。不同花費條件需要的資料量不同,軟體設定與轉送規則也可能調整,所以「低於某個固定聰數就永遠無效」並不精確。
更重要的是,轉送政策由各參與者在本機執行,和所有有效區塊都必須遵守的協議規則層次不同。一筆含極小輸出的交易若沒有通過常見轉送政策,通常很難循一般路徑抵達礦工;這不代表該輸出格式必然違反協議。軟體也可能為特定交易套件設計受限例外,門檻因此更適合被理解成資源管理工具,而非資產銷毀線。
經濟上的粉塵會隨費率移動
即使輸出高於常見門檻,未來也可能變得不划算。動用一筆 UTXO 會替交易增加一個輸入及相應證明;當每單位資料的費率升高,這部分新增手續費可能大於輸出價值。錢包若把它納入,反而要從其他輸入多拿一些價值補足費用。
費率較低時,同一筆輸出的花費成本可能下降;有些錢包也會在合適時機把多筆零碎輸出整合成較少的新輸出。不過,未來費率無法預先保證,整合本身仍占用區塊空間。把多筆輸入放在同一筆交易,還可能讓外界推測它們受同一方控制,成本計算不能完全脫離隱私考量。
所以,經濟上的「不值得花」是費率、輸入類型與使用目的共同形成的結果。它會隨環境改變,也沒有保證等待後一定能以更低成本處理。
陌生小額收款還多一層隱私問題
有人會刻意把剛好能傳播的極小額比特幣送往許多公開地址,期待收款錢包日後把它與其他 UTXO 一起花用。若交易把原本分散的輸出合併成共同輸入,觀察者便多了一條推測控制關係的線索;這類做法常被稱為粉塵攻擊。
小額收款本身不能奪走控制權,也不會替對方取得簽署能力。真正的風險在後續選幣與合併留下的公開關聯。錢包能否標記、凍結或避開特定輸出,取決於軟體功能;使用者若只看總餘額,容易忽略每筆 UTXO 各自的來源與花費代價。
因此,看到粉塵時,可以依序辨認:它是否已是有效輸出、一般網路政策是否接受相關交易,以及在當下費率與隱私條件下是否值得動用。粉塵沒有讓比特幣憑空消失;它揭示的是一個更實際的邊界——公開系統能精確記錄極小價值,卻不保證每一筆價值在任何時間都適合單獨移動。