用戶使用 imToken BTC 錢包轉賬 BTC 的時候需要支付一筆費用,這筆費用就是礦工費。比特幣的礦工費可以鼓勵礦工打包交易,保證代幣正常流動,同時還保護著比特幣網絡的安全,使其免於被濫用。
礦工費如何計算
在了解如何計算礦工費之前,我們要知道以下三個概念。
轉賬交易體積(byte)
比特幣交易的本質是一種數據結構,其基本單位是未經使用的一個交易輸出,簡稱 UTXO(unspent transaction output)。發起轉賬需要使用 UTXO,來組成新一筆轉賬的交易輸入,同時創建新的UTXO 作為交易輸出。由此,比特幣在不同所有者之間轉移,並在區塊中不斷消耗和創建 UTXO。我們在錢包中所看到的餘額,就是由這些和錢包地址存在聯繫的數個 UTXO 累計的。
那麼 UTXO 和交易體積是什麼關係呢?一般來說,UTXO 是影響交易體積的主要因素。
有兩筆轉賬:
在礦工費率一致的前提下,交易 A 所需礦工費是交易 B 的2.1 倍。
礦工費率(sat/byte)
聰(sat)是比特幣的最小計量單位,1 sat= 10^(-8) btc。礦工費率即指每字節交易體積需消耗的sat。
礦工費率取決於比特幣網絡的擁堵情況。網絡擁堵時,我們可以設置更高費率以使交易更快打包,而當更多人這麼做,礦工費率就被不斷提升。此時(2019.5.28),如果要使交易盡快打包,礦工費率已升至 200 sat/byte。
計算公式
比特幣礦工費= 轉賬交易體積(byte) * 礦工費率(sat/byte)
所以比特幣的礦工費使用 BTC 支付。
說明
- 作為礦工,每一筆挖礦收入就是一個 UTXO。當挖礦收入積累到一定程度需要轉賬時,就會出現由於交易體積過大(UTXO 數量過多)造成礦工費過高的情況。