1. 链一财经首页
  2. 资讯

中本聪担心的问题终于发生了,比特黄金遭遇双花攻击!

中本聪担心的问题终于发生了,比特黄金遭遇双花攻击!

据媒体报道,上周一名恶意矿工以获得了51%的算力支持的方式对比特币黄金(BTG)网络成功实施了双花攻击,并谋取了暴利。

自5月16日以来,一个比特币黄金账户收到了超过38.8万的比特币黄金。经推测,攻击者已经从各个交易所中偷来了价值约1860万美元的资金。最后一笔交易发生在5月18日。如果攻击者还拥有足够算力的话,不排除攻击还会发生的可能。

目前,比特币黄金是第27大加密货币,流通市值为50亿人民币。比特币黄金通讯部门负责人Edward Iskra早在北京时间5月18日20:51分在比特币黄金的官方论坛发表公告,提醒各个交易所加强审核,特别是一些大额的交易。他还指出,此次攻击对个人用户和持有的基金来说没有影响。

中本聪担心的问题终于发生了,比特黄金遭遇双花攻击!

比特黄金创始人廖翔回应称:目前有能力做这些事情的只有市面上几家较大的公司。很明显他怀疑同行相杀。比特币黄金公司正在准备收集证据向FBI报案。

没想到中本聪在比特币白皮书中担心的双花问题,终于在现实中发生了。

什么是双花?

中本聪在《比特币白皮书》第五小节网络中,是这样说的:

运行该网络的步骤如下:

1,新的交易向全网进行广播;

2,每一个节点都将收到的交易信息纳入一个区块中;

3,每个节点都尝试在自己的区块中找到一个具有足够难度的工作量证明;

4,当一个节点找到了一个工作量证明,它就向全网进行广播;

5,当且仅当包含在该区块中的所有交易都是有效的且之前未存在过的,其他节点才认同该区块的有效性;

6,其他节点表示他们接受该区块,而表示接受的方法,则是在跟随该区块的末尾,制造新的区块以延长该链条,而将被接受区块的随机散列值视为先于新区块的随机散列值。

节点始终都将最长的链条视为正确的链条,并持续工作和延长它。如果有两个节点同时广播不同版本的新区块,那么其他节点在接收到该区块的时间上将存在先后差别。当此情形,他们将在率先收到的区块基础上进行工作,但也会保留另外一个链条,以防后者变成最长的链条。该僵局(tie)的打破要等到下一个工作量证明被发现,而其中的一条链条被证实为是较长的一条,那么在另一条分支链条上工作的节点将转换阵营,开始在较长的链条上工作。

所谓“新的交易要广播”,实际上不需要抵达全部的节点。只要交易信息能够抵达足够多的节点,那么他们将很快被整合进一个区块中。而区块的广播对被丢弃的信息是具有容错能力的。如果一个节点没有收到某特定区块,那么该节点将会发现自己缺失了某个区块,也就可以提出自己下载该区块的请求。

好了,有了上面这个基础,我们来举例说明一下,在比特币网络中,双花如何发生的?

在数字化货币系统中,由于数据的可复制性,使得系统可能存在同一笔数字资产因不当操作被重复使用的情况,这也称之为双花。

通俗的理解,“双花攻击”(double spend attack)又叫“双重消费攻击”。就是一笔资金,通过某种方式(有可能是欺骗的手段或者支付系统bug问题)被花费了两次,取得了超过该笔资金的服务。

可以举个简单的例子。我用1个比特币同时发出2笔交易:一笔买杜蕾斯交易a, 一笔买冈本交易b。一些挖坑节点接受了交易1,一些接受了交易2,记账节点A把交易1打包进区块延伸了链,后面又有一个记账节点给予前面的记账节点A的链有延伸了一个区块。这条链是最长的链。ok 商家确认了交易a。我拿到杜雷斯。过了30分钟,有个超级nb的量子计算机哥们以交易b构造的区块后面还加了6个区块。成为目前最长的链。so 冈本也可以拿回家。你们说这算不算双花。

双花简单一点说就是花两次。双花是如何实现的呢?这分为两种情况:

1,在1确认前的双花。这个因为原理,0确认的交易本来就可能最后没有写入区块链。除非小额,最好至少等一确认即可规避此类双花。另外用链下钱包也可以,可秒速。

2,确认后的双花。这个就要控制超50%的算力才能实施了。即类似于一个小分叉,将给一个商店的交易给放入孤立区块中。这种确认后双花,很难实施,目前好像还没有任何此类双花的案例,只是存在在理论上可行。

出现双花问题怎么解决呢?

小蚁CEO达鸿飞给出了这样的解决方案:

首先,要检查这笔钱是不是没有被花费过。方法是查看你的这笔交易的来源是否在UTXO(未花费交易列表)中。不需要追溯到挖矿挖出的coinbase交易。

然后要看你提交的交易里有没有包含有效鉴权。如果这笔钱之前是通过P2PKH交易付给你的,那就是看交易里有没有这笔钱所在地址的对应私钥的签名。P2SH、P2MS类型的交易的鉴权规则类似。

如果你用同一笔UTXO构造了两笔分别付给A和B的交易。那么bitcoin-core客户端的规则只转发先侦听到的那个。但至于哪笔交易会被包含进未来区块,则取决于矿工。

矿工的挖矿程序一般是定制开发的,矿工可以自主任意选择这两笔交易里的一笔。比如有的矿工会选择先看到的交易,有的矿工会选择交易手续费更高的那个。

当这两笔相矛盾的交易中的一笔被写入区块链,并且深度达到6后(6个确认后),可以认为这笔交易获得了最终的确认。等待6个确认的情况下,比特币是几乎绝对不可能被双花的。一个确认都不等待,则有相当的可能被双花攻击。通常,3个确认已经相当安全。


文章原标题:中本聪担心的双花问题终于发生了,比特黄金遭遇双花攻击!  原作者: 内参君

根据国家《关于防范代币发行融资风险的公告》,大家应警惕代币发行融资与交易的风险隐患。

本文来自LIANYI转载,不代表链一财经立场,转载请联系原作者。

发表评论

登录后才能评论

联系我们

微信:kkyves

邮件:kefu@lianyi.com

时间:7x24,节假日bu休息

QR code