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

浏览次数: 63 快讯区域: 全国
有效期至: 长期有效 发布时间: 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