随着虚拟货币的兴起,比特币出现在人们的生活中,尤其是近几年,比特币新闻可以说是铺天盖地,因此越来越多的人开始关注比特币交易。而比特币手续费问题最受币圈小白关注。
比特币手续费多少钱?
在比特币的底层协议中,没有明确规定比特币交易的手续费具体金额,但要求地址中总输入不小于总输出,也就是你钱包中比特币的总数一定要大于转账数额与手续费数额的和。这一点理解起来很简单,你只有10块钱,而转账10块钱要收1元手续费,也就是说你要支出11块钱,10-11=-1.这笔交易自然是无法完成的。
比特币交易手续费的高低由交易数据的大小和交易次数等因素决定。比特币遵循的是UTXO模型,每笔交易都包含了若干笔交易输入和交易输出。而事实上,每笔未花费交易输出的组成方式都取决于你的交易输入,当你需要将1个比特币转移到另一个地址时,它可能是由你交易输入中的5个0.2比特币组成,也可能是10个0.1比特币组成。
一般一笔普通比特币交易是由一个输入两个输出(交易输出和找零输出)组成,约200字节,如果按每1000字节默认收费0.0001个比特币计算,那么一笔比特币转账手续费大约是0.001-0.002个比特币。但是当单笔输入不够用来支付输出时,就会出现上述的多个交易输入构成未花费输出的问题,这时候它的数据量就会变大。而未花费交易输出的构成越复杂,需要处理的字节就越多,手续费也就相应越高。
现在的比特币钱包在进行转账时能够根据网络数据,智能调节手续费为最佳价格。假如你的交易急需确认,也可以通过自定义费用来提高手续费。
比特币手续费计算方式
比特币网络规则内置交易费用结构,取决于系统推荐的(标准)客户端。 我们拿比特币核心(bitcoin core)打个比方,转账时就需要过如下几道:
筹备你要发送的比特币
客户端负责收集你钱包(Bitcoin-Qt)里的比特币余额为支付做准备,因为你收到的每一笔比特币都存在你的钱包里面直到你花掉它们。
好比, A给B转了2枚比特币;C又给B转了3枚比特币,那么两次转账金额会单独地趴在B的钱包中,直到被花出去。(注意:两笔转账不会“自动合并”为5BTC)。
那么,经过一阵子,钱包中会积累不同金额的比特币,所以才说,得考虑下用哪些做支付。
可用金额叫做交易的“输入”,最终发送金额(包括退回到钱包的找零)称为“输出”。若交易“输出”(包括找零)小于0.01BTC,则收取0.0001BTC的手续费。 “选币”时,算法会尽量避开那些找零金额低于0.01BTC的币。
2.数额越大、币龄(age)越高优先级越高
如果你发送金额太小或者是你的比特币刚开采出来不久,那么你的转账就不再免费之列。每一个交易都会分配一个优先级,这个优先级通过币的新旧程度、交易的字节数和交易的数量。具体来说,对于每一个输入(inputs)来讲,客户端会先将比特币的数量乘以这些币在块中存在的时间(币龄,age),然后将所有的乘积加起来除以此次交易的大小(以字节为单位)。
如果你确实大量的小额输入,又想免费转出,这时候你可以加一个数额大的、币龄大的比特币金额,就会将平均优先级提高,从而可以免费转出比特币。
3.每千字节的收费
每千字节的收费在转账的最后客户端会检测本次转账的大小(以字节为单位),大小一般取决于输入和输出的数额大小,计算公式如下:148 * 输入数额 + 34 * 输出数额 + 10.如果该次转账的大小超过10000字节但是优先级符合免费的标准,那么仍然可以享受免费转账,否则需要支付手续费。没1000字节的费用默认是0.0001BTC,但是你也可以在客户端里进行追加,依次打开选项卡“设置>选项>主要”进行手续费的调整。如果你在设置的手续费小于0.0001BTC按0.0001算。当本条规则适用时将会取代步骤2的规则而不是累加。