作者:Tal Be'ery,ZenGo联创兼CTO | 编译:金色财经小奏 最近比特币网络上演了一出令人毛骨悚然的"抢钱大战"——一群潜伏在区块链深处的机器人,就像黑暗森林里的猎手,专门捕食那些使用不安全地址的交易。说实话,当我第一次发现这个现象时,后背直冒冷汗。 这件事要从11月23日那笔震惊币圈的天价交易说起。有人居然为了一笔价值200万美元的转账,支付了83个比特币(约300万美元)的手续费!表面看这像是个手滑输错数字的低级错误,但我们的调查发现,背后隐藏着一个更加精密的犯罪网络。 一场价值百万的数字围猎记得2020年那篇轰动业界的《以太坊是一片黑暗森林》吗?当时大家都以为这种"内存池狙击"只存在于以太坊。但事实证明,比特币网络中同样潜伏着这样的"数字食人鱼"。更可怕的是,它们可能存在于所有主流公链之中。 受害者最初在推特上声称自己是被黑客攻击了,还拿出了数字签名作为证据。但当我们用mempool.space这样的区块浏览器深挖这笔交易时,发现了很多蹊跷之处: 首先是这个"父子支付"(CPFP)的细节——超额手续费交易居然是冲着另一笔未确认交易来的。更诡异的是,手续费正好占总金额的60%,这可不是手滑能解释的。再加上RBF(费用替换)功能的禁用,一切都指向一个精心设计的自动化抢劫系统。 三种可能性,一个真相我们团队当时提出了三种假设: 第一种可能是用户真的手抖输错了数字。但这解释不通为什么会有这么精确的60%费用比例,以及复杂的技术操作。 第二种可能是私钥被盗。但RBF竞争这个细节说明知道这个私钥的不只一方。 最后我们想到了最惊悚的可能性——这些地址的私钥本身就是可预测的!想象一下,如果有人用"Brian-wallet"这种弱密码生成私钥,或者使用32位这种过小的随机数,黑客就能批量生成这些"预测地址"。只要资金进入这些地址,潜伏的机器人就会立即发动攻击。 钓鱼实验:10美元引发的血案为了验证这个疯狂的想法,我们决定做个实验。在Ian Coleman的工具网站上,我们故意生成了一个熵值只有1的"弱鸡私钥"(生成的助记词基本上都是"abandon"这个词)。然后把10美元打到了这个地址bc1q4jgysxyym8yvp6khka878njuh8dem4l7mneyefz。 结果让人不寒而栗——不到一分钟,就有人用5美元手续费(50%费率!)把这笔钱转走了。更精彩的是,我们还目睹了四个机器人之间的RBF竞价大战,最高出到了9.87美元,简直是要把猎物生吞活剥的架势。 钱包安全的致命盲区这件事暴露了加密货币领域一个长期被忽视的安全隐患——私钥生成的质量问题。大多数用户根本不会想到,他们使用的钱包可能在用不够随机的方式生成私钥。更可怕的是,用户根本无从验证自己私钥的随机性。 这让我想起了网络安全领域的一句老话:最危险的安全漏洞,往往存在于那些被认为理所应当的地方。在这个案例中,看似基础的私钥生成机制,反而成为了整个系统中最脆弱的环节。 要解决这个问题,可能需要从根本上重新思考钱包的架构设计。也许我们需要引入多方计算等技术,通过增加参与方来分散风险。毕竟在数字资产的黑暗森林里,单打独斗实在是太危险了。 |