区块链中的分割攻击解析

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

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

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

 区块链中的分割攻击解析_设计制作_MEMS/传感技术

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

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

 区块链中的分割攻击解析_设计制作_MEMS/传感技术

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

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

 区块链中的分割攻击解析_设计制作_MEMS/传感技术

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

 区块链中的分割攻击解析_设计制作_MEMS/传感技术

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

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

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

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

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

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

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

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

那么,利用树图结构,我们是否有能力去探测这种攻击呢?探测到这种攻击以后,又有什么应对方式呢?我们将在未来几期讲解。

来源: Conflux中文社区

51
62
0
17

相关资讯

  1. 1、盛大游戏代理NEXON手游《军团之光》预约开启1325
  2. 2、《马踏千军》突骑技能解读一杆长枪肆意3430
  3. 3、腾讯“未来游戏制作人获奖作品”新鲜出炉1512
  4. 4、《忍者萌剑传》猴年送惊喜元宵节福利大派送4193
  5. 5、《刀锋无双》2.0新版本震撼公会跨服之战登场3308
  6. 6、ChinaJoy“三国杀”女仆服务全攻略3565
  7. 7、《螺旋境界线》谨贺新年新元节活动开启3959
  8. 8、《大掌门》奇门遁甲二十八星宿来自桃花岛3500
  9. 9、《魔力宝贝》手游周年庆开幕新版亮点全解析2084
  10. 10、《荣耀大陆》副本激爽挑战开城剿匪揍英雄3230
全部评论(0)
我也有话说
0
收藏
点赞
顶部