最重链规则缺陷:你的主链我做主

浏览次数: 95 快讯区域: 全国
有效期至: 长期有效 发布时间: 2019-09-11 19:22
详细内容留言咨询
在上一期,我们为大家讲述了通过对最重链规则进行“平衡攻击”,从而阻止新的诚实交易被确认的方法。

在本期中,我们将讲述另一种攻击方式,我们称为“分割攻击”。这种攻击方式目前没有见其他地方公开提到过,是 Conflux 在分析“最重链规则”的安全性时发现的。

在上一期介绍平衡攻击的时候,我们提到,攻击者将诚实的节点分割成 2 个算力均等社区,利用其对网络的控制能力,让 2 个社区的诚实节点在不同的子树下挖新的区块,从而产生两个差不多大的子树。

本期所讲的攻击方式,在最开始的时候与平衡攻击类似,也是将诚实的节点分割成若干个算力差不多的社区,每个社区在不同的子树下挖区块。这里我们以分割成 3 个社区为例。

(图中每一个红色圆圈代表一个的区块,攻击者让3个社区的诚实节点分别在右侧 3 个不同的子树下贡献算力)

与此同时,攻击者会在 3 个区块的父亲区块(上图中左上侧的圆圈)后面再生成一个区块,并在这个区块下面挖块。一段时间之后,区块之间的结构如下图所示。(这里我们假设攻击者占 40% 全网总算力。)

(图中方框代表在一段时间内新生成的一些区块。其中虚线表示坏人藏起来没有广播区块。蓝色表示好人生成的区块)

与平衡攻击不同,攻击者并不打算让 3 个好人社区为这 3 棵子树谁更重争执下去。相反,攻击者让之前被藏起来的孩子成为最重的孩子。

之后,攻击者如法炮制,重复上述这个过程。

在每一轮中,如果好人平均生成 30 个区块,那么每棵子树下平均有 10 个区块。

攻击者只需要广播 11 个区块(可能会因为随机性略多一些)就可以完成自己的目的。而在同一时间,攻击者可以新生成 20 个区块。

这样攻击者藏的链就会越来越长。而且,这条链上的每一个区块最终还会成为所有诚实节点所认可的主链。也就是说,攻击者用藏了很久的区块控制了主链。

如果一个区块被攻击者藏了很久,后来又成为了所有诚实节点所认可的主链。这是一件非常可怕的事情,攻击者可能已经在这个区块的子树中藏了足够多的区块,它可以在任何时刻将这些藏起来的区块广播出来,形成一棵权重很大的子树,用来打败好人的子树。

这样,如果好人子树中有交易已经被确认,那么这些被确认的交易就会被逆转。也就是说,攻击者完成了“双花攻击”。

幸运的是,一个区块是不是被藏了很久,虽然在最重链规则下很难判断,但结合“树图结构”后,我们有能力去发现那些被藏了很久的主链区块。

如果我们相应地推迟这个区块之后交易的确认,就可以避免被“双花”。

但是,这会带来另一个问题,就是交易迟迟无法确认。总的来说,在合理的确认规则之下,“分割攻击”只能够做到“存活性攻击”。

那么,利用树图结构,我们是否有能力去探测这种攻击呢?探测到这种攻击以后,又有什么应对方式呢?

广告

區塊鏈新創 Blockstack PBC 共同創辦人兼執行長 Muneeb Ali 昨(10)日在部落格文章中寫道,Blockstack 代幣發售目前已成功募得 2,300 萬美元。Ali 表示,2,300 萬美元可分成兩個部分,其中包括:透過美國《聯邦證券法》下的豁免規定 Reg A+ 發售代幣籌得 1,500 萬美...

据Cointelegraph援引路透社9月11日的报道,Facebook正在为其稳定币项目Libra寻求瑞士金融市场监管局(FINMA)的支付系统许可。(图片来源:pixabay)“规范、低摩擦、安全性高”的区块链支付在今天的一份官方声明中,在瑞士注册的Libra Association解释了它选择与瑞...

该企业最新区块链快讯
 
区块联盟媒体主
推荐资讯
最新区块链问答
最新区块链快讯
天花之家 |  木门之家 |  灯具之家 |  铁艺之家 |  幕墙之家 |  屏风头条 |  隔断头条 |  灯饰之家 |  家具之家 |  吊顶之家 |  电气之家 |  水泥之家 |  博一网 |  区快洞察 |  家电之家 |  老姚之家 |  建材头条 |  深圳建材  |  揭阳建材  |  香港建材  |  佛山建材  |  福田世纪  |  广州建材  |  东莞建材  |  惠州建材  |  潮州建材  |  汕头建材  |  珠海建材  | 
建材 |  区块链 |  区链通 |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图 | 排名推广 | 广告服务 | 积分换礼 | RSS订阅 | sitemap |
Powered by www.qk07.com