主页 > imtoken体验版 > 为什么比特币交易费用如此之高?

为什么比特币交易费用如此之高?

imtoken体验版 2023-04-05 06:53:46

币圈的人一提到比特币,就会说比特币交易手续费便宜,交易速度快,比支付宝好用多了。

但情况可能并非如此!如今,一笔交易的手续费往往要几十元。如果交易费用较少,则可能需要几个小时才能收到。

那么比特币交易费用究竟是如何计算的呢?我怎样才能避免支付更少的费用?

比特币的 UTXO 记账系统

要了解比特币交易手续费的秘密,首先要了解比特币的记账系统,即UTXO,即Unspent Transaction Output的缩写,中文翻译为“未使用的交易输出”。现在看不懂也没关系,后面我会解释。

目前银行、支付宝、证券交易等都是【基于账户的】记账系统,而不是比特币采用的UTXO系统。

假设A想通过银行向B支付100元。在现有的账户体系下比特币交易手续费太高,流程如下:

检查A的账户余额是否有100元,如果余额不足100元则终止交易

从A的账户中扣除100元(假设手续费为零)

B的账户加100元

火币比特币交易手续费_比特币交易手续费太高_如果国内比特币交易网站销户了,那以后怎么交易

比特币的UTXO并没有使用上述的账户体系,而是描述了一个比特币从诞生到多次交易的经历。

我们一起假设一个场景,张三是一名矿工,他通过挖矿得到了 12.5BTC,几天后,他将 2BTC 给了李四,几天后,他和李四凑齐了钱还给了王舞,张三给了3个BTC,李斯给了2个BTC。

如果是基于账户体系的,那么流程是这样的:

对于基于比特币的 UTXO,那么流程应该是这样的:

你看得到差别吗?

一笔又一笔的交易记录在比特币分类账中。

每笔交易有多个交易输入,即资金来源,也有多个交易输出,即资金去向。未使用的交易输出反映在地址上的比特币中。

如果国内比特币交易网站销户了,那以后怎么交易_火币比特币交易手续费_比特币交易手续费太高

在01号交易中,输入为12.5BTC挖矿获得,输出发送到张三的地址。由于这个输出没有花费,所以张三的地址有 12.5BTC 。

理解这个概念的最好方法是查看区块链浏览器。在区块链浏览器中,我们可以查看某笔交易的所有交易输入和交易输出。btc.com 是一个很好的区块链浏览器,在这里推荐它。

左边是交易的来源,右边是交易的去向。一笔交易的输出成为下一笔交易的输入。

了解了比特币UTXO之后,我们终于可以进入手续费的部分了。

当您使用比特币客户端发送比特币时,整个过程大致分为以下几个步骤:

第 1 步:比特币客户端选择适当的未使用输出

如前所述,交易最终会留下多个未使用的输出,并且这些未使用的输出不会合并!!例如,如果您收到两笔付款,2BTC 和 3BTC,这两个未使用的输出分别存储在钱包中,不会合并为 5BTC。

当你想用比特币给某人付款时,比特币客户端会选择合适的未花费输出发送出去,成为下一笔交易的输入。下面这张图可谓是这个过程的生动示范。建议点击大图进行研究。

比特币交易手续费太高_如果国内比特币交易网站销户了,那以后怎么交易_火币比特币交易手续费

第 2 步:阻止分散支付的比特币系统

比特币目前的算法不鼓励碎片支付,因为大量的碎片支付会使交易数据变大,导致整个系统的交易变慢。Satoshi Nakamoto 将区块更改为 1M,因为当时有人恶意发送了大量零碎付款,使其变得更大。所有用户的客户数据。如果交易的“输出”小于0.01BTC,则收取0.0001BTC的手续费。钱包在准备你的支付金额时有一个既定的规则,即在许多输入中准备支付金额时,尽量避免小于0.01BTC的金额有任何变化(例如,如果你要支付< @5.005BTC,钱包应该选择 3+2.005 或 1+1+3.005 而不是 5+0.

第三步:金额越高,币龄越老,优先级越高

每笔交易都会有一个优先级,而一笔交易是否需要支付费用取决于以下优先级值的大小(只是一个简单的模型,实际情况更复杂):

如果 X 的值小于 0.576,则交易将被收取费用。

你找到了吗?有一种情况是肯定要收费的,就是支付的金额很小,而且是由多个松散的钱组成。距离你拿到这些零花钱的时间还很近。交易将不可避免地被收取费用。

反之,如果交易的输入量大且耗时,则可以避免被收费。

火币比特币交易手续费_比特币交易手续费太高_如果国内比特币交易网站销户了,那以后怎么交易

第 4 步:“称重”收费

交易以一串数字数据的形式出现,内容越多的数据占用磁盘空间越多,传输需要的网络带宽也越大。因此,交易的输入项越复杂,数据量越大,需要支付的手续费也就越多。

比如我想给别人发66元的比特币,用网上钱包发比特币,结果发现每次发66元的比特币比特币交易手续费太高,都要收50元左右的手续费,然后我就去了到区。看区块链浏览器,发现网上钱包使用了零散的零花钱,导致我的交易数据量增加,交易费用增加。当然,也有可能是钱包扩展了交易数据,让我的交易能尽快被矿工打包。因为矿工会选择那些交易费用高的交易进行打包,而交易费用的高低并不取决于交易的金额,而是交易本身的数据量。

如果一笔交易没有获得第三点中提到的优先级,那么必须收取交易费!您支付的金额将由您的交易规模“权衡”。

称重公式为:

尺寸=148*输入数量+34*输出数量+10

费用按千字节收费(小于1k按1k计算),每千字节费用为0.0001BTC。

典型的交易有 2 个输出:一个用于收款人,一个用于系统更改。

如果国内比特币交易网站销户了,那以后怎么交易_火币比特币交易手续费_比特币交易手续费太高

根据上面的称重公式,要支付0.0001BTC,最大输入数量只能是6,如果输入数量是7,交易费将翻倍至0.0002BTC!

这就解释了为什么钱包里有3BTC,却不能支付给别人2.999BTC。假设你的钱包里只有 3BTC,而 3BTC 分别来自 1BTC 和 2BTC 两个输入。因为这个交易会产生0.001BTC的找零输出,这个输出低于0.01BTC,所以会收取0.0001BTC的手续费,但是你的找零没有找零钱包 支付过多的手续费,会导致支付失败。

神奇的是,如果你付给商家3BTC(土豪,主动加价),就可以免去手续费!(假设这笔交易有优先权)

那么我如何估算我的一笔交易的费用呢?

前面说过,一笔交易费用取决于交易所占用的数据量,所以如果我们知道数据量,就可以知道交易费用!但遗憾的是,大多数钱包不会告诉你这些信息,你只能估计当前交易的平均数据大小。在 bitcoinfees.21.co/ 中我们可以发现当前交易的平均数据大小为 226 字节。该网站建议每字节收取 270 satoshis 的费用,因此每笔交易的估计交易费用 = 226*270=61010 satoshis。但是,网站给出的建议费用通常偏高。如果想知道实际出价,可以在区块链浏览器中点击最新区块,查看该区块的交易手续费出价,可以看到有人出价。这是 400 聪/字节,有人出价 1 聪/字节。

参考:

“其实没有比特币,只有UTXO”

“解释比特币费用”

“理解比特币交易免费”

“比特币是如何释放的以及为什么它们如此之高”