当比特币区块已满会发生什么?每个字节都会引发实时手续费拍卖

当比特币的网络流量变得繁忙时,一个完整区块并不会阻止网络运行;它会把下一个可用空间变成一场实时拍卖,而紧迫感的代价就是价格。

要点

  • 比特币区块的重量上限为 400 万 weight units,这迫使更低手续费的支付必须等待。
  • Bitcoin Core 31.0 在节点的 300 MB mempool 填满时,可以驱逐较弱的交易包。
  • 当拥堵持续时,比特币用户有 3 条提高手续费路径:RBF、CPFP 以及挖矿加速器。

线在区块出现前就已经排好

把高峰时段拥挤的地铁站想象成一个场景。每个新乘客都有一张有效车票,但到站的列车容量有限。在比特币上,交易会先进入节点的 mempool,这是一个用于暂时存放有效付款、但尚未确认的临时区域。关键的细节是:并没有一个单一、通用的 mempool。每个节点都有自己的版本,应用自己的本地策略,并可能看到略有不同的一批待处理交易。

mempool.space unconfirmed transfer count.截至周一美国东部时间上午 8 点,比特币大约有 90,617 笔未确认转账在 mempool 中等待。图片来源:Mempool.space 满区块和满 mempool 也是不同的事件。比特币区块在共识层面受限于 400 万 weight units,这种衡量会考虑交易数据的结构方式。比特币核心节点默认为其本地 mempool 允许大约 300 MB 的内存,并且可能会保留交易长达 336 小时。即使仍有大量交易处于内存中、等待下一班列车,区块也依然可能被填满。

一个满区块把等待变成拍卖

矿工通常不会按交易年龄来选择交易。他们会围绕手续费、交易重量以及付款之间的依赖关系来构建区块模板。用户看到的实际计价单位是聪/虚拟字节,也就是 sat/vB。更高的费率能让矿工在相同稀缺的区块空间中获得更多收入,因此最强的手续费交易包往往最先移动。

这意味着,先发出的支付可能会在几分钟后才发出的支付之后仍能更快被确认。高手续费交易可能在全网范围内扩散,并进入矿工下一轮区块模板。低手续费交易可能会一直停留在截断线下,即使跨过了好几个区块。确认预估能提供帮助,但它们不是承诺,因为新的交易会持续到达,而区块本身也会以不规则的间隔出现。

当足够多的待处理交易争夺每一个区块时,mempool 就不再像一个有礼貌的队列,而更像机场升级候补名单。新的、出价更高的乘客可以取代更弱的竞价。如果某个 Bitcoin Core 节点触及其配置的内存上限,它会裁掉在经济上最弱的已连接交易组,并抬高一个滚动的本地手续费下限。被驱逐的交易并不会无效,区块链也不会取消它。该节点只是停止携带它。

拥堵蔓延到钱包

对普通用户而言,首要后果是延迟。一个钱包可能会说某笔支付在数小时内处于待确认状态,而更新的交易却已经被确认。对交易员、交易所或金库桌面而言,这种延迟可能会推迟交易所入金、减慢抵押品的移动、打断套利转账,或在快速行情中让资金无法使用。

因为费用主要与交易重量相关,而不是转账金额的大小,所以当交易结构可比时,一笔 50 美元的支付和一笔价值 5,000,000 美元的转账可能会在类似条件下竞争。转账越需要时效,欠付造成的成本就可能越高。

Mempool blocks via mempool.spaceMempool.space 上的绿色区块代表一组未确认的比特币交易,它们正在 mempool 中等待由矿工选择。每个区块都会估计哪些交易可能会适配到未来某个区块中,依据是它们的手续费率,手续费率以聪/虚拟字节(sat/vB)计量。矿工通常会优先处理手续费最高的交易,因为这能最大化区块收入。由于新区块大约每 10 分钟挖出一次,交易会从 mempool 中移除,而新广播的交易会不断地把 mempool 填满,从而形成一个持续变化的队列。 第二个后果是更高的手续费市场。比特币没有像以太坊那样的协议层基础费用。相反,用户会与矿工能装进下一个区块的边际手续费率竞争,同时每个节点也会维护一个本地准入门槛。在压力之下,这个动态门槛可能会远高于软件的基础中继设置。昨天显示的费用,甚至是 20 分钟前显示的费用,可能已经买不到同样快的确认速度。

第三个后果是结算前的不确定性。在区块浏览器中看到一笔交易,只能证明某些节点知道它,并不等同于证明所有矿工都知道。未确认的支付可能会在保持“仍然是有效可花费”的前提下,被替换、被驱逐,或者在某个节点的视图中消失。释放货物、记入账户,或在零确认时把押金视作最终的企业,正在承担一种风险:拥堵会让更多情况变得更显眼。

几种让卡住支付“救回来”的方式

比特币本身给了用户两种主要方式来给延迟支付重新定价。替换手续费(Replace-by-fee,RBF)允许支出方用一笔支付更高手续费的交易来替换一笔尚未确认的交易。把它想成是撤销一个低价竞标,然后用同一座席位提交更强的竞价。子支付给父交易(Child-pays-for-parent,CPFP)走的是另一条路:把那笔延迟交易中可花费的输出用于一笔新的高手续费子交易,从而给矿工一个激励,让他们把父交易和子交易一起打包包含。

这两种工具都不是魔法。RBF 的替换必须满足节点策略,并且要支付足够的费用,才能同时击败被替换的那笔交易以及当前市场。CPFP 的子交易必须把整个交易包的综合费率抬高,而不仅仅是让它自身看起来“很贵”。在急剧上升的市场中,一个幅度不大的上调仍可能让这笔支付落到移动的截断线下。真正的目标并不是最低中继手续费。目标是下一笔最可能区块尾部附近的费率。

ViaBTC's transfer acceleratorViaBTC 的转账加速器每小时提供 20 次免费推送。 在这两种选项之外,挖矿加速器是一些比特币挖矿矿池提供的服务:当一笔交易在 mempool 中因低手续费卡住时,允许用户提交该交易以获得优先考虑。加速器并不会改变比特币的共识规则,它只是让参与的矿工把这笔交易包含进他们挖出的下一批区块中的某一个。一些加速器是免费的,但有资格要求;另一些会收取费用,或要求交易达到最低手续费率。

Core 31.0 改变的是机制,而不是上限

Bitcoin Core 31.0 会改变该竞赛背后的部分机制。它的聚合 mempool 会把已连接的未确认交易分组,并按预期会被挖出的那一组所对应的手续费率对这些分组进行排序。默认的聚合限制是 64 笔交易以及 101 kB 的虚拟大小。该设计旨在提升区块构建、驱逐、交易中继与替换决策的效果,同时不改变比特币 400 万 weight units 的共识上限。

Bitcoin Core 的聚合 mempool 概念示意图。 其他工程工作试图降低在网络中传输完整区块的成本。紧凑区块中继允许节点基于它已经持有的交易,重建一个新区块的大部分内容,从而减少传播所需的数据量和时间。这一点很重要,因为传播更慢会增加两个矿工短暂地基于不同链尖各自构建区块的风险。更多区块容量可能会降低短期手续费压力,但也可能增加带宽、验证以及传播方面的需求。

一个实用的经验很简单:当某个比特币区块是满的时,没有任何东西会被“打坏”,也不会有任何交易因等待而获得“优先权”。矿工会确认最具经济吸引力、并能放进区块的有效交易包;更便宜的支付仍会保持待确认状态,随后会被重新定价,或者失去中继覆盖范围。对投资者和企业而言,手续费并不是邮票大小的费用。它是在为稀缺的结算空间出价。把确认时间视为一个概率,并在日常延迟尚未演变成昂贵的运营问题之前,先观察当前的手续费状况。

Hero/Feature 图片来源:mempool.space

查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 评论
  • 转发
  • 分享
评论
请输入评论内容
请输入评论内容
暂无评论
  • 置顶