自动化故障:比特币用户在一次转账中损失超过102,000美元手续费
比特币网络上发生了一起引人注目的事件:一位钱包持有者试图通过自动化脚本加速交易,却不慎设置了1.6 BTC的手续费,当时价值约102,778美元。资金被完全扣除,但收款方却连一个聪(satoshi)都没有收到。
根据区块链数据,这笔交易于8月12日在区块962,142中被确认。输入金额为160,343,885聪,所有这些资金都流向了矿工。而输出则为空——收款人没有看到任何一枚硬币。
问题根源:盲目的自动化
该用户使用了Replace-by-Fee(RBF)功能,该功能允许用一笔手续费更高的新交易替换未确认的交易。这是在内存池拥堵时期加速转账的标准工具,因为此时费用可能急剧飙升,而支付可能会滞留数小时。
然而,这次脚本出现了故障。机器人没有停在合理水平,而是每秒都在提高手续费。每生成一个新版本,它就从余额中“吞噬”更多资金。最终,手续费吞噬了输入的全部金额,而该区块以零输出被挖出。
比特币协议不限制发送方愿意支付给矿工的手续费金额。因此,挖出该区块的SpiderPool矿池获得了所有聪。该区块的总手续费约为1.82 BTC,其中88%来自这一笔错误交易。对矿工来说,这简直是天上掉馅饼,尤其是在他们近几个月收入下滑的背景下。
防止失控手续费的三大规则
这一事件鲜明地提醒了加密货币操作中的基本安全原则。首先,通过RBF自动提高手续费的功能应关闭或改为手动模式。每次更改在发送到网络前都必须经过检查。
其次,必须设置严格的手续费上限。现代钱包允许指定每字节的最大聪数——这个限制足以立即阻止故障脚本。
第三,始终进行测试转账。几千聪就能显示机器人更新后是否正常工作。对于批量转账比特币的人来说,每次软件更新后进行测试交易应成为铁律。
钱包中的自动化需要与保管助记词同等程度的关注。一个盲目的脚本可能比任何黑客更快地清空账户。尽管比特币交易价格接近63,770美元,但这次错误造成了超过102,000美元的损失——这是一笔巨大的损失,而目标地址却连一分钱都没收到。
这一事件再次引发了一个问题:钱包是否应该允许在一笔交易中将所有资金用于手续费?矿工们不太可能介意,但对用户来说,这种结果是一场本可通过简单设置避免的灾难。
我的评论:此类事件源于对自动化过度信任而缺乏充分测试。在一个错误代价高达数万美元的市场中,忽视基本检查是不可接受的。始终设置限额,并记住:协议不会保护你免受自身疏忽之害。