主页 > imtoken钱包最新下载 > 建立更好的比特币费用市场

建立更好的比特币费用市场

imtoken钱包最新下载 2023-05-19 07:34:03

bitcoin-fee-market-header

在过去的一年里,我们看到比特币的手续费市场发展迅速。 由于交易量的不断增长,比特币交易对区块空间的需求也越来越大。 目前,它的交易供应限制仍然是平均每 10 分钟提供 1 兆字节 (MB),本文将重点介绍比特币交易费用的历史和现状。

事实上,区块空间竞争激烈的压力已经降低了用户体验,从而迫使比特币钱包做出调整,以确保他们的用户可以立即确认他们的交易。

然而,我们距离运行最佳费用市场还有很长的路要走。

交易费用的历史

最初几年,比特币的交易手续费是可有可无的,被认为是送给矿工的礼物。

p1

图:比特币核心费用设置

对于每笔交易,钱包支付相同的费用,默认费用由钱包的开发者设置。

由于比特币汇率上涨,Bitcoin Core 的违约费在过去几年中发生了数次变化BTc比特币网站交易收费标准,从 0.01 BTC 到 0.0005 BTC,再到 0.0001 BTC。 此外,还有一些“优先交易”允许用户在不支付费用的情况下发送交易,比如他们的输入(input)足够长,金额足够高,虽然矿工已经逐渐废除了这个规则。

在过去的几年里,我们了解到硬编码的静态交易费用可能令人恐惧,原因有以下几个:

从矿工的角度来看,他们只有 1 MB 的区块空间,但他们希望插入尽可能多的交易,以便收取更多的费用。 例如,一笔 200 字节的交易,手续费为 0.0001 BTC,其优先级高于一笔 1000 字节的交易,手续费为 0.0001 BTC,因为对于相同的空间,前者可以收取 5 倍于后者的费用. 倍。 从用户的角度来看,如果你总是设置一个静态的费用,你最终可能会创建一个数据量很大的交易(因为花费了太多的低价值输入),并且以非常低的费用率交易,他们可能永远不会被证实。 静态费用钱包无法适应快速变化的市场条件,导致用户在广播交易时多付或少付费率。 前者不会使交易确认更快,而后者导致确认时间较长,因为矿工更喜欢更有利可图的交易。

2010 年 11 月发布的比特币客户端 0.3.15 版包含一项更改,开始根据交易数据量计算费用,但并非每个钱包都效仿,许多用户继续盲目地将每笔交易设置为同样的费用。 一开始,这不是问题,但当比特币区块空间开始变得拥挤时,情况发生了变化,因为矿工将确认任何成功传达给他们的有效交易。

自 2015 年以来,比特币区块变得越来越拥挤,显然最好的办法是使用动态算法费用,因为它可以响应网络上的不断变化。

Bitcoin Core 在 0.10 客户端发布后(2015 年 2 月)开始使用动态费用,Alex Morcos 从那时起一直在稳步改进动态费用算法。 Core客户端的成本估算算法比较复杂,可以在这里查看它的代码和英文说明。

费用市场的兴起

p2sh.info 的开发者 Antoine Le Calvez 提供了动态和静态比特币交易费用的历史分析。

以下是过去两年的分析结果:

p2

去年秋天,随着网络经历压力测试和攻击,我们可以看到动态费用的使用突飞猛进。

不过,我怀疑这不是普通用户转用动态费用钱包造成的,而是攻击者自己故意将交易费用设置得比大多数静态费用高。

在攻击过程中,一些更聪明的用户调整了自己的硬编码费用,但这些交易只占整体交易的一小部分。 我们还可以看到 2016 年 3 月动态费用的使用再次跃升,这很可能是因为 Blockchain 的新钱包在一个月前实施了动态费用功能。

Rusty Russell 在 2015 年 10 月对动态费用市场做了一个很好的分析,他的研究表明更多的交易正在使用动态计算的费用,并且每笔交易的平均价值正在增加,因为那些小额支付正在脱离区块链(即关闭-链)。

p3

AJ Towns 在 Rusty 的博文之后进行了更深入的探讨,确定了比特币历史上八个不同的费用市场阶段:

p4

Towns 在第二篇博文中继续发表了他的发现,就新兴收费市场对用户的影响得出了几个结论。

他们分别是:

大量钱包使用动态计算费用,按字节计算费用。 许多钱包仍然不动态计算费用,甚至不按字节计算费用。 随着动态费用钱包采用率的增长,市场驱动的费用将进一步增长。 支付过高的市场利率不会让您的交易更快得到确认。 因动态收费已发生两起钱包事件,第三起收费事件即将发生。 自动计算费用的钱包将支付比不自动计算费用的钱包低得多的费用。

我一直在通过 Statoshi 跟踪 Bitcoin Core 的费用估算,你可以在下面看到,随着对区块空间的争夺持续增长,交易费用在过去六个月中增加了两倍。

p5

Calvez 还提供了所有公开可用的费用估算 API 及其历史估算数据的仪表板:

p6

有趣的是,似乎 21、BitGo 和 Blocktrail 的费用估算对不断变化的市场条件最敏感,而 BitPay、Blockchain 和 BlockCypher 提供的费用估算波动较小。

但是,如果我在没有指出所涉及的危险的情况下推荐广泛使用动态计算成本,那将是我的失职。

俗话说,每一个解决方案都会产生新的问题,动态交易费用也不例外。

动态难度

动态成本估算永远不会完美,因为它是一种预测未来的尝试。

丹麦物理学家尼尔斯·玻尔曾打趣道:“预测是非常困难的,尤其是关于未来”。 如果动态费用估算器无法正确预测市场费用的未来状态,用户可能会陷入“费用陷阱”,正如 OpenBazaar 的 Washington Sanchez 博士指出的那样。

如果你广播一笔手续费恰好符合当前市场行情的交易,就会出现上述手续费陷阱现象。 之后很多其他交易手续费高的交易会被其他用户广播,导致你的交易被释放。 到矿工优先级队列的后面。 问题是,因为没有 Replace By Fee,您无法更新您的“出价”以满足新的市场条件。

费用估算算法中的漏洞也可能导致费用市场中断。 例如,最近有人错误地创建了一笔交易费用高达300BTC的交易。 这对不幸的用户来说是不利的,他们可能会因为一些编码不佳的软件而将“费用”与“交易价值”混淆,但它也会产生连锁反应:

Snip20160509_9

这只是一个猜测,但现在看来,BlockCypher“1 to 2 block target”使用的费用估算算法是基于过去两天区块的加权移动平均费用。 结果,当处理 300BTC 费用时,最近的平均费用及其估计峰值飙升了 800%。

这并不意味着我在攻击 BlockCypher,我们已经看到很多钱包都存在交易费用问题。 甚至 Bitcoin Core 也不能幸免,最近,我观察到 Bitcoin Core 0.12.0 客户端的费用预估意外飙升:

p7

我注意到 2 月 27 日,Statoshi.info 的“双块目标”费用估算从每字节 44 聪激增至每字节 112 聪,原因不明。 然而,我的其他比特币节点没有报告相同的峰值。

有些担心

虽然比特币开发者面临着许多挑战,但我们也应该认识到整个费用市场的影响。

我担心几种可能会比需要更快地提高费用比率的潜在情况:

编码不当的动态费用算法可以创建一个反馈循环,随着交易继续涌入网络而对内存池积压没有响应,可能导致费率无限上升。 如果大多数交易是由知道费用变化并决定是否对其做出反应的人手动发起的,那么这就不是一个大问题。 然而,如果许多交易是在没有任何人为决策的情况下自动生成的,并且这些交易是由算法创建的,而没有对费用支付进行任何合理性检查,那么市场可能会失控,直到编写这些算法的工程师意识到这个问题并进行修改修复,问题得到控制。 沮丧的用户(或懒惰的开发人员)仍然会依赖硬编码费用,并且可能会不断手动更新他们的钱包设置,直到他们的交易开始确认,这可能会导致费用支付显着增加,但最终会迫使其他静态费用用户也这样做他们可以保持竞争力。 动态收费用户因此被迫向上拉。 我已经看到这种情况发生了,但还没有严重影响动态费用。

尽管有可能影响费用市场,但最近的一项发展并未引起太多关注,这是二级矿工费用市场。

这可能需要特殊的客户奖励方案,例如 BTCC 的 BlockPriority(块优先级)服务,或者可能采取私人预付费块空间购买的形式。

引用 BTCC 的新闻稿:

“BlockPriority 优先考虑所有 BTCC 客户交易,包括“0”费用交易。”

这不应归结为比特币核心费用估算算法的问题,但从经济角度来看,矿池出售预付费区块空间合约可能是有意义的,因为它为他们提供了新的可预测收入流。

然而,我对矿池的警告是:如果它成为你挖矿交易的重要组成部分,你将无法隐藏该活动。 有很多钱包工程师检测到这种行为(比如我),如果出现问题,我们会公开交易。 我的猜测是,如果个别矿工发现该矿池在不分享私有区块空间合约的利润的情况下开采了较低费用的交易,那么参与此类行为的矿池就不会那么幸运了。

这可能会导致哈希率持有者将他们的哈希率转移到他们认为更有利可图的矿池。

隔离见证也可能对费用市场产生影响。 它将提供 75% 的费用折扣,以试图重新平衡创建和使用未花费交易输出 (UTXO) 的成本。

向前移动

仍然有许多钱包和比特币服务没有实施动态费用。 您知道自己属于哪一类,您的不作为可能会给您的某些用户带来糟糕的体验。 如果您还没有实施动态费用BTc比特币网站交易收费标准,那么您广播的每笔交易都将属于以下两类之一:

你在浪费钱,但你无法更快地确认交易。 您支付的费用太少,您的交易就会卡住,从而导致糟糕的用户体验。

以硬编码的费用广播交易以迎合当前市场条件的可能性极小。

钱包开发者应该添加安全机制,例如微观层面的检查阈值,以及宏观层面的断路器,以防止用户踢脚。

钱包设置的最低费用门槛应高于最低中继费用。 今天,通过查看进入一个区块的最低费用交易,我们可以清楚地看到,如果你每字节支付的费用低于 5 聪,你将等待很长时间。

p8

在这里,我鼓励所有比特币钱包通过公共 API 来提供他们的费用估算。 我认为费用估算算法本身将成为争论的焦点,通常它们是封闭源代码的,但如果它们是公开的,那么我们可以更容易地观察到异常活动。 也许有人甚至会创建一个“比特币平均”费用估算聚合器。

当我们都在谈论交易费用时,比特币用户应该停止说他们在交易费用中支付了“X 美分”或“Y 比特(比特币单位)”,因为这种说法并没有谈论交易的规模,这是一种荒谬的说法。 我们应该使用规范费率来讨论这个问题,最好是每字节 satoshi。 显然,“每字节 20 聪”比“每千字节 20,000 聪”更容易编写和遵循。

到目前为止,比特币手续费市场一路坎坷。

起初,它的费用是由开发者手动设置,然后演变为由用户手动设置,现在我们处于一个更加混乱和潜在危险的时刻,开发者在这个新兴市场的经济转向中,发挥了更积极的作用.