1,6 BTC的失误:用户支付了超过10万美元的手续费,却始终未能完成转账
比特币区块链上发生了一起令人震惊的事件:一位钱包持有者为一笔交易支付了1.6 BTC(约102,778美元)的手续费,而这笔交易最终并未送达收款人。该事件发生于8月12日,区块高度为962,142。
数据分析显示,该交易的输入为160,343,885聪,全部金额都流向了矿工。输出为空——没有任何聪到达收款地址。这不仅仅是技术故障,而是自动化手续费管理工具运行中的系统性错误。
手续费为何失控
用户运行了一个带有Replace-by-Fee(RBF)功能的脚本,该功能允许将未确认的交易替换为一笔手续费更高的新交易,以加速在内存池中的处理。当网络拥堵、费用急剧上升时,这一机制非常有用。然而,这次脚本出现了故障:它没有在合理水平停止,而是每秒不断增加手续费,几乎吞噬了整个余额。
最终,手续费吞噬了输入的全部金额。比特币协议不限制发送者可以设定的手续费上限,因此矿工毫不犹豫地接受了这笔交易。该区块由SpiderPool矿池挖出,并拿走了所有聪。该区块的总手续费约为1.82 BTC,其中88%来自这一笔错误的交易。对于利润已连续数月下滑的矿工来说,这份礼物简直是天降好运。
防止手续费失控的三条规则
这一事件鲜明地提醒了我们使用加密货币时的基本安全原则。首先,关闭通过RBF自动提高手续费的功能。在发送到网络之前手动确认每次更改,是唯一可靠的屏障。
其次,设置严格的手续费上限。现代钱包允许以每字节聪为单位设定限额,这足以阻止错误脚本的运行。第三,始终进行测试转账。几千聪就能验证机器人是否正常工作,尤其是在软件更新之后。
钱包中的自动化需要像保管助记词一样细致的管控。失控的脚本会比任何黑客更快地清空账户。比特币当时交易价格接近63,770美元,而这次错误造成了超过100,000美元的损失——这是一笔巨大的损失,而目标地址却一分钱都没收到。
我的评论:这一事件提出了一个重要问题——钱包是否应允许在单笔交易中将全部资金用于手续费。在开发者实施强制性限额之前,用户只能依靠自身的警惕性和测试。加密货币市场教会我们:即使是再好的工具,如果没有正确配置,也可能成为陷阱。