Author

Topic: Mt Gox公布比特币Bug始末 (Read 642 times)

sr. member
Activity: 476
Merit: 250
全球O2O消费商
February 10, 2014, 10:19:01 PM
#1
http://www.bitcoin86.com/news/2420.html

Mt Gox昨日解释其暂停支付原因。他们的工程师在比特币的钱包代码中发现一个基础性的BUG,使攻击者有能力让已经完成的转账看起来像是转账失败,从而诱骗他人或者兑换所再次进行转账,从而得到多次进账。

这个BUG的名字是transaction malleability。据信比特币核心开发者早已经知道这个BUG。其原理是,比特币每次转账都会把转账信息合成一个HASH然后添加到Block Chain内。Block Chain就是所有矿工一起维护的包含整个比特币网络所有资金和所有转账信息的块链条。虽然转账钱包的数字签名无法伪造,但是如果攻击者拥有低延迟的网络,却能在真实的HASH上传到网络上之前,快速上传一个包含相同转账信息,但是却不同的转账HASH值。钱包的数字签名能通过验证完成了转账,但是出账人用他手中的转账HASH无法在Block Chain中核实到自己的转账信息,从而以为自己没有转账成功。

据Mt Gox所说,这种攻击方法成功需要运气和与矿池连接的高速网络。但他们发现攻击者不停地转出资金,同时试图伪造转账Hash。如果攻击失败,他们又会把钱存回到兑换所,然后再取款尝试一次,直到成功。一旦成功,攻击者就会写信给Mt Gox,宣称转账没有成功,要求赔偿。而对于大的兑换所,唯一核实某年某月转账是否成功的方法,就是用当时的转账HASH去Block Chain中进行搜索。而Block Chain中的Hash已经被攻击者伪造,所以兑换所发现HASH不存在,以为自己转账失败,从而对攻击者再次补偿支付一次。

此漏洞已经被Bitcointalk证实。此漏洞不会造成双花(多次花费同一笔钱),对个人影响不大。因为个人钱包大家都是用头脑和数字变化来记账。不同于大型机构和兑换所使用的HASH值记账验证方式。

MT GOX同时警告所有其他的兑换所,因为此漏洞影响所有的大型比特币存取机构。同时所有使用类似代码的山寨币(几乎全部都是),都会受到这个BUG的影响。

比特币开发者已经有了修复方案。但需要对比特币网络进行较大改动来添加一行新的转账HASH。据信完全解决此问题需要一段时间。

因此消息,比特币于昨日傍晚再次大跌。
Jump to: