主页 > 比特派钱包和imtoken哪个安全 > 比特币交易手续费规则详解

比特币交易手续费规则详解

人们在推广比特币时,经常会提到:“你可以免费给地球上任何人转账比特币手续费,支付宝要跪了”。 当然,在某些情况下确实如此,但有时需要支付手续费。 当你要付手续费的时候,基本上不到一分钱。 这笔费用用于维护比特币网络的安全。 矿工本来可以拿到每挖出一个区块25个比特币的基本工资,但是比特币规则每四年就要剥夺他们一半的工资,最后到了什么都得不到的地步,只能支付矿工交易费。 那么什么情况下需要交手续费,交多少呢? 一切方法回归本源,比特币的服务费规则也纳入比特币的网络规则,依赖于标准客户端(reference client)的行为。 当您尝试通过 bitcoin-qt(当前的标准客户端)转账时,它会经历以下步骤:

1. 选择要支付的比特币。 客户首先需要选择您拥有的一部分比特币来完成支付。 每次您接受某人的付款时,交易都会记录在钱包中,直到您再次消费为止。 假设你收到了两笔 2BTC 和 3BTC 的款项比特币手续费,这两笔余额将分别存放在你的钱包中,不会“合并”为一笔 5BTC。 一段时间后,你的钱包积累了不同数量的比特币。 当您要付款时,客户需要决定最合适的金额。 这些可用金额称为交易的“输入”,最终发送的金额(包括可能退回您钱包的零钱)称为“输出”。

比特币价值比特币最新_手机上比特币怎样充值_比特币手续费

2. 不鼓励零碎付款。 如果交易(包括找8btc.com)的“输出”小于0.01BTC,那么将收取0.0001BTC的手续费。 “选币算法”会尽量避免零钱低于0.01BTC。

比特币手续费_比特币价值比特币最新_手机上比特币怎样充值

3、优先支付历史悠久、金额大的比特币。 如果你要支付的比特币数量太少,或者你拿到的时间比较近,那么交易难免会被扣费。 每笔交易都被赋予一个优先级,这个优先级由历史时间、金额和“输入”的数量决定。 具体来说,对于每个“输入”,客户端将其数量乘以它在块中存在的时间,最后将其相加并除以交易的字节长度。 如果结果小于 0.576,交易将被收取费用。 这意味着您可以在交易中获取大量小的和/或最近的“输入”,并且仍然避免被收费——只需附加一个较旧的“输入”。 关键是数量乘以历史时间平均值。 如果某笔交易最初在步骤3中确定是收费的,但是有可能随着时间的推移,不断产生新的区块,而这笔交易原来“输入”的历史时间也会增加,这将增加交易的优先级,因此可能免除第3步产生的费用。

比特币价值比特币最新_手机上比特币怎样充值_比特币手续费

4.“称重”收费(每千字节收费) 客户端在交易结束时检查字节长度。 该长度取决于输入和输出的数量,可以通过以下公式估算:

比特币价值比特币最新_手机上比特币怎样充值_比特币手续费

148 * 输入数 + 34 * 输出数 + 10

比特币价值比特币最新_手机上比特币怎样充值_比特币手续费

如果这个长度小于 10,000 字节,并且在第 3 步中有足够高的优先级,那么交易最终被确认为免费,否则需要支付费用。 按千字节收费(不足1k按1k计算)。 单位费用默认为0.0001BTC,您也可以在客户端“设置-选项-主”选项卡中增加此费用-低于0.0001BTC的设置不会生效。 如果您在此处设置任何成本,它将覆盖第 2 步的成本,而不是叠加。

以上所有规则都可以在标准客户端的源代码中找到。 请参阅 src/main.cpp 中的 CTransaction::GetMinFee()、src/main.h 中的 AllowFree() 和 src/wallet.cpp 中的 CWallet:CreateTransaction()。

译者捐赠地址:1NFG7qaWBjsAKZJnWHqrm8cGLmEXNfDCxX