時間:2021-11-20|瀏覽:540
一般普通比特幣交易由一個輸入兩個輸出(交易輸出和零輸出)組成,約200字節(jié),默認每1000字節(jié)收費0.0001比特幣計算,比特幣轉賬費約為0.001-0.002比特幣。但當單個輸入不足以支付輸出時,就會出現上述多個交易輸入構成無成本輸出的問題,然后其數據量就會增加。無成本交易輸出的構成越復雜,需要處理的字節(jié)越多,手續(xù)費也越高。
當你使用Bitcoin客戶發(fā)送比特幣時,整個過程大致分為以下步驟:
第一步:選擇合適的無成本輸出
前面說過,交易最終會留下很多未花費的輸出,這些未花費的輸出不會合并!!比如你收到兩筆支付,分別是2BTC和3BTC這兩個不花費輸出就單獨保存在錢包里,不合并為5BTC。
當你想向他人支付比特幣時,比特幣客戶端會選擇合適的無成本輸出發(fā)送,成為下一筆交易的輸入。整個過程如下圖所示:
第二步:不鼓勵零碎支付
目前比特幣算法不鼓勵零碎支付,因為大量零碎支付會增加交易數據,導致整個系統(tǒng)交易緩慢。如果交易的輸出低于0.01BTC然后,收0.0001BTC手續(xù)費。錢包在準備你的支付金額時有一個既定的規(guī)則,即在眾多輸入中準備支付金額時,盡量避免少于0.01BTC金額變動(例如,你必須支付5.005BTC盡可能選擇錢包3 2.005或1 1 3.005.而不是5 0.005)。
第三步:金額高,貨幣年齡大,優(yōu)先級越高
每筆交易都會有一個優(yōu)先級。一筆交易是否需要支付手續(xù)費取決于以下優(yōu)先級值(只是一個簡單的模型,真實情況更復雜):
如果X的值小于0.576將收取交易費用。X大于0.576.可以獲得優(yōu)先級,避免收費。
你有沒有注意到,有一種情況是肯定會收費的,就是付出的錢很少,而且是由很多散錢組成的,離你拿到這些散錢的時間還很近,所以這筆交易難逃收費。
相反,如果交易輸入金額大,時間長,可以避免收費。
第四步:稱重收費
比特幣的交易以一串數字數據出現,該交易包含更多的數據會占用更多磁盤空間,需要更多的網絡帶寬來傳輸。因此交易的輸入項、輸出項越復雜,數據量就越大,所需要交的手續(xù)費就越多。
舉例來說,有一次蟻妹要給用戶發(fā)獎,獎品價值66元BTC,用一個在線錢包發(fā)比特幣,但是我發(fā)現每次發(fā)獎都要扣50元左右的手續(xù)費。后來我去區(qū)塊鏈瀏覽器看到網上錢包都是零碎的散錢,一筆小交易其實有6個輸入,導致我的交易數據量增加,扣了很多交易費。
如果你沒有得到第三點提到的優(yōu)先級,你必須收取交易費。!具體交易量要稱重你交易的大小。
稱重公式為:
Size=148*輸入數量 34*輸出數量 10
費用按每千字節(jié)收費(不到1)k按1k算),每千字節(jié)的費用是0.0001BTC。典型交易的輸出數量有兩個:一個是給收款人,一個是系統(tǒng)找零。根據上述稱重公式,支付0.0001BTC最大輸入數只能是6筆。如果輸入數為7筆,交易費將翻倍至0.0002BTC啦!