比特币转账需要付手续费吗?

时间:2024-06-26 13:26:04

为了在网络安全方面给比特币矿工一种补偿,大多数交易都包括交易费。大多数钱包都会自动计算并计入交易费,但如果编程构造交易,或者使用命令行接口,就要手动计算并计入这些费用。

交易费可以看作是一笔交易到下一个区块中的一种鼓励,也可以看作是对于欺诈交易和系统滥用的一种有效防御。一旦交易费被挖出该区块的矿工得到,就会被记录在这个交易的区块链中。

基于交易的尺寸,交易费通常都是用千字节来计算,而不是用比特币价值。也就是说,交易费是基于市场设置的,在比特币网络中发挥效用。矿工要依据许多标准,按重要性对交易进行排序,不仅包括费用,甚至还可能在某种特定情况下免费处理交易。

交易费影响处理优先级,只有费用足够的交易,才可能被包含在下一个挖出的区块中;交易费不足或没有交易费的交易,则可能被推迟,基于尽力而为的原则在几个区块后被处理,甚至可能根本不被处理。交易费不是强制的,没有交易费的交易也许最终会被处理,但包括交易费能够提高处理的优先级。

比特币转账需要付手续费吗?

随着时间的不断流逝,交易费的计算方式和在交易优先级上的影响一直都在发展。开始的时候,交易费是网络中的一个固定常数。为了便于被市场基于网络容量和交易量而强制影响,渐渐地,交易费的结构就被放宽了。目前,最小的交易费被固定在每千字节0.0001比特币,或每千字节万分之一比特币,最近一次改变是从千分之一比特币减少到这个数值。大多数交易少于1000字节,但包括多个输入和输出的交易尺寸可能更大。在未来的比特币协议修订版中,钱包应用大概会使用统计学分析,即基于最近的几笔交易平均费用,计算出最恰当的费用并附在交易上。

比特币系统的一系列网络规则中包含手续费规则,这一系列规则也就是“客户端要做什么”。当用户使用比特币客户端发送比特币的时候,整个过程大致如下:

客户端主要负责收集用户钱包里的比特币余额,因为用户收到的每一笔比特币都存在用户的钱包里,直到花掉它们。如果输出小于0.01比特币(包括用户钱包内部的资金变动),就要支付0.0001的手续费,即使是自己转给自己。钱包在为用户准备支付金额时有一个既定规则,就是在众多输入中筹备支付金额时,尽量不要产生小于0.01BTC的金额变动。比如,要支付5.005比特币,钱包要尽可能选择3+2.005或者1+1+3.005,而不是5+0.005。

数额越大、币龄越高,优先级就越高。如果发送金额太小或者比特币刚开采出来不久,那么用户的转账就不在免费之列。每一个交易都会分配一个优先级,这个优先级通过币的新旧程度、交易的字节数和交易的数量来确定。具体来说,对于每一个输入来讲,客户端会先将比特币的数量乘以这些币在块中存在的时间,然后将所有的乘积加起来除以此次交易的大小(以字节为单位)。

每千字节的收费,在转账的最后客户端,都会检测本次转账的大小,其大小一般取决于输入和输出数额的大小。如果该次转账超过了10000字节但优先级符合免费标准,那么依然可以享受免费转账,否则需要支付手续费;每1000字节的费用默认是0.0001比特币,也可以在客户端进行追加,操作方法为:依次选择“设置→选项→主要”选项进行手续费调整;如果设置的手续费小于0.0001比特币,则按0.0001计算。