比特幣塵埃是什麼意思?
我已經看到“灰塵”這個詞用來描述可能被比特幣網路視為垃圾郵件的小交易。這個術語有一個普遍接受的定義嗎?
灰塵的定義是特定於客戶端的,而不是網路規則。
比特幣核心認為交易輸出是灰塵,當它的價值低於以
dustRelayFee
速率花費它的成本時。預設值為dustRelayFee
3,000 sat/kvB¹,這會產生與比特幣核心 0.15.0 之前使用的先前灰塵定義相同的灰塵值。先前的灰塵定義將灰塵限制與minRelayTxFee費率和超過其價值 1/3 的輸出的支出成本聯繫起來。預設
dustRelayFee
值為 3,000 sat/kvB,假設 P2PKH 輸入的大小為 148 字節,P2PKH 輸出的大小為 34 字節,比特幣核心將價值低於546 satoshis的 P2PKH 輸出視為灰塵(546 satoshi 是最小的非-粉塵值)。對於 P2WPKH 輸出,Bitcoin Core 認為輸出價值低於294 satoshis ² 塵埃。
dustRelayFee
可以使用隱藏的命令行選項進行設置-dustrelayfee
。此外,Bitcoin Core 0.15.0 添加了一個
discard_rate
. 匹配最長的discard_rate
目標費率估計(目前為 1,000 塊費率估計),但限制在至少dustRelayFee
到最多 10,000 satoshi/kvB 之間。任何在 處將成為灰塵的零錢輸出discard_rate
,即花費比在 處的價值更多discard_rate
的費用,將自動歸入費用,而不是作為零錢輸出創建。“塵埃”的其他用途
請注意,塵埃一詞也通俗地用於指代任何價值極低的 UTXO,或用於以給定的費率創建或花費不經濟的 UTXO。
¹ 交易大小在隔離見證之前以字節為單位。由於 segwit,相關度量是交易權重,它以虛擬字節 (vbyte, vB) 或權重單位 (wu) 給出,其中 4 wu = 1 vB。對於非隔離見證交易,它們的大小等於它們的虛擬大小:1 B = 1 vB。對於隔離見證交易,它們的虛擬大小小於或等於它們的大小。您可以在字節和虛擬字節 (vbytes) 之間有區別嗎?. ²細心的讀者可能期望 P2WPKH 輸出的灰塵限制為 297 satoshis,因為 P2WPKH 輸出為 31 字節,P2WPKH 輸入約為68 vbytes,但似乎當 P2WPKH 輸出的灰塵限制為
實現時,程式碼在輸入的 vsize 中包含舍入錯誤,導致它被假定為比實際小一個 vbyte。(向 Crypt-iQ 致敬以指出這一點。)
我不確定灰塵有一個確切的定義。軍械庫客戶端 wiki說:
向任何接收者發送少於 0.01 比特幣——網路將這些小額輸出視為“灰塵”,並通過收取費用來阻止它們。如果不氣餒,有人可以拿 1.0 BTC,並免費創建 1,000,000 筆交易,每筆 0.000001 BTC,這會阻塞網路。所以,這是塵埃的一種定義。
塵埃的另一個定義是新的 5.46uBTC 最小輸出大小被添加到 0.8.2。
這種拉動將“不經濟塵埃”定義為 5.46 uBTC(546 satoshis,按目前價格計算約為 0.007 美元),並將任何輸出低於 546 satoshis 的交易視為非標準交易(不會被轉發,不會被開採)。546 satoshis 來自花費 TxOut/TxIn 的成本(費用)。
(注意,最初發佈時,據說灰塵門檻值為 5430 satoshis,但這是不正確的,後來被固定為正確的數字。費用也下降了 10 倍)
我不認為灰塵的定義從根本上改變了答案的要點。
一般來說,灰塵的確切定義以及被視為灰塵的門檻值可能會隨著交易量(以及因此對區塊鏈中的空間競爭)和匯率而變化。