当前位置: 资讯 > 正文

新研究报告:全网20%算力就能攻击比特币网络?

币圈APP下载

欧易APP下载

注册欧意(okx)交易所,即可领取价值6万元盲盒奖励!

APP下载  欧易注册

作者: Chaosmos

来源: 币新区块

 

一份新研究报告认为,利用区块链拒绝服务攻击 (BDoS: Blockchain Denial of Service),恶意矿工只需要控制全网20%的算力就能使比特币网络停止运转。报告作者来自康奈尔大学和以色列理工合作成立的研究机构 IC3 (The initiative for cryptocurrencies and contracts)。

 

攻击方法?

新研究报告:全网20%算力就能攻击比特币网络?

攻击者挖出一个块,然后只公布区块头。研究者认为,这时候矿工有三个选择:一、不理这个区块头,继续挖主链;二、因为不确定块里有哪些交易,先挖一个空块;三、停止挖掘。

研究者认为,攻击者可以制造不确定性,让矿工停止挖掘。具体方法是:

新研究报告:全网20%算力就能攻击比特币网络?

如果矿工选择不理这个区块头,继续挖主链(防守块),那么攻击者就快速广播与区块头对应的完整块(攻击块)。因为点对点网络里每个节点的网络连通性不一致,有的节点会先收到攻击块,有的节点会先收到防守块。研究者认为,这会导致两组矿工博弈,主链分叉。

假设防守块Bi输掉,不被包含在主链中。这时,挖防守块的矿工损失掉一个区块收益。

挖进攻块BA的矿工,本来可以获得区块收益,但是攻击者可以不发送完整的BA块,让这个块不能上主链,这样挖进攻块BA的矿工也损失掉一个区块收益。

研究者得出的结论是,不管矿工挖防守块还是进攻块,攻击者都可以让矿工拿不到收益,所以矿工最好的选择就是关机不挖。所以,这个攻击可以让比特币网络停机。

 

行得通吗?

 

就这个问题采访了鱼池创始人神鱼:

作为一个矿池,如果在只收到区块头的情况下,在没有验证交易合法性的情况下,我不会去跟着挖。因为如果这个区块是有问题的,在他后面跟着挖等于是浪费我的算力。

在现实情况下,如果一个高度上存在两个区块,一个区块只公布了区块头,另一个区块公布了交易数据,虽然可能公布交易数据的区块时间上晚一点,但大家还是会去优先认可这个公布了交易数据的块。如果一个矿池恶意去只公布区块头,不公布数据,它这个块被拒绝的风险很大,会损失掉确定性的区块收益。

除非我是同一个实体控制的矿池,或者是联盟,这时候我挖到一个块,为了速度更快,先把区块头传回来自己挖,默认这个区块是合法的。这时这个攻击等同于自私挖矿攻击,它只广播区块头,等同于不广播区块的攻击。因为我如果不是跟他联盟,我也不敢在后面跟着挖。

 

解读

研究人员的假设是,攻击者公布区块头后,可以成功吸引到足够的矿工去跟着攻击块挖矿。

现实情况是,如果只公布一个区块头,这个区块大概率被拒绝,攻击者损失掉一个区块收益,矿工跟着先公布整个区块的块继续挖,这个攻击不能威胁比特币网络。

币圈APP下载

欧易APP下载

注册欧意(okx)交易所,即可领取价值6万元盲盒奖励!

APP下载  欧易注册
免责声明:文章不代表币圈财经网观点及立场,不构成本平台任何投资建议。投资决策需建立在独立思考之上,本文内容仅供参考,风险自担!
本文链接:http://www.bqcjw.com/read/3926.html
币圈APP下载

欧易APP下载

注册欧意(okx)交易所,即可领取价值6万元盲盒奖励!

APP下载  欧易注册