转一个比特币什么时候需要掏交易费、掏多少合适?

资讯 6个月前 manoon
0

人们在推广比特币时,常说:“可以免费转账给各种张三立四”。其实也不一定,有时候还是要收费的。

2013 年,一个比特币的价格是 20 美元。2017 年,转移一个比特币将花费 20 美元。

收费的目的是为了激励矿工继续挖矿,维护比特币网络的安全(稳定维护费?)。早期矿工的挖矿底薪相对较高,每个区块50 BTC,但创世区块后每210,000个区块(每四年),底薪减半。挖完 2100 万比特币后,交易费被用作挖矿奖励。

减半算法的代码如下所示

CAmount GetBlockSubsidy(int nHeight, const Consensus::Params&consensusParams)

{

int halvings = nHeight/consensusParams.nSubsidyHalvingInterval;

// 当右移未定义时,强制块奖励为零。

如果(减半 >= 64)

返回0;

CAmount nSubsidy = 50 * COIN;

// 补贴每 210,000 个区块减半,大约每 4 年发生一次。

n补贴 >>= 减半;

返回 nSubsidy;

}

2012年奖励从50比特币减半到25比特币,2016年从25比特币减半到12.5b比特币,2020年左右再减半到6.25比特币。

那么,如何确定支付交易费用的时间和金额合适呢?

比特币网络规则有一个内置的交易费用结构,这取决于系统推荐的(标准)客户端。我们以比特币核心为例,看看转账时需要做哪些步骤:

1.花了什么币?

客户端首先确定使用哪些币来完成支付。

例如,Bob 向 Alice 转账 2 个比特币;Rose 向 Alice 转账了 3 个比特币,所以这两笔转账金额将分别存放在 Alice 的钱包中,直到用完为止。(注:两次转账不会“自动合并”为5BTC)。

然后,过了一段时间,钱包里会积累不同数量的比特币,所以据说你必须考虑使用哪种付款方式

可用金额称为交易的“输入比特币交易手续费多少,最终发送的金额(包括退回钱包的找零)称为“输出”。

2.避免碎片化支付

如果交易“输出”(包括找零)小于0.01BTC,将收取0.0001BTC的手续费。在“选币”时,算法会尽量避开那些找零金额小于0.01BTC的币。

3.老币和大额交易者优先

如果发送的比特币数量太少,或者币龄太低,很可能会被收费。每笔交易都有一个优先级,这取决于输入的交易时间、金额和数量。

具体来说,客户端将每个输入的数量乘以该输入在区块中存在的时间,将所有乘法结果相加,再除以交易字节大小。

如果结果小于0.576,将收取交易费用。因此,如果您有一堆零碎的和/或非常新的“输入”,您可以在不支付手续费的情况下执行此操作,只需在交易中添加一个较大且较旧的输入即可。这里,关键是这个金额 x 年龄的平均值。

如果一笔交易原本是在第 3 步中收费的,但随着时间的推移,新的区块不断产生,那么原交易中的“输入”年龄也会增加,这进一步增加了交易的优先级,因此在第 3 步中产生的费用3 可以放弃。

4.“称重”收费(按千字节收费)

最后,客户端检查事务的字节长度。长度取决于输入和输出的数量,大致可以通过以下公式计算:

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

如果长度小于10000字节,并且在第3步有足够高的优先级,那么交易最终会被确认为免费,否则会被收费。默认费用为0.0001BTC/Kbyte(小于1k按1k计算)。您可以在客户端的相关设置中更改交易手续费金额。低于0.0001BTC 的设置不会生效。新的费用设置生效后,会覆盖步骤2中的费用,两者不会重叠。

让我们来谈谈几个例子:

1. 太晚了

说:Alice 的钱包里有两个“输入”,金额分别是 1BTC 和 2BTC。然后 Alice 想买一杯 2.99999BTC 的咖啡。这个时候就没有选币的事情了,因为只有两个入口,都是用来做咖啡钱的,剩下的0.00001BTC改了。注意第2步提到:如果交易“输出”(包括找零)小于0.01BTC,将收取0.0001BTC的手续费。说明咖啡交易将收取0.0001BTC的手续费。结果是交易会因为 Alice 的余额不足而失败。

这很有趣:Alice 手上有 3 BTC,但她买不到 2.99999BTC 的咖啡。Alice 可以将 3BTC 全部支付给商家以避免手续费(假设步骤 3 中的费用为 0),但有些商家可能会要求支付确切的金额。

2. 人物爆发

说:爱丽丝的角色爆炸了。在一场赔率为64,000的赌博游戏中比特币交易手续费多少,她用0.02BTC拨打了1280 BTC。网站发奖金的时候,我钱包里没有克定客猫的1280 BTC,只能用各种输入(包括找零)来赚钱。

最终,奖池大小为 51,203 字节。所以,如果交易大小超过10000字节,费用增加到0.0005BTC/每千字节(其实早期的交易费用是0.0005,后来变成了0.0001),那么,这里的手续费是52*0.0005 = 0.026BTC。高于玩家的基础。

当然,它仍然比PayPal便宜。

注意:使用Paypal的费用为4.4% + 0.3 USD/每笔交易。

比如转1280刀,1280*4.4% + 0.3 = 56.62刀

注:最终支付的手续费为0.0286BTC,可能是因为没有使用(推荐)标准客户端来创建交易,然后这个客户端在计算手续费上有点问题。

这是一个真实的东西,见:比特币交易 0a05beb2b1ad62d54a40e624d763cd97f10369b8e0527a3046dd2562cef4652c

3. 机构精疲力尽,没钱了

有一种交易踩在free的悬崖边上,大小为9999字节,堪称交易手续费闪避之王。只有一个输入是1 satoshi(satoshi,比特币的最小单位,0.000 000 01 BTC = 1 satoshi,向比特币创始人中本聪致敬);但还有一个大投入推高了 Priority,免收交易费。

我需要支付手续费吗?

简而言之,手续费实际上不是强制性的。一些矿工对这些费用不太在意,在区块中记录了一些没有手续费的交易。使用标准客户端的“原始交易”接口可以创建比标准费用更低的交易,并且仍然有可能出现字符爆炸被矿工打包成区块的情况。

版权声明:manoon 发表于 2021-11-17 20:56:58。
转载请注明:转一个比特币什么时候需要掏交易费、掏多少合适? | 198区块链导航

暂无评论

暂无评论...