主页 > 什么是imtoken钱包 > 可以使用交易垃圾邮件攻击使比特币地址无效

可以使用交易垃圾邮件攻击使比特币地址无效

什么是imtoken钱包 2023-05-17 05:24:04

第0章简介

你有没有想过可以通过交易垃圾邮件攻击使地址无效?

这是我遇到的真实案例。

第一章 一个金融项目引发的尴尬

朋友参与了李笑来的比特莎银行理财,存入一个币,每天收到0.0001BTC的利息。 保存数年。

Bitsha项目很有意思,它使用比特币地址作为账户。 您使用您持有私钥的地址向Bitsha的充值地址转账,利息将每天自动发送至您的地址。 而你只需要将一定数量的比特币发送到存款地址进行提现,银行就会将交易金额的1000倍返还到你的地址。 当然,您的取款金额不能超过存款金额。

比特币钱包注册网址_比特币挖矿网址_比特币网址链接

这位朋友几年来每天收到0.0001 BTC的比特币。 截至昨天,他的地址中有1830个0.0001的UTXO。 (为了描述方便,忽略了该地址部分不是0.0001BTC的收据,所以具体数据不是1830 UTXO,但不影响整篇文章的逻辑)

然后前天他决定提现,他转了0.001BTC到存款地址,银行还给他1BTC。

结果是他的地址里有1833笔历史交易,总余额1.183 BTC,但是UTXO却有1831笔之多。

现在他想把钱转到交易所卖掉。 原来他出不去了。

他使用的钱包是 blockchain.info。 使用此钱包发送比特币时,只能按照地址UTXO的时间顺序进行消费,先到的UTXO先消费。

比特币钱包注册网址_比特币网址链接_比特币挖矿网址

也就是说,如果他要发送0.0001 BTC,blockchain.info钱包会构造一笔交易,这笔交易的输入是最早的利息。 如果他要发送1BTC,blockchain.info钱包会构造1831个输入和两个输出,即钱包不会直接使用他收到的1BTC余额作为输入比特币网址链接,而是会从最早收到的0.0001BTC利息开始计算补足余额,直到1831年收集到Input补足1.183BTC,然后发送出去,再换回来0.183BTC,这里没有扣矿工费。

1832个输入构造的交易量会大于1M,超过区块上限,所以构造这个是不可能的。

而且你知道,比特币区块现在太拥挤了。

如果要构造一个0.0001BTC的UTXO作为输入交易,结果是手续费不够,根本无法发送。 如果您以较低的挖矿费用构建交易,则永远不会被确认。

所以我朋友的余额1.183 BTC在blockchain.info的判断下是一个完全不能花的币种。 如果你选择普通矿工费,钱包是不允许你发送的,因为你根本花不掉。 只有用户定义了手续费,才可以在10sat/byte以下发送手续费。

比特币钱包注册网址_比特币挖矿网址_比特币网址链接

第二章通过构造垃圾交易清除1830个0.0001BTC的UTXO

这位朋友向我求助。 他告诉了我钱包账号和密码。

查了半天,发现了上面说的逻辑。

我第一个想到的办法是导出私钥,然后导入比特币全节点钱包,使用createrawtransaction命令专门构造选择的UTXO发出1BTC币,其他0.0001BTC不需要等,展开后我们来做。

但是我发现blockchain.info是HD钱包,导出的密码是12位密码。 我的全节点钱包不支持HD钱包。

比特币挖矿网址_比特币网址链接_比特币钱包注册网址

那么我只好采用第二种方法——使用零手续费垃圾交易,将地址UTXO列表中的1830笔0.0001BTC UTXO清空,只留下最后1BTC UTXO,然后就可以正常发送1BTC交易了。

我用零手续费构造了一笔250笔输入,一笔输出,每次交易金额为0.025BTC的交易。 每笔交易的大小高达44.914Kb。 (对不起,比特币网络,我发送了五个垃圾交易)

最后比特币网址链接,当这个地址还剩1.018 BTC时,我构造了一笔手续费为0.0013 BTC的交易,两个Inputs和一个Output。 并要求矿池提速。 最后,我成功取回了1.018BTC币。 拿了一些矿工费,送到交易所,最后卖了19600多块钱。

第三章 原来李先生的自动化理财银行会制造这么多垃圾交易

我们经常可以在网上看到大量0.0001BTC的交易。 起初,我想知道,这些交易有什么意义? 他们故意发起垃圾邮件交易来攻击比特币网络。

比特币钱包注册网址_比特币网址链接_比特币挖矿网址

现在我知道了,原来这些“垃圾交易”可能是自动化理财项目发出的利息。

而且,这些利息的数额太少了。 现在区块都这么堵了,这么小的币根本用不上。 并且钱包默认按照UTXO的时间顺序构造交易,结果就是这些权益都是死币,除非扩容成功。

我上面构造的几笔250输入的交易,0手续费,注定无法确认。 现在我去btc.com查看,也找不到这些交易,因为btc.com已经把它们踢出内存池了。 但 blockchain.info 仍然可以找到。

这些垃圾币最后肯定会回到我朋友的地址,但是除非扩容成功,否则就没有用了。

第四章结语

不知道现在比特莎存币是不是太多了。 如果有的话,那李先生的银行每天要制造多少垃圾交易啊!

(为了不暴露隐私,我就不提供这些朋友的地址了)